(**************************************************************************) (* *) (* OCaml *) (* *) (* Sebastien Hinderer, projet Gallium, INRIA Paris *) (* *) (* Copyright 2016 Institut National de Recherche en Informatique et *) (* en Automatique. *) (* *) (* All rights reserved. This file is distributed under the terms of *) (* the GNU Lesser General Public License version 2.1, with the *) (* special exception on linking described in the file LICENSE. *) (* *) (**************************************************************************) (* Definition of variables used by built-in actions *) (* The variables are listed in alphabetical order *) (* The name of the identifier representing a variable and its string name should be similar. Is there a way to enforce this? *) let arguments = Variables.make ("arguments", "Arguments passed to executed programs and scripts") let cwd = Variables.make ("cwd", "Used to change current working directory, but not updated") let commandline = Variables.make ("commandline", "Specify the commandline of a tool") let exit_status = Variables.make ("exit_status", "Expected program exit status") let files = Variables.make ("files", "Files used by the tests") let make = Variables.make ("MAKE", "Command used to invoke make") let ocamltest_response = Variables.make ("ocamltest_response", "File used by hooks to send back information.") let ocamltest_log = Variables.make ("ocamltest_log", "Path to log file for the current test") let output = Variables.make ("output", "Where the output of executing the program is saved") let program = Variables.make ("program", "Name of program produced by ocamlc.byte and ocamlopt.byte") let program2 = Variables.make ("program2", "Name of program produced by ocamlc.opt and ocamlopt.opt") let promote = Variables.make ("promote", "Set to \"true\" to overwrite reference files with the test output") let reason = Variables.make ("reason", "Let a test report why it passed/skipped/failed.") let reference = Variables.make ("reference", "Path of file to which program output should be compared") let skip_header_lines = Variables.make ( "skip_header_lines", "The number of lines to skip when comparing program output \ with the reference file") let skip_header_bytes = Variables.make ( "skip_header_bytes", "The number of bytes to skip when comparing program output \ with the reference file") let script = Variables.make ("script", "External script to run") let stdin = Variables.make ("stdin", "Default standard input") let stdout = Variables.make ("stdout", "Default standard output") let stderr = Variables.make ("stderr", "Default standard error") let test_build_directory = Variables.make ("test_build_directory", "Directory for files produced during a test") let test_build_directory_prefix = Variables.make ("test_build_directory_prefix", "Directory under which all test directories should be created") let test_file = Variables.make ("test_file", "Name of file containing the specification of which tests to run") let test_source_directory = Variables.make ("test_source_directory", "Directory containing the test source files") let test_pass = Variables.make ("TEST_PASS", "Exit code to let a script report success") let test_skip = Variables.make ("TEST_SKIP", "Exit code to let a script report skipping") let test_fail = Variables.make ("TEST_FAIL", "Exit code to let a script report failure") let _ = List.iter Variables.register_variable [ arguments; cwd; commandline; exit_status; files; make; ocamltest_response; ocamltest_log; output; program; program2; reason; reference; skip_header_lines; skip_header_bytes; script; stdin; stdout; stderr; test_build_directory; test_file; test_source_directory; test_pass; test_skip; test_fail; ]