Gromacs
2025.0-dev-20241011-013a99c
|
#include <testutils/include/testutils/cmdlinetest.h>
Test fixture for tests that call a single command-line program with input/output files.
This class provides a convenient package for using CommandLineTestHelper in a test that do not need special customization. It takes care of creating the other necessary objects (like TestFileManager, TestReferenceData, and CommandLine) and wrapping the methods from CommandLineTestHelper such that extra parameters are not needed. Additionally, it provides setInputFile() as a convenience function for adding a fixed input file, pointing to a file that resides in the source tree.
Public Member Functions | |
void | setInputFile (const char *option, const char *filename) |
Sets an input file. More... | |
void | setInputFile (const char *option, const std::string &filename) |
Sets an input file. More... | |
void | setModifiableInputFile (const char *option, const char *filename) |
Sets an input file that may be modified. The file is copied to a temporary file, which is used as the test input. More... | |
void | setModifiableInputFile (const char *option, const std::string &filename) |
Sets an input file that may be modified. The file is copied to a temporary file, which is used as the test input. More... | |
void | setInputFileContents (const char *option, const char *extension, const std::string &contents) |
Generates and sets an input file. More... | |
void | setInputFileContents (const char *option, const char *extension, const ArrayRef< const char *const > &contents) |
Generates and sets an input file. More... | |
std::string | setOutputFile (const char *option, const char *filename, const ITextBlockMatcherSettings &matcher) |
Sets an output file whose name is passed via an option and adds it to the set of tested files. More... | |
std::string | setOutputFile (const char *option, const char *filename, const IFileMatcherSettings &matcher) |
std::string | setOutputFileWithGeneratedName (const char *filename, const ITextBlockMatcherSettings &matcher) |
Sets an output file whose name is generated by the tool and adds it to the set of tested files. More... | |
std::string | setOutputFileWithGeneratedName (std::string &&filename, const ITextBlockMatcherSettings &matcher) |
Sets an output file whose name is generated by the tool and adds it to the set of tested files. More... | |
std::string | setOutputFileWithGeneratedName (const char *filename, const IFileMatcherSettings &matcher) |
Sets an output file whose name is generated by the tool and adds it to the set of tested files. More... | |
std::string | setOutputFileWithGeneratedName (std::string &&filename, const IFileMatcherSettings &matcher) |
Sets an output file whose name is generated by the tool and adds it to the set of tested files. More... | |
std::string | setInputAndOutputFile (const char *option, const char *filename, const ITextBlockMatcherSettings &matcher) |
Sets a file parameter that is used for input and modified as output. The input file is copied to a temporary file that is used as input and can be modified. | |
std::string | setInputAndOutputFile (const char *option, const char *filename, const IFileMatcherSettings &matcher) |
Sets a file parameter that is used for input and modified as output. The input file is copied to a temporary file that is used as input and can be modified. More... | |
CommandLine & | commandLine () |
Returns the internal CommandLine object used to construct the command line for the test. More... | |
TestFileManager & | fileManager () |
Returns the internal TestFileManager object used to manage the files. More... | |
TestReferenceChecker | rootChecker () |
Returns the root reference data checker. More... | |
void | setDefaultTolerance (const FloatingPointTolerance &tolerance) |
Sets the tolerance for floating-point comparisons. More... | |
void | testWriteHelp (ICommandLineModule *module) |
Checks the output of writeHelp() against reference data. | |
void | checkOutputFiles () |
Checks output files added with setOutputFile() against reference data. More... | |
void gmx::test::CommandLineTestBase::checkOutputFiles | ( | ) |
Checks output files added with setOutputFile() against reference data.
CommandLine & gmx::test::CommandLineTestBase::commandLine | ( | ) |
Returns the internal CommandLine object used to construct the command line for the test.
Derived test fixtures can use this to add additional options, and to access the final command line to do the actual call that is being tested.
Does not throw.
TestFileManager & gmx::test::CommandLineTestBase::fileManager | ( | ) |
Returns the internal TestFileManager object used to manage the files.
Derived test fixtures can use this to manage files in cases the canned methods are not sufficient.
Does not throw.
TestReferenceChecker gmx::test::CommandLineTestBase::rootChecker | ( | ) |
Returns the root reference data checker.
Derived test fixtures can use this to check other things than output file contents.
void gmx::test::CommandLineTestBase::setDefaultTolerance | ( | const FloatingPointTolerance & | tolerance | ) |
Sets the tolerance for floating-point comparisons.
All following floating-point comparisons using the checker will use the new tolerance.
Does not throw.
std::string gmx::test::CommandLineTestBase::setInputAndOutputFile | ( | const char * | option, |
const char * | filename, | ||
const IFileMatcherSettings & | matcher | ||
) |
Sets a file parameter that is used for input and modified as output. The input file is copied to a temporary file that is used as input and can be modified.
void gmx::test::CommandLineTestBase::setInputFile | ( | const char * | option, |
const char * | filename | ||
) |
Sets an input file.
[in] | option | Option to set. |
[in] | filename | Name of the input file. |
void gmx::test::CommandLineTestBase::setInputFile | ( | const char * | option, |
const std::string & | filename | ||
) |
Sets an input file.
[in] | option | Option to set. |
[in] | filename | Name of the input file. |
void gmx::test::CommandLineTestBase::setInputFileContents | ( | const char * | option, |
const char * | extension, | ||
const std::string & | contents | ||
) |
Generates and sets an input file.
void gmx::test::CommandLineTestBase::setInputFileContents | ( | const char * | option, |
const char * | extension, | ||
const ArrayRef< const char *const > & | contents | ||
) |
Generates and sets an input file.
void gmx::test::CommandLineTestBase::setModifiableInputFile | ( | const char * | option, |
const char * | filename | ||
) |
Sets an input file that may be modified. The file is copied to a temporary file, which is used as the test input.
[in] | option | Option to set. |
[in] | filename | Name of the input file. |
void gmx::test::CommandLineTestBase::setModifiableInputFile | ( | const char * | option, |
const std::string & | filename | ||
) |
Sets an input file that may be modified. The file is copied to a temporary file, which is used as the test input.
[in] | option | Option to set. |
[in] | filename | Name of the input file. |
std::string gmx::test::CommandLineTestBase::setOutputFile | ( | const char * | option, |
const char * | filename, | ||
const ITextBlockMatcherSettings & | matcher | ||
) |
Sets an output file whose name is passed via an option and adds it to the set of tested files.
std::string gmx::test::CommandLineTestBase::setOutputFile | ( | const char * | option, |
const char * | filename, | ||
const IFileMatcherSettings & | matcher | ||
) |
std::string gmx::test::CommandLineTestBase::setOutputFileWithGeneratedName | ( | const char * | filename, |
const ITextBlockMatcherSettings & | matcher | ||
) |
Sets an output file whose name is generated by the tool and adds it to the set of tested files.
This method is useful when a tool generates a series of output files by modifying a common base name. Call this method with every file name that is expected to be generated by the tool.
std::string gmx::test::CommandLineTestBase::setOutputFileWithGeneratedName | ( | std::string && | filename, |
const ITextBlockMatcherSettings & | matcher | ||
) |
Sets an output file whose name is generated by the tool and adds it to the set of tested files.
This method is useful when a tool generates a series of output files by modifying a common base name. Call this method with every file name that is expected to be generated by the tool.
std::string gmx::test::CommandLineTestBase::setOutputFileWithGeneratedName | ( | const char * | filename, |
const IFileMatcherSettings & | matcher | ||
) |
Sets an output file whose name is generated by the tool and adds it to the set of tested files.
This method is useful when a tool generates a series of output files by modifying a common base name. Call this method with every file name that is expected to be generated by the tool.
std::string gmx::test::CommandLineTestBase::setOutputFileWithGeneratedName | ( | std::string && | filename, |
const IFileMatcherSettings & | matcher | ||
) |
Sets an output file whose name is generated by the tool and adds it to the set of tested files.
This method is useful when a tool generates a series of output files by modifying a common base name. Call this method with every file name that is expected to be generated by the tool.