]> gitweb.factorcode.org Git - factor.git/blob - basis/io/windows/nt/launcher/launcher-tests.factor
d5e77caa198f72bf7b9b4fa2d1666f0db1cd27ac
[factor.git] / basis / io / windows / nt / launcher / launcher-tests.factor
1 IN: io.windows.launcher.nt.tests\r
2 USING: io.launcher tools.test calendar accessors\r
3 namespaces kernel system arrays io io.files io.encodings.ascii\r
4 sequences parser assocs hashtables math continuations eval ;\r
5 \r
6 [ ] [\r
7     <process>\r
8         "notepad" >>command\r
9         1/2 seconds >>timeout\r
10     "notepad" set\r
11 ] unit-test\r
12 \r
13 [ f ] [ "notepad" get process-running? ] unit-test\r
14 \r
15 [ f ] [ "notepad" get process-started? ] unit-test\r
16 \r
17 [ ] [ "notepad" [ run-detached ] change ] unit-test\r
18 \r
19 [ "notepad" get wait-for-process ] must-fail\r
20 \r
21 [ t ] [ "notepad" get killed>> ] unit-test\r
22 \r
23 [ f ] [ "notepad" get process-running? ] unit-test\r
24 \r
25 [ ] [\r
26     <process>\r
27         vm "-quiet" "-run=hello-world" 3array >>command\r
28         "out.txt" temp-file >>stdout\r
29     try-process\r
30 ] unit-test\r
31 \r
32 [ "Hello world" ] [\r
33     "out.txt" temp-file ascii file-lines first\r
34 ] unit-test\r
35 \r
36 [ ] [\r
37     <process>\r
38         vm "-run=listener" 2array >>command\r
39         +closed+ >>stdin\r
40     try-process\r
41 ] unit-test\r
42 \r
43 [ ] [\r
44     "resource:basis/io/windows/nt/launcher/test" [\r
45         <process>\r
46             vm "-script" "stderr.factor" 3array >>command\r
47             "out.txt" temp-file >>stdout\r
48             "err.txt" temp-file >>stderr\r
49         try-process\r
50     ] with-directory\r
51 ] unit-test\r
52 \r
53 [ "output" ] [\r
54     "out.txt" temp-file ascii file-lines first\r
55 ] unit-test\r
56 \r
57 [ "error" ] [\r
58     "err.txt" temp-file ascii file-lines first\r
59 ] unit-test\r
60 \r
61 [ ] [\r
62     "resource:basis/io/windows/nt/launcher/test" [\r
63         <process>\r
64             vm "-script" "stderr.factor" 3array >>command\r
65             "out.txt" temp-file >>stdout\r
66             +stdout+ >>stderr\r
67         try-process\r
68     ] with-directory\r
69 ] unit-test\r
70 \r
71 [ "outputerror" ] [\r
72     "out.txt" temp-file ascii file-lines first\r
73 ] unit-test\r
74 \r
75 [ "output" ] [\r
76     "resource:basis/io/windows/nt/launcher/test" [\r
77         <process>\r
78             vm "-script" "stderr.factor" 3array >>command\r
79             "err2.txt" temp-file >>stderr\r
80         ascii <process-reader> lines first\r
81     ] with-directory\r
82 ] unit-test\r
83 \r
84 [ "error" ] [\r
85     "err2.txt" temp-file ascii file-lines first\r
86 ] unit-test\r
87 \r
88 [ t ] [\r
89     "resource:basis/io/windows/nt/launcher/test" [\r
90         <process>\r
91             vm "-script" "env.factor" 3array >>command\r
92         ascii <process-reader> contents\r
93     ] with-directory eval\r
94 \r
95     os-envs =\r
96 ] unit-test\r
97 \r
98 [ t ] [\r
99     "resource:basis/io/windows/nt/launcher/test" [\r
100         <process>\r
101             vm "-script" "env.factor" 3array >>command\r
102             +replace-environment+ >>environment-mode\r
103             os-envs >>environment\r
104         ascii <process-reader> contents\r
105     ] with-directory eval\r
106     \r
107     os-envs =\r
108 ] unit-test\r
109 \r
110 [ "B" ] [\r
111     "resource:basis/io/windows/nt/launcher/test" [\r
112         <process>\r
113             vm "-script" "env.factor" 3array >>command\r
114             { { "A" "B" } } >>environment\r
115         ascii <process-reader> contents\r
116     ] with-directory eval\r
117 \r
118     "A" swap at\r
119 ] unit-test\r
120 \r
121 [ f ] [\r
122     "resource:basis/io/windows/nt/launcher/test" [\r
123         <process>\r
124             vm "-script" "env.factor" 3array >>command\r
125             { { "HOME" "XXX" } } >>environment\r
126             +prepend-environment+ >>environment-mode\r
127         ascii <process-reader> contents\r
128     ] with-directory eval\r
129 \r
130     "HOME" swap at "XXX" =\r
131 ] unit-test\r
132 \r
133 2 [\r
134     [ ] [\r
135         <process>\r
136             "cmd.exe /c dir" >>command\r
137             "dir.txt" temp-file >>stdout\r
138         try-process\r
139     ] unit-test\r
140 \r
141     [ ] [ "dir.txt" temp-file delete-file ] unit-test\r
142 ] times\r
143 \r
144 [ "append-test" temp-file delete-file ] ignore-errors\r
145 \r
146 [ "Hello appender\r\nHello appender\r\n" ] [\r
147     2 [\r
148         "resource:basis/io/windows/nt/launcher/test" [\r
149             <process>\r
150                 vm "-script" "append.factor" 3array >>command\r
151                 "append-test" temp-file <appender> >>stdout\r
152             try-process\r
153         ] with-directory\r
154     ] times\r
155    \r
156     "append-test" temp-file ascii file-contents\r
157 ] unit-test\r