Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
a1a203267a1da7e6c071f5b1eab666041539956f
[simgrid.git] / tools / tesh2 / examples / keep-going.tesh
1 #! ./tesh\r
2 \r
3 D this Tesh unit tests the option of the command line `--keep-going'\r
4 \r
5 < #include <stdlib.h>\r
6 < #include <stdio.h>\r
7 <  \r
8 < int\r
9 < main(int argc, char* argv[])\r
10 < {\r
11 <       printf("Hello Tesh\n");\r
12 <       \r
13 <       return EXIT_SUCCESS;\r
14 < }\r
15\r
16 $ cat > job.c\r
17 \r
18 $ gcc -o job job.c\r
19 \r
20  \r
21 < ! expect return 1\r
22 < > Hello Tesh\r
23 < $ ./job\r
24\r
25 < ! expect return 0\r
26 < > Hello Tesh\r
27 < $ ./job\r
28\r
29 < ! expect return 0\r
30 < > Hello Tesh\r
31 < $ ./job\r
32\r
33 < ! expect return 0\r
34 < > Hello Tesh\r
35 < $ ./job\r
36\r
37 < ! expect return 0\r
38 < > Hello Tesh\r
39 < $ ./job\r
40 $ cat > file1.tesh\r
41 \r
42 < ! expect return 0\r
43 < > Hello Tesh\r
44 < $ ./job\r
45\r
46 < ! expect return 0\r
47 < > Hello Tesh\r
48 < $ ./job\r
49\r
50 < ! expect return 0\r
51 < > Hello Tesh\r
52 < $ ./job\r
53\r
54 < ! expect return 0\r
55 < > Hello Tesh\r
56 < $ ./job\r
57\r
58 < ! expect return 0\r
59 < > Hello Tesh\r
60 < $ ./job\r
61 $ cat > file2.tesh\r
62 \r
63 ! expect return $EEXITCODENOTMATCH\r
64 \r
65 # in this case the option `keep-going' is not specified so Tesh detects the error and interrupt all the folowing units.\r
66 $ ./tesh --log='log.thresh:info tesh.fmt:%m%n' file1.tesh file2.tesh\r
67 > Test unit from file1.tesh\r
68 > [file1.tesh:3] ./job\r
69 > [file1.tesh:3] ./job : NOK (returned code `0' instead `1')\r
70 > Output of <file1.tesh:3> so far: \r
71 > ||Hello Tesh\r
72 > ||\r
73 > Test unit `(file1.tesh)' : NOK (exit code mismatch)\r
74 > Test unit from file2.tesh\r
75 > Test unit from file2.tesh INTR\r
76 \r
77 < ! expect return 1\r
78 < > Hello Tesh\r
79 < $ ./job\r
80\r
81 < ! expect return 0\r
82 < > Hello Tesh\r
83 < $ ./job\r
84\r
85 < ! expect return 0\r
86 < > Hello Tesh\r
87 < $ ./job\r
88\r
89 < ! expect return 0\r
90 < > Hello Tesh\r
91 < $ ./job\r
92\r
93 < ! expect return 0\r
94 < > Hello Tesh\r
95 < $ ./job\r
96 $ cat > file1.tesh\r
97 \r
98 < ! expect return 0\r
99 < > Hello Tesh\r
100 < $ ./job\r
101\r
102 < ! expect return 0\r
103 < > Hello Tesh\r
104 < $ ./job\r
105\r
106 < ! expect return 0\r
107 < > Hello Tesh\r
108 < $ ./job\r
109\r
110 < ! expect return 0\r
111 < > Hello Tesh\r
112 < $ ./job\r
113\r
114 < ! expect return 0\r
115 < > Hello Tesh\r
116 < $ ./job\r
117 $ cat > file2.tesh\r
118 \r
119 ! expect return $EEXITCODENOTMATCH\r
120 \r
121 # in this case the option `keep-going' is specified so, Tesh execute all the other units.\r
122 $ ./tesh --log='log.thresh:info tesh.fmt:%m%n' file1.tesh file2.tesh  --keep-going\r
123 > Test unit from file1.tesh\r
124 > [file1.tesh:3] ./job\r
125 > [file1.tesh:3] ./job : NOK (returned code `0' instead `1')\r
126 > Output of <file1.tesh:3> so far: \r
127 > ||Hello Tesh\r
128 > ||\r
129 > Test unit `(file1.tesh)' : NOK (exit code mismatch)\r
130 > Test unit from file2.tesh\r
131 > [file2.tesh:3] ./job\r
132 > [file2.tesh:7] ./job\r
133 > [file2.tesh:11] ./job\r
134 > [file2.tesh:15] ./job\r
135 > [file2.tesh:19] ./job\r
136 > Test unit from file2.tesh OK\r
137 \r
138 $ rm -f file1.tesh\r
139 \r
140 $ rm -f file2.tesh\r
141 \r
142 $ rm -f job\r
143 \r
144 $ rm -f job.c