Changes between Version 17 and Version 18 of TestSuite


Ignore:
Timestamp:
2017-01-20T07:43:44Z (10 months ago)
Author:
peter
Comment:

run subset of test suite cases, add rerun_parallel.pl

Legend:

Unmodified
Added
Removed
Modified
  • TestSuite

    v17 v18  
    3434The test suite includes a Perl script to run all the test cases and then check for problems. It is called '''run_parallel.pl'''. It will use multiple cores to run several test suite cases in parallel, thus considerably reducing the amount of wallclock time needed to run the test suite. The syntax is:
    3535
    36 {{{run_parallel.pl [ <sub-dir> ] [ <#cpu> ]}}}
     36{{{run_parallel.pl [ <sub-dir> ] [ <#cpu> ] (before C17)}}}
    3737
    38 By default, '''run_parallel.pl''' will assume that the Cloudy executable was built in the source directory and use all available cores on your system (provided it can determine that number -- this should work on most systems). If you built Cloudy in one of the subdirectories, you should add the directory name as a first parameter. If you want to use less cores, or the number was determined incorrectly, simply add the number of cores that should be used as a second parameter. Some typical examples are:
     38{{{run_parallel.pl [ <sub-dir> ] [ <#cpu> ] [ <list of input scripts> ] (C17 and later)}}}
     39
     40By default, '''run_parallel.pl''' will assume that the Cloudy executable was built in the source directory, use all available cores on your system (provided it can determine that number -- this should work on most systems) and run all the scripts in the test suite. If you built Cloudy in one of the subdirectories, you should add the directory name as a first parameter. If you want to use less cores, or the number was determined incorrectly, simply add the number of cores that should be used as a second parameter. Some typical examples are:
    3941
    4042'''run_parallel.pl''' (cloudy.exe in source directory, use all available cores)
     
    4951'''run_parallel.pl /path/to/cloudy.exe'''
    5052
    51 '''''BEWARE''''' The '''run_parallel.pl''' script will clean out the test suite (i.e., it calls '''clean_tsuite.pl''') before running the test suite to remove any files that are not part of the distribution. Make sure that you saved any relevant output from a previous run of the test suite before executing '''run_parallel.pl'''! Don't put any of your own files in the test suite directories, create a separate directory for that.
     53Since C17 you can run only a subset of all the available scripts, e.g. like this:
    5254
    53 Starting with the C08 release there are 3 incarnations of the '''run_parallel.pl''' script: '''tsuite/auto/run_parallel.pl''' and '''tsuite/slow/run_parallel.pl''' run the auto or slow test suite only, while '''tsuite/run_parallel.pl''' runs both test suites combined.
     55'''run_parallel.pl . 8 blr*.in'''
     56
     57You can use all shell wildcard characters here. This example will only run input scripts starting with '''blr'''. Note that in this case it is mandatory to supply the directory and the number of cores, even if you want those at the default values.
     58
     59'''''BEWARE: The run_parallel.pl script will clean out the test suite''''' (i.e., it calls '''clean_tsuite.pl''') before running the test suite to remove any files from a previous run. Make sure that you saved any relevant output from a previous run of the test suite before executing '''run_parallel.pl'''! Don't put any of your own files in the test suite directories, create a separate directory for that. Alternatively, since C17 you can use the script '''rerun_parallel.pl''' which works exactly as shown above, except that it does not call '''clean_tsuite.pl'''. This is especially useful if you want to rerun a specific subset of the input scripts, but want to keep the output of the other scripts.
     60
     61Starting with the C08 release there are 3 incarnations of the '''run_parallel.pl''' script: '''tsuite/auto/run_parallel.pl''' and '''tsuite/slow/run_parallel.pl''' run the auto or slow test suite only, while '''tsuite/run_parallel.pl''' runs both test suites combined. The same applies to '''rerun_parallel.pl''' since C17.
     62
     63If running the '''run_parallel.pl''' fails with a message similar to
     64
     65{{{Undefined subroutine &RunService::initialize called at ./run_parallel.pl line 16}}}
     66
     67you may need to install the perl Math::!BigInt module. Mitchell Revalski discovered this problem on Cygwin.
    5468
    5569== Cleaning up the test suite directory ==