Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
sanitize the use of logs in unit testing of parmap to fix supernovae
[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 (<file1.tesh:3> exit code mismatch)\r
74 \r
75 < ! expect return 1\r
76 < > Hello Tesh\r
77 < $ ./job\r
78\r
79 < ! expect return 0\r
80 < > Hello Tesh\r
81 < $ ./job\r
82\r
83 < ! expect return 0\r
84 < > Hello Tesh\r
85 < $ ./job\r
86\r
87 < ! expect return 0\r
88 < > Hello Tesh\r
89 < $ ./job\r
90\r
91 < ! expect return 0\r
92 < > Hello Tesh\r
93 < $ ./job\r
94 $ cat > file1.tesh\r
95 \r
96 < ! expect return 0\r
97 < > Hello Tesh\r
98 < $ ./job\r
99\r
100 < ! expect return 0\r
101 < > Hello Tesh\r
102 < $ ./job\r
103\r
104 < ! expect return 0\r
105 < > Hello Tesh\r
106 < $ ./job\r
107\r
108 < ! expect return 0\r
109 < > Hello Tesh\r
110 < $ ./job\r
111\r
112 < ! expect return 0\r
113 < > Hello Tesh\r
114 < $ ./job\r
115 $ cat > file2.tesh\r
116 \r
117 ! expect return $EEXITCODENOTMATCH\r
118 \r
119 # in this case the option `keep-going' is specified so, Tesh execute all the other units.\r
120 $ tesh --log="log.thresh:info tesh.fmt:%m%n" file1.tesh file2.tesh  --keep-going\r
121 > Test unit from file1.tesh\r
122 > [file1.tesh:3] ./job\r
123 > [file1.tesh:3] ./job : NOK (returned code `0' instead `1')\r
124 > Output of <file1.tesh:3> so far: \r
125 > ||Hello Tesh\r
126 > ||\r
127 > Test unit `file1.tesh': NOK (<file1.tesh:3> exit code mismatch)\r
128 > Test unit from file2.tesh\r
129 > [file2.tesh:3] ./job\r
130 > [file2.tesh:7] ./job\r
131 > [file2.tesh:11] ./job\r
132 > [file2.tesh:15] ./job\r
133 > [file2.tesh:19] ./job\r
134 > Test unit from file2.tesh OK\r
135 \r
136 $ rm -f file1.tesh\r
137 \r
138 $ rm -f file2.tesh\r
139 \r
140 $ rm -f job\r
141 \r
142 $ rm -f job.c