Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Complete tesh documentation.
[simgrid.git] / tools / tesh / README
index 8ae8137..5298b49 100644 (file)
@@ -1,6 +1,6 @@
 This is the TESH tool. It constitutes a testing shell, ie a sort of shell
 specialized to run tests. The list of actions to take is parsed from files
-files called testsuite. 
+files called testsuite.
 
 Testsuites syntax
 -----------------
@@ -8,7 +8,7 @@ Here is the syntax of these files:
 
 The kind of each line is given by the first char (the second char should be
 blank and is ignored):
+
  `$' command to run in foreground
  `&' command to run in background
  `<' input to pass to the command
@@ -28,9 +28,11 @@ an error showing the diff (see OUTPUT below).
 Command line arguments
 ----------------------
 Tesh accepts several command line arguments:
-  --cd some/directory: ask tesh to switch the working directory before
-                       launching the tests
-  --setenv var=value: set a specific environment variable                     
+  --cd some/directory : ask tesh to switch the working directory before
+                        launching the tests
+  --setenv var=value  : set a specific environment variable
+  --cfg arg           : add parameter --cfg=arg to each command line
+  --enable-coverage   : ignore output lines starting with "profiling:"
 
 IO orders
 ---------
@@ -67,7 +69,7 @@ implemented yet in tesh. This is a bit restrictive, but well, patch
 welcome...
 
 The situation in which it is mainly problematic is to create a
-temporary file. The solution is to use the "mkfile" buildin command,
+temporary file. The solution is to use the "mkfile" built-in command,
 as in the following example:
 $ mkfile myFile
 > some content
@@ -95,7 +97,7 @@ spits an appropriate error message (cf. catch-signal.tesh).
 It is also possible to specify that a given command must raise a given
 signal. For this, use the "expect signal" metacommand. It takes the signal name
 as argument. The change only apply to the next command (cf. set-signal.tesh).
+
 TIMEOUTS
 --------
 
@@ -110,7 +112,7 @@ OUTPUT
 
 By default, the commands output is matched against the one expected,
 and an error is raised on discrepancy. Metacommands to change this:
- "output ignore"  -> output completely discarded 
+ "output ignore"  -> output completely discarded
  "output display" -> output displayed (but not verified)
  "output sort"    -> sorts the display before verifying it (see below)
 
@@ -120,26 +122,26 @@ Sorting the output seems to be a strange idea, but it is mandatory in
 SimGrid since the processes run out of order at any scheduling point
 (ie, every processes ready to run at simulated time t run in
 parallel). To ensure that the simulator outputs still match, we have
-to sort the output back before comparing it. 
+to sort the output back before comparing it.
 
-We expect the simulators to run with that log formating argument:
+We expect the simulators to run with that log formatting argument:
    -log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n
 Then, tesh sorts string on the 19 first chars only, and is stable when
 line beginnings are equal. This should ensure that:
  (1) tesh is effective (no false positive, no false negative)
- (2) scheduling points are separated from each other 
- (3) at each scheduling point, processes are separated from each other 
+ (2) scheduling points are separated from each other
+ (3) at each scheduling point, processes are separated from each other
  (4) the order of what a given process says at a given scheduling
      point is preserved.
-     
+
 This is of course very SimGrid oriented, breaking the generality of
-tesh, but who cares, actually?     
+tesh, but who cares, actually?
 
 If you want to change the length of the prefix used for the sort,
 simply specify it after the output sort directive, like this:
 
 ! output sort 22
+
 ENVIRONMENT
 -----------
 You can add some content to the tested processes environment with the