Skip to content
Jeff Squyres edited this page Sep 3, 2014 · 1 revision

INI includes (trunk only)

INI files can be factored down using the following two include parameters:

  • include_files
  • include_section

Including an INI file

The include_files parameter can be use to combine INI files. include_files accepts a comma-delimited list of INI files. If the parameters are not specified using an absolute path, they are assumed to be in the same directory as the current INI file. Consider the below (simplified) INI file:

$ cat foo.ini
[MPI install: bar]
module = Bar

$ cat main.ini
include_files = foo.ini

[MTT]
chips = Doritos

[MPI install: foo]
module = Foo

The resulting INI file passed to MTT will be:

[MPI install: bar]
module = Bar

[MTT]
chips = Doritos

[MPI install: foo]
module = Foo

Including an INI section

The include_files parameter can be use to combine INI sections. In the below INI file snippet, all of the Test build sections include the top-level test-build-trivial section. (I have named the top-level test-build-trivial section as such, so that MTT will not attempt to run it as a stand-alone section.)

[test-build-trivial]
prepend_path = @test_build_prepend_path@
test_get = trivial
save_stdout_on_success = 1
merge_stdout_stderr = 1
stderr_save_lines = 100
trivial_tests_cflags = &Sun::get_compiler_flags(@test_bitness@)
trivial_tests_fflags = &Sun::get_compiler_flags(@test_bitness@)
module = Trivial

[Test build: trivial-32]
test_bitness = 32
include_section = test-build-trivial

[Test build: trivial-64]
test_bitness = 64
include_section = test-build-trivial

# Only do C++ for STL section
[Test build: trivial-stlport4]

# Only skip this section if we are not using Sun Studio
skip_section = &if(&ne(&MPI::OMPI::get_mpicc_compiler_name(), "sun"), 1, 0)

include_section = test-build-trivial
trivial_tests_languages = C++
trivial_tests_cflags = &Sun::get_compiler_flags(@test_bitness@) -library=stlport4

# VampireTrace validation
[Test build: trivial-VampirTrace]
include_section = test-build-trivial

# Use the VampirTrace wrapper compilers, instead of
# the plain vanilla MPI wrappers
trivial_tests_mpicc  = mpicc-vt
trivial_tests_mpicxx = mpicxx-vt
trivial_tests_mpif77 = mpif77-vt
trivial_tests_mpif90 = mpif90-vt

Note, in the case of a parameter name collision between an included INI section and an including INI section, the including section takes precedence.