RunApp Tester

The RunApp Tester is a concrete intermediate base class whose primary purpose is to assemble a list of command line arguments and run a MOOSE-based application. The TestHarness handles figuring out the right name of your application (including the suffix) and passes the correct command line flags to it.

The RunApp Tester does not add any additional behaviors to the processResults method.

Inspecting Multiple Outputs from a single test

Some tests write out multiple files (e.g. ExodusII and CSV). To maintain simplicity the TestHarness does not normally inspect multiple files of different types in a single test. However, it is possible to accomplish this behavior through the use of several parameters controlling whether or not to (re-)execute a particular test file, and whether or not to remove the expected output before the test runs (normally handled by the TestHarness to prevent false-positive tests).

Demonstration of checking two outputs with one test file

[Tests]
  issues = '#7215'
  design = 'framework_stp.md'

  [./execute]
    type = 'RunApp'
    input = 'should_execute.i'

    requirement = 'The test system shall have the ability to execute a specific input file.'
  [../]
  [./dont]
    type = 'Exodiff'
    input = 'should_execute.i'
    exodiff = 'should_execute_out.e'

    # Setting this will mean that if this actually does execute
    # it will generate a different solution and cause a diff
    cli_args = 'BCs/right/value=2'

    prereq = execute
    delete_output_before_running = false

    should_execute = false

    # The queue scheduler creates a new directory to run in, which
    # means the output file will not be present for postProcessing
    # (which is any 'should_execute = false' tests)

    requirement = 'The test system shall have the ability to run a test that neither clears expected outputs or runs '
                  'the expected executeable for multiple output testing.'
  [../]
[]
(test/tests/misc/should_execute/tests)