-
Notifications
You must be signed in to change notification settings - Fork 0
INI Section Test Build
This section is used for providing specific instructions on how to build test suites obtained in the Test Get phase sections. It is similar to the MPI Install phase section. It has both fields and plugin modules.
This field is identical to prepend_path except that the value is appended to path-like environment variables (as opposed to prepending them).
If set, the value a comma-delimited list of names of environment modules (see the environment modules project on SourceForge) to load before installing this MPI. The module(s) will be unloaded when the install phase section has completed. This value will also "carry through" to Test Build and Test Run sections, meaning that when this MPI install is used with test builds or runs, the module(s) will be loaded before the phase section and unloaded after the phase section.
A logical value (0 or 1) indicating whether to keep separate streams of stdout and stderr or merge them together into one stream for reporting purposes.
The name of the module used to build the MPI implementation.
A comma-delimited list of MPI Install sections to use. This is suitable for tests that are specific to a given MPI installation (e.g., based on installation configuration).
See also the skip_mpi_install field (below), which is pretty much the opposite of this field.
Similar to setenv, prepend a path-like environment variable with the value of this field. The original environment variable value is restored after the phase section has completed. This value is also "carried forward" like env_module.
The value of this field is similar in form to setenv: the first token is the environment variable, the remaining tokens are assumed to be the value. For example:
prepend_path = PATH /path/to/some/compiler
This will prepend the value "/path/to/some/compiler" to the PATH environment variable.
The prepend_path field can be specified multiple times in a single section to prepend multiple environment variables.
A logical value (0 or 1) indicating whether the stdout of the installation should be saved if the install succeeds.
Similar to env_module, set an environment variable before executing this phase section. This value is also "carried forward" like env_module.
The value of this field is broken into two parts: the first token is the environment variable name; the second is the value of that environment variable. For example:
setenv = MyVariable a quick brown fox
This translates into setting the ''!MyVariable'' environment variable to the value "a quick brown fox".
The setenv field can be specified multiple times in a single section to set multiple environment variables.
A comma-delimited list of MPI Get sections to skip. This is suitable for tests that are either specific to a given MPI implementation, or are specifically not suited to a given MPI implementation.
Simialr to skip_mpi_get, a comma-delimited list of MPI Get sections to skip. This is suitable for tests that are either specific to a given MPI implementation, or are specifically not suited to a given MPI implementation.
See also the mpi_install field (above), which is pretty much the opposite of this field.
This field represents how many lines of stderr output from the MPI install module to save in the report / database. Values can be:
- Negative: indicating that all lines of stderr should be saved (warning: this can be EXTREMELY expensive in terms of disk space, both on the MTT client and in the back-end database server! Unless you are absoultely sure that you will not have large amounts of output, the use of this value is strongly discouraged!)
- 0: indicating that no lines of stderr should be saved
- Positive: indicating that the final N lines of stderr should be saved
Same as sterr_save_lines but applied to the stdout generated by the MPI install module.
A comma-delimited list of Test Get sections that this Test Build section is eligible to install.
Similar to setenv, unset an environment variable before executing this phase section. The original environment variable value is restored after the phase section has completed. This value is also "carried forward" like env_module.
The value of this field is the name of the environment variable to unset.
The unsetenv field can be specified multiple times in a single section to unset multiple environment variables.
This module is specially forumlated to build the Intel/ANL test suite as it exists in the Open MPI (non-public) test repositoy. It will not build the Intel/ANL test suite as it was available in its original form.
Buildfile in the OMPI tests intel-tests repository that contains the list of tests to build.
Flags to pass to the C compiler when building the tests.
Flags to pass to the Fortran compiler when building the tests.
This module is not currently working; it should not be used.
The shell module is used to effect one or more shell commands to build a test suite.
This field takes the value of one or more shell commands to build a test. For example, a simple one-line build can be effected with:
# The test only requires a single "make" command to build
shell_build_command = make
Or a multi-line command:
# The test requires more than a single command
shell_build_command = <<EOT
./configure CC=mpicc CXX=mpic++ F77=mpif77
make
EOT
The trivial module takes no parameters; it builds its tests with the MPI
wrapper compilers (mpicc
, mpic++
, mpif77
, mpif90
).
Comma separated list of MPI bindings to use for trivial tests (default: c,c++,mpifh,usempi,usempif08
).
Override default mpicc
for Trivial test build
Override default mpicxx
for Trivial test build
Override default mpifort
or mpif77
(whichever is in the path) for Trivial test build.
Override default mpifort
or mpif90
(whichever is in the path) for Trivial test build
Override default mpifort
for Trivial test build
The no operator module which does nothing. It is useful when the test
requires no build step, e.g., running mpirun hostname
. Example usage:
# We don't need to "Get" anything to run the system's hostname command
[Test get: hostname]
module = Noop
# We don't need to "build" anything to run the system's hostname command
[Test build: hostname]
test_get = hostname
Module = Noop
[Test run: hostname]
test_build = hostname
pass = &and(&test_wifexited(), &eq(&test_wexitstatus(), 0))
specify_module = Simple
simple_pass:tests = &which("hostname")