Gromacs  2026.0-dev-20251106-2ba968f
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::test::GmxAnaTestBase Class Referenceabstract

#include <gromacs/gmxana/tests/gmxanatestbase.h>

+ Inheritance diagram for gmx::test::GmxAnaTestBase:
+ Collaboration diagram for gmx::test::GmxAnaTestBase:

Description

Test fixture for tests that call a gmx analysis tool with input/output files.

Public Member Functions

void runAndCheckResults ()
 Run command and check the resulting output.
 
void selectGroups (const std::initializer_list< const char * > groups)
 Select groups when prompted for when running the tool.
 
void selectGroups (const ArrayRef< const std::string > groups)
 Select groups when prompted for when running the tool.
 
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 std::string_view label, const std::filesystem::path &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 std::string_view label, const std::filesystem::path &filename, const IFileMatcherSettings &matcher)
 
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...
 
CommandLinecommandLine ()
 Returns the internal CommandLine object used to construct the command line for the test. More...
 
TestFileManagerfileManager ()
 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...
 

Member Function Documentation

void gmx::test::CommandLineTestBase::checkOutputFiles ( )
inherited

Checks output files added with setOutputFile() against reference data.

See Also
CommandLineTestHelper::checkOutputFiles()
CommandLine & gmx::test::CommandLineTestBase::commandLine ( )
inherited

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 ( )
inherited

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 ( )
inherited

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)
inherited

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 
)
inherited

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 
)
inherited

Sets an input file.

Parameters
[in]optionOption to set.
[in]filenameName of the input file.
See Also
TestFileManager::getInputFilePath()
void gmx::test::CommandLineTestBase::setInputFile ( const char *  option,
const std::string &  filename 
)
inherited

Sets an input file.

Parameters
[in]optionOption to set.
[in]filenameName of the input file.
See Also
TestFileManager::getInputFilePath()
void gmx::test::CommandLineTestBase::setInputFileContents ( const char *  option,
const char *  extension,
const std::string &  contents 
)
inherited

Generates and sets an input file.

See Also
CommandLineTestHelper::setInputFileContents()
void gmx::test::CommandLineTestBase::setInputFileContents ( const char *  option,
const char *  extension,
const ArrayRef< const char *const > &  contents 
)
inherited

Generates and sets an input file.

See Also
CommandLineTestHelper::setInputFileContents()
void gmx::test::CommandLineTestBase::setModifiableInputFile ( const char *  option,
const char *  filename 
)
inherited

Sets an input file that may be modified. The file is copied to a temporary file, which is used as the test input.

Parameters
[in]optionOption to set.
[in]filenameName of the input file.
void gmx::test::CommandLineTestBase::setModifiableInputFile ( const char *  option,
const std::string &  filename 
)
inherited

Sets an input file that may be modified. The file is copied to a temporary file, which is used as the test input.

Parameters
[in]optionOption to set.
[in]filenameName of the input file.
std::string gmx::test::CommandLineTestBase::setOutputFile ( const char *  option,
const char *  filename,
const ITextBlockMatcherSettings matcher 
)
inherited

Sets an output file whose name is passed via an option and adds it to the set of tested files.

See Also
CommandLineTestHelper::setOutputFile()
std::string gmx::test::CommandLineTestBase::setOutputFile ( const char *  option,
const char *  filename,
const IFileMatcherSettings matcher 
)
inherited

std::string gmx::test::CommandLineTestBase::setOutputFileWithGeneratedName ( const std::string_view  label,
const std::filesystem::path &  filename,
const ITextBlockMatcherSettings matcher 
)
inherited

Sets an output file whose name is generated by the tool and adds it to the set of tested files.

Sometimes label and filename can be the same, depending how the tool generates the filename. When the tool has generated the filename from the name of another output file, rather than as its own string, it can be necessary to prefix filename with the temporary directory name so it can be found.

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.

See Also
CommandLineTestHelper::setOutputFileWithGeneratedName()
std::string gmx::test::CommandLineTestBase::setOutputFileWithGeneratedName ( const std::string_view  label,
const std::filesystem::path &  filename,
const IFileMatcherSettings matcher 
)
inherited


The documentation for this class was generated from the following files: