From 13231b60b21da042dd9285c43c9cf2fd310cf144 Mon Sep 17 00:00:00 2001 From: Arttu Tarkiainen Date: Wed, 1 Apr 2020 11:37:03 +0300 Subject: Add CLI test for ReplaceOperation Task-number: QTIFW-1720 Change-Id: I2b4f1c7fd83bdb50a8eeba55f9dc632219e7c3c7 Reviewed-by: Katja Marttila --- .../data/repository/A/1.0.2-1content.7z | Bin 0 -> 185 bytes .../data/repository/A/1.0.2-1meta.7z | Bin 0 -> 912 bytes .../replaceoperation/data/repository/Updates.xml | 15 ++++++++++ .../replaceoperation/replaceoperation.pro | 4 +++ tests/auto/installer/replaceoperation/settings.qrc | 7 +++++ .../replaceoperation/tst_replaceoperation.cpp | 31 ++++++++++++++++++++- 6 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 tests/auto/installer/replaceoperation/data/repository/A/1.0.2-1content.7z create mode 100644 tests/auto/installer/replaceoperation/data/repository/A/1.0.2-1meta.7z create mode 100644 tests/auto/installer/replaceoperation/data/repository/Updates.xml create mode 100644 tests/auto/installer/replaceoperation/settings.qrc (limited to 'tests/auto') diff --git a/tests/auto/installer/replaceoperation/data/repository/A/1.0.2-1content.7z b/tests/auto/installer/replaceoperation/data/repository/A/1.0.2-1content.7z new file mode 100644 index 000000000..8ba90b13b Binary files /dev/null and b/tests/auto/installer/replaceoperation/data/repository/A/1.0.2-1content.7z differ diff --git a/tests/auto/installer/replaceoperation/data/repository/A/1.0.2-1meta.7z b/tests/auto/installer/replaceoperation/data/repository/A/1.0.2-1meta.7z new file mode 100644 index 000000000..b50c31cbd Binary files /dev/null and b/tests/auto/installer/replaceoperation/data/repository/A/1.0.2-1meta.7z differ diff --git a/tests/auto/installer/replaceoperation/data/repository/Updates.xml b/tests/auto/installer/replaceoperation/data/repository/Updates.xml new file mode 100644 index 000000000..a0ade298c --- /dev/null +++ b/tests/auto/installer/replaceoperation/data/repository/Updates.xml @@ -0,0 +1,15 @@ + + {AnyApplication} + 1.0.0 + + A + A + Example component A + 1.0.2-1 + 2015-01-01 + true + + + content.7z + + diff --git a/tests/auto/installer/replaceoperation/replaceoperation.pro b/tests/auto/installer/replaceoperation/replaceoperation.pro index d2756d153..bc558c32e 100644 --- a/tests/auto/installer/replaceoperation/replaceoperation.pro +++ b/tests/auto/installer/replaceoperation/replaceoperation.pro @@ -4,3 +4,7 @@ QT -= gui QT += testlib SOURCES += tst_replaceoperation.cpp + +RESOURCES += \ + settings.qrc \ + ..\shared\config.qrc diff --git a/tests/auto/installer/replaceoperation/settings.qrc b/tests/auto/installer/replaceoperation/settings.qrc new file mode 100644 index 000000000..10cc3c3bb --- /dev/null +++ b/tests/auto/installer/replaceoperation/settings.qrc @@ -0,0 +1,7 @@ + + + data/repository/Updates.xml + data/repository/A/1.0.2-1content.7z + data/repository/A/1.0.2-1meta.7z + + diff --git a/tests/auto/installer/replaceoperation/tst_replaceoperation.cpp b/tests/auto/installer/replaceoperation/tst_replaceoperation.cpp index 9afd91875..88a3350a7 100644 --- a/tests/auto/installer/replaceoperation/tst_replaceoperation.cpp +++ b/tests/auto/installer/replaceoperation/tst_replaceoperation.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2019 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. @@ -29,6 +29,10 @@ #include #include #include +#include +#include +#include +#include #include #include @@ -174,6 +178,31 @@ private slots: QVERIFY(QDir().rmdir(m_testDirectory)); } + void testPerformingFromCLI() + { + QInstaller::init(); //This will eat debug output + PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, + QList ()); + QSet repoList; + Repository repo = Repository::fromUserInput(":///data/repository"); + repoList.insert(repo); + core->settings().setDefaultRepositories(repoList); + + QVERIFY(QDir().mkpath(m_testDirectory)); + core->setValue(scTargetDir, m_testDirectory); + core->installDefaultComponentsSilently(); + + QFile file(m_testDirectory + QDir::separator() + "A.txt"); + QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text)); + QTextStream stream(&file); + QCOMPARE(stream.readLine(), QLatin1String("text to replace.")); + QCOMPARE(stream.readLine(), QLatin1String("Another text.")); + file.close(); + QDir dir(m_testDirectory); + QVERIFY(dir.removeRecursively()); + core->deleteLater(); + } + private: QString m_testDirectory; QString m_testFilePath; -- cgit v1.2.3