If the expected output do not match what the command spits, TESH will produce
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
+ lauching the tests
+ --setenv var=value: set a specific environment variable
+
IO orders
---------
and an error is raised on discrepency. Metacomands to change this:
"output ignore" -> output completely discarded
"output display" -> output displayed (but not verified)
+ "output sort" -> sorts the display before verifying it (see below)
+
+SORTING OUTPUT
+--------------
+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.
+
+We expect the simulators to run with that log formating 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 beginings 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
+ (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?
+
+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
-----------