summaryrefslogtreecommitdiffstats
path: root/tests/auto/installer/shared/packagemanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/installer/shared/packagemanager.h')
-rw-r--r--tests/auto/installer/shared/packagemanager.h18
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);
}
};