]> Repositorios git - scryer-prolog.git/commitdiff
more tests
authorBennet Bleßmann <[email protected]>
Sun, 27 Jul 2025 18:36:07 +0000 (20:36 +0200)
committerBennet Bleßmann <[email protected]>
Fri, 1 Aug 2025 18:49:03 +0000 (20:49 +0200)
src/lib/process.pl
tests/scryer/cli/src_tests/process.md

index 6f293179c1fd3e6814748386a576660e41842b7b..b754c331b9c8b12af4f340c052ec5e5d2538cfbb 100644 (file)
@@ -71,9 +71,7 @@ process_create(Exe, Args, Options) :-
 %
 process_id(Process, Pid) :-
     valid_process(Process, process_id/2),
-    write(valid), nl,
     must_be(var, Pid),
-    write(var), nl, 
     '$process_id'(Process, Pid).
 
 %% process_wait(+Process, Status).
@@ -143,7 +141,9 @@ must_be_known_options(Valid, Options, Domain, Context) :- must_be_known_options_
 
 must_be_known_options_(_, _,  [], _, _).
 must_be_known_options_(Valid, Found, [X|XS], Domain, Context) :-
-    functor(X, Option, 1),
+    ( functor(X, Option, 1) -> true
+    ; domain_error(Domain, Option , Context)
+    ) ,
     ( member(Option, Found) -> domain_error(non_duplicate_options, Option , Context)
     ; member(Option, Valid) -> true 
     ; domain_error(Domain, Option, Context)
index 76f8b3e4918e5fa1544c67f812e075aec56b9d0c..39a955da294ab9e5d312b3c6b49024880af9da9b 100644 (file)
@@ -1,18 +1,24 @@
 ```trycmd
-$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [invalid(_), process(P)]), process_kill(P, _), halt'
-use_module(library(process)),process_create([],[],[invalid(_[..]),process(P)]),process_kill(P,_[..]),halt causes: error(domain_error(process_create_option,invalid),process_create/3)
+$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [invalid, process(P)]), process_kill(P), halt'
+use_module(library(process)),process_create([],[],[invalid,process(P)]),process_kill(P),halt causes: error(domain_error(process_create_option,_[..]),process_create/3)
 
 ```
 
 ```trycmd
-$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [stdin(null), stdin(null), process(P)]), process_kill(P, _), halt'
-use_module(library(process)),process_create([],[],[stdin(null),stdin(null),process(P)]),process_kill(P,_[..]),halt causes: error(domain_error(non_duplicate_options,stdin),process_create/3)
+$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [invalid(_), process(P)]), process_kill(P), halt'
+use_module(library(process)),process_create([],[],[invalid(_[..]),process(P)]),process_kill(P),halt causes: error(domain_error(process_create_option,invalid),process_create/3)
 
 ```
 
 ```trycmd
-$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [env([]), environment([]), process(P)]), process_kill(P, _), halt'
-use_module(library(process)),process_create([],[],[env([]),environment([]),process(P)]),process_kill(P,_[..]),halt causes: error(domain_error(non_conflicting_options,[env([]),environment([])]),process_create/3)
+$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [stdin(null), stdin(null), process(P)]), process_kill(P), halt'
+use_module(library(process)),process_create([],[],[stdin(null),stdin(null),process(P)]),process_kill(P),halt causes: error(domain_error(non_duplicate_options,stdin),process_create/3)
+
+```
+
+```trycmd
+$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [env([]), environment([]), process(P)]), process_kill(P), halt'
+use_module(library(process)),process_create([],[],[env([]),environment([]),process(P)]),process_kill(P),halt causes: error(domain_error(non_conflicting_options,[env([]),environment([])]),process_create/3)
 
 ```
 
@@ -23,7 +29,31 @@ use_module(library(process)),process_wait(pid,_[..],[invalid(_[..]),timeout(0)])
 ```
 
 ```trycmd
-$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [stdin(invalid), process(P)]), process_kill(P, _), halt'
-use_module(library(process)),process_create([],[],[stdin(invalid),process(P)]),process_kill(P,_[..]),halt causes: error(domain_error(stdio_spec,invalid),process_create/3)
+$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_create("", [], [stdin(invalid), process(P)]), process_kill(P), halt'
+use_module(library(process)),process_create([],[],[stdin(invalid),process(P)]),process_kill(P),halt causes: error(domain_error(stdio_spec,invalid),process_create/3)
+
+```
+
+```trycmd
+$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_wait(50, _), halt'
+use_module(library(process)),process_wait(50,_[..]),halt causes: error(type_error(process,50),process_wait/2)
+
+```
+
+```trycmd
+$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_kill(50), halt'
+use_module(library(process)),process_kill(50),halt causes: error(type_error(process,50),process_kill/1)
+
+```
+
+```trycmd
+$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_id(50,_), halt'
+use_module(library(process)),process_id(50,_[..]),halt causes: error(type_error(process,50),process_id/2)
+
+```
+
+```trycmd
+$ scryer-prolog -f --no-add-history -g 'use_module(library(process)), process_release(50), halt'
+use_module(library(process)),process_release(50),halt causes: error(type_error(process,50),process_wait/2)
 
 ```