diff options
Diffstat (limited to 'tests/auto/installer/consumeoutputoperationtest/tst_consumeoutputoperationtest.cpp')
-rw-r--r-- | tests/auto/installer/consumeoutputoperationtest/tst_consumeoutputoperationtest.cpp | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/tests/auto/installer/consumeoutputoperationtest/tst_consumeoutputoperationtest.cpp b/tests/auto/installer/consumeoutputoperationtest/tst_consumeoutputoperationtest.cpp index 8250a7dd2..a6ac774a0 100644 --- a/tests/auto/installer/consumeoutputoperationtest/tst_consumeoutputoperationtest.cpp +++ b/tests/auto/installer/consumeoutputoperationtest/tst_consumeoutputoperationtest.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -31,6 +31,8 @@ #include <qinstallerglobal.h> #include <fileutils.h> #include <errors.h> +#include <settings.h> +#include <binarycontent.h> #include <QObject> #include <QTest> @@ -58,6 +60,8 @@ private slots: m_fakeQtPath = QDir::toNativeSeparators(qApp->applicationDirPath()) + QDir::separator() + "fakeQt" + QDir::separator(); QVERIFY(QDir().mkpath(m_fakeQtPath + "bin")); + m_testOutput = getOutputFrom(QUOTE(QMAKE_BINARY), QStringList("-query")); + qputenv("qmakePath", QUOTE(QMAKE_BINARY)); //Read from script } void testMissingArguments() @@ -81,15 +85,33 @@ private slots: void testGetOutputFromQmake() { - QString testOutput = getOutputFrom(QUOTE(QMAKE_BINARY), QStringList("-query")); - ConsumeOutputOperation operation(&m_core); operation.setArguments(QStringList() << "testConsumeOutputKey" << QUOTE(QMAKE_BINARY) << "-query"); QVERIFY2(operation.performOperation(), qPrintable(operation.errorString())); QCOMPARE(Operation::Error(operation.error()), Operation::NoError); - QCOMPARE(m_core.value("testConsumeOutputKey"), testOutput); + QCOMPARE(m_core.value("testConsumeOutputKey"), m_testOutput); + } + + void testPerformingFromCLI() + { + QInstaller::init(); //This will eat debug output + PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, QList<OperationBlob> ()); + QSet<Repository> repoList; + Repository repo = Repository::fromUserInput(":///data/repository"); + repoList.insert(repo); + core->settings().setDefaultRepositories(repoList); + + QString installDir = QInstaller::generateTemporaryFileName(); + QDir().mkpath(installDir); + core->setValue(scTargetDir, installDir); + core->installDefaultComponentsSilently(); + QCOMPARE(core->value("testConsumeOutputKeyFromScript"), m_testOutput); + + QDir dir(installDir); + QVERIFY(dir.removeRecursively()); + core->deleteLater(); } void cleanupTestCase() @@ -99,6 +121,7 @@ private slots: } catch (const QInstaller::Error &error) { QFAIL(qPrintable(error.message())); } + qunsetenv("qmakePath"); } private: @@ -119,6 +142,7 @@ private: PackageManagerCore m_core; QString m_fakeQtPath; + QString m_testOutput; }; QTEST_MAIN(tst_consumeoutputoperationtest) |