diff options
-rw-r--r-- | tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp index 191671361..871df4157 100644 --- a/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp +++ b/tests/auto/qdoc/generatedoutput/tst_generatedoutput.cpp @@ -50,7 +50,8 @@ private: void compareLineByLine(const QStringList &expectedFiles); void testAndCompare(const char *input, const char *outNames, - const char *extraParams = nullptr); + const char *extraParams = nullptr, + const char *outputPathPrefix = nullptr); }; void tst_generatedOutput::initTestCase() @@ -124,17 +125,28 @@ void tst_generatedOutput::compareLineByLine(const QStringList &expectedFiles) void tst_generatedOutput::testAndCompare(const char *input, const char *outNames, - const char *extraParams) + const char *extraParams, + const char *outputPathPrefix) { - QStringList args{ "-outputdir", m_outputDir->path(), QFINDTESTDATA(input) }; + QStringList args{ "-outputdir", m_outputDir->path() + "/" + outputPathPrefix, + QFINDTESTDATA(input) }; if (extraParams) args << QString(QLatin1String(extraParams)).split(QChar(' ')); + runQDocProcess(args); + if (QTest::currentTestFailed()) return; - compareLineByLine(QString(QLatin1String(outNames)).split(QChar(' '))); + + QStringList expectedOuts(QString(QLatin1String(outNames)).split(QChar(' '))); + if (outputPathPrefix) + for (auto &expectedOut : expectedOuts) + expectedOut = QString(outputPathPrefix) + "/" + expectedOut; + + compareLineByLine(expectedOuts); } + void tst_generatedOutput::htmlFromQDocFile() { testAndCompare("test.qdocconf", |