diff options
Diffstat (limited to 'tests/auto/installer/shared/packagemanager.h')
-rw-r--r-- | tests/auto/installer/shared/packagemanager.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/tests/auto/installer/shared/packagemanager.h b/tests/auto/installer/shared/packagemanager.h index 4cc5426ad..9948be00a 100644 --- a/tests/auto/installer/shared/packagemanager.h +++ b/tests/auto/installer/shared/packagemanager.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -30,24 +30,37 @@ #define PACKAGEMANAGER_H #include <packagemanagercore.h> +#include <binaryformatenginehandler.h> #include <binarycontent.h> #include <fileutils.h> #include <settings.h> #include <init.h> +#include <errors.h> #include <QTest> using namespace QInstaller; void silentTestMessageHandler(QtMsgType, const QMessageLogContext &, const QString &) {} +void exitOnWarningMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg) +{ + const QByteArray localMsg = msg.toLocal8Bit(); + const char *file = context.file ? context.file : ""; + const char *function = context.function ? context.function : ""; + if (!(type == QtDebugMsg) && !(type == QtInfoMsg)) { + fprintf(stderr, "Caught message: %s (%s:%u, %s)\n", localMsg.constData(), file, context.line, function); + exit(1); + } +} struct PackageManager { static PackageManagerCore *getPackageManager(const QString &targetDir, const QString &repository = QString()) { + BinaryFormatEngineHandler::instance()->clear(); + PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, QList<OperationBlob> ()); QString appFilePath = QCoreApplication::applicationFilePath(); - core->setAllowedRunningProcesses(QStringList() << appFilePath); core->disableWriteMaintenanceTool(); core->setAutoConfirmCommand(); QSet<Repository> repoList; @@ -62,6 +75,7 @@ struct PackageManager static PackageManagerCore *getPackageManagerWithInit(const QString &targetDir, const QString &repository = QString()) { QInstaller::init(); + qInstallMessageHandler(silentTestMessageHandler); return getPackageManager(targetDir, repository); } }; |