X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=blobdiff_plain;f=src%2Ftestutils%2Fcmdlinetest.cpp;fp=src%2Ftestutils%2Fcmdlinetest.cpp;h=64688b8d862d3d55a48b26d5c41330949538f215;hb=c3f2d46e4047f0c465f7234b3784a2fa6f02a065;hp=3a848c94548aeaf0ff8dd9e3e4624d20a3740334;hpb=0595b4a4c763a0bc574658992081abf8b0abc3fe;p=alexxy%2Fgromacs.git diff --git a/src/testutils/cmdlinetest.cpp b/src/testutils/cmdlinetest.cpp index 3a848c9454..64688b8d86 100644 --- a/src/testutils/cmdlinetest.cpp +++ b/src/testutils/cmdlinetest.cpp @@ -55,6 +55,7 @@ #include "gromacs/commandline/cmdlineoptionsmodule.h" #include "gromacs/commandline/cmdlineprogramcontext.h" #include "gromacs/utility/arrayref.h" +#include "gromacs/utility/filestream.h" #include "gromacs/utility/gmxassert.h" #include "gromacs/utility/stringutil.h" #include "gromacs/utility/textreader.h" @@ -62,6 +63,7 @@ #include "testutils/refdata.h" #include "testutils/testfilemanager.h" +#include "testutils/xvgtest.h" namespace gmx { @@ -241,10 +243,12 @@ class CommandLineTestHelper::Impl OutputFileInfo(const char *option, const std::string &path) : option(option), path(path) { + xvg = endsWith(path, ".xvg"); } std::string option; std::string path; + bool xvg; }; typedef std::vector OutputFileList; @@ -346,8 +350,18 @@ void CommandLineTestHelper::checkOutputFiles(TestReferenceChecker checker) const outfile != impl_->outputFiles_.end(); ++outfile) { - std::string output = TextReader::readFileToString(outfile->path); - outputChecker.checkStringBlock(output, outfile->option.c_str()); + if (outfile->xvg) + { + TestReferenceChecker testChecker = checker.checkCompound("File", + outfile->option.c_str()); + TextInputFile sis(outfile->path); + checkXvgFile(&sis, &testChecker); + } + else + { + std::string output = TextReader::readFileToString(outfile->path); + outputChecker.checkStringBlock(output, outfile->option.c_str()); + } } } }