tst_qlogging (tst_qmessagehandler): use QProcessEnvironment
Simplifies the code. And removes the unnecessary quote around the pattern that was there, for some reason. Change-Id: Ic15405335d804bdea761fffd16d4f135edf6993b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 43a171a7d635f02765337e8ecbf848224f69eda4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
ebf0836a64
commit
31e19aa440
@ -1,6 +1,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2022 The Qt Company Ltd.
|
** Copyright (C) 2022 The Qt Company Ltd.
|
||||||
|
** Copyright (C) 2022 Intel Corporation.
|
||||||
** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.com>
|
** Copyright (C) 2014 Olivier Goffart <ogoffart@woboq.com>
|
||||||
** Contact: https://www.qt.io/licensing/
|
** Contact: https://www.qt.io/licensing/
|
||||||
**
|
**
|
||||||
@ -63,7 +64,9 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
QString backtraceHelperPath();
|
QString backtraceHelperPath();
|
||||||
QStringList m_baseEnvironment;
|
#if QT_CONFIG(process)
|
||||||
|
QProcessEnvironment m_baseEnvironment;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static QtMsgType s_type;
|
static QtMsgType s_type;
|
||||||
@ -90,14 +93,9 @@ tst_qmessagehandler::tst_qmessagehandler()
|
|||||||
void tst_qmessagehandler::initTestCase()
|
void tst_qmessagehandler::initTestCase()
|
||||||
{
|
{
|
||||||
#if QT_CONFIG(process)
|
#if QT_CONFIG(process)
|
||||||
m_baseEnvironment = QProcess::systemEnvironment();
|
m_baseEnvironment = QProcessEnvironment::systemEnvironment();
|
||||||
for (int i = 0; i < m_baseEnvironment.count(); ++i) {
|
m_baseEnvironment.remove("QT_MESSAGE_PATTERN");
|
||||||
if (m_baseEnvironment.at(i).startsWith("QT_MESSAGE_PATTERN=")) {
|
m_baseEnvironment.insert("QT_FORCE_STDERR_LOGGING", "1");
|
||||||
m_baseEnvironment.removeAt(i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
m_baseEnvironment.prepend("QT_FORCE_STDERR_LOGGING=1");
|
|
||||||
#endif // QT_CONFIG(process)
|
#endif // QT_CONFIG(process)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -784,9 +782,9 @@ void tst_qmessagehandler::qMessagePattern()
|
|||||||
//
|
//
|
||||||
// test QT_MESSAGE_PATTERN
|
// test QT_MESSAGE_PATTERN
|
||||||
//
|
//
|
||||||
QStringList environment = m_baseEnvironment;
|
QProcessEnvironment environment = m_baseEnvironment;
|
||||||
environment.prepend("QT_MESSAGE_PATTERN=\"" + pattern + QLatin1Char('"'));
|
environment.insert("QT_MESSAGE_PATTERN", pattern);
|
||||||
process.setEnvironment(environment);
|
process.setProcessEnvironment(environment);
|
||||||
|
|
||||||
process.start(appExe);
|
process.start(appExe);
|
||||||
QVERIFY2(process.waitForStarted(), qPrintable(
|
QVERIFY2(process.waitForStarted(), qPrintable(
|
||||||
@ -807,7 +805,7 @@ void tst_qmessagehandler::qMessagePattern()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pattern.startsWith("%{pid}"))
|
if (pattern.startsWith("%{pid}"))
|
||||||
QVERIFY2(output.startsWith('"' + pid), "PID: " + pid + "\noutput:\n" + output);
|
QVERIFY2(output.startsWith(pid), "PID: " + pid + "\noutput:\n" + output);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -828,15 +826,7 @@ void tst_qmessagehandler::setMessagePattern()
|
|||||||
const QString appExe(backtraceHelperPath());
|
const QString appExe(backtraceHelperPath());
|
||||||
|
|
||||||
// make sure there is no QT_MESSAGE_PATTERN in the environment
|
// make sure there is no QT_MESSAGE_PATTERN in the environment
|
||||||
QStringList environment;
|
process.setProcessEnvironment(m_baseEnvironment);
|
||||||
environment.reserve(m_baseEnvironment.size());
|
|
||||||
const auto doesNotStartWith = [](QLatin1String s) {
|
|
||||||
return [s](const QString &str) { return !str.startsWith(s); };
|
|
||||||
};
|
|
||||||
std::copy_if(m_baseEnvironment.cbegin(), m_baseEnvironment.cend(),
|
|
||||||
std::back_inserter(environment),
|
|
||||||
doesNotStartWith(QLatin1String("QT_MESSAGE_PATTERN")));
|
|
||||||
process.setEnvironment(environment);
|
|
||||||
|
|
||||||
process.start(appExe);
|
process.start(appExe);
|
||||||
QVERIFY2(process.waitForStarted(), qPrintable(
|
QVERIFY2(process.waitForStarted(), qPrintable(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user