Scan command line arguments to handle any compiler switches.
Scan command line arguments to handle any compiler switches.
Test a target tree by collecting together its IntDatum leaves and checking the resulting sequence of integers to see if it contains an expected sequence of integers as a slice.
Flag to decide whether to sanitise the output before comparison of test results with expected results (see sanitise method).
Flag to decide whether to sanitise the output before comparison of test results with expected results (see sanitise method). Default is true; override with false if you want actual results compared.
Make tests that process the files in path.
Make tests that process the files in path. name is an identifying name for this set of tests. All files whose names end in srcext are processed. Processing is done by the function compile which must return either Some (s) where s is the output or None if processing failed. If srcext is .x and resext is .y, then the expected result for foo.x is found in file foo.y. If optinext is Some (z), then foo.z is used for standard input, if it exists, otherwise the string indefault is used. A test fails if either the processing fails or it succeeds with the wrong result. argslist is used to specify the sets of command-line arguments that you want to use. Each test is run with each set of arguments. The default is an empty argument list.
Function to process the input that was parsed.
Function to process the input that was parsed. console and emitter are used for input and output. Return true if everything worked, false otherwise.
(Changed in version 2.9.0) The p0 call-by-name arguments is evaluated at most once per constructed Parser object, instead of on every need that arises during parsing.
Sanitise the output.
Sanitise the output. At the moment this means make any Windows line endings appear in Unix style instead. This allows for either program or test output to use either line ending style, but tests will still pass. This will clearly break any tests where the actual line endings matter.
The following flags correspond to the command line arguments
The following flags correspond to the command line arguments
Method to compile an Obr program and to apply a specified test to the resulting target tree.
The usage message for an erroneous invocation.
The usage message for an erroneous invocation.
(Since version 2.10.0) lastNoSuccess was not thread-safe and will be removed in 2.11.0
(Since version 2.10.0) lastNoSuccess was not thread-safe and will be removed in 2.11.0
A driver which compiles a file and allows a test to be run on the resulting target tree.