X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f22fa286e259aad98dd2e0e37e39fa7e89151ae4..ab3b0dcebcadbe3da395e9e8f73aefadb88b3924:/tools/tesh/README.tesh diff --git a/tools/tesh/README.tesh b/tools/tesh/README.tesh index 5eb44e87c8..f463dae272 100644 --- a/tools/tesh/README.tesh +++ b/tools/tesh/README.tesh @@ -25,6 +25,13 @@ blank and is ignored): 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 --------- @@ -48,10 +55,26 @@ errors such as the following: $ cd toto > TOTO - $ cat > file + $ mkfile file TOTO will be passed to the cd command, where the user clearly want to pass it -to cat. +to the mkfile buildin command (see below). + +Stream redirection +------------------ +Stream redirections (">", "<" and "|" constructs in sh) are not +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, +as in the following example: +$ mkfile myFile +> some content +> to the file + +This will create a file called myFile (first argument of the mkfile +command). Its content will be all the input provided to the command. RETURN CODE ----------- @@ -89,6 +112,28 @@ By default, the commands output is matched against the one expected, 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 20 first lines 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? ENVIRONMENT -----------