qmake-test: Fix jom/nmake handling on Windows.
The test fails if MAKEFLAGS is set up for jom since the test always uses nmake. Remove MAKEFLAGS from the process environment. Change-Id: Idaed3cc964832b83c282a59fc5257572c520b882 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
This commit is contained in:
parent
fe092d1a6d
commit
5cd56df0f2
@ -132,13 +132,34 @@ bool TestCompiler::errorOut()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return the system environment, remove MAKEFLAGS variable in
|
||||||
|
// case the CI uses jom passing flags incompatible to nmake
|
||||||
|
// or vice versa.
|
||||||
|
static inline QStringList systemEnvironment()
|
||||||
|
{
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
|
static QStringList result;
|
||||||
|
if (result.isEmpty()) {
|
||||||
|
foreach (const QString &variable, QProcess::systemEnvironment()) {
|
||||||
|
if (variable.startsWith(QStringLiteral("MAKEFLAGS="), Qt::CaseInsensitive)) {
|
||||||
|
qWarning("Removing environment setting '%s'", qPrintable(variable));
|
||||||
|
} else {
|
||||||
|
result.push_back(variable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static const QStringList result = QProcess::systemEnvironment();
|
||||||
|
#endif // ifdef Q_OS_WIN
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
bool TestCompiler::runCommand( QString cmdline, bool expectFail )
|
bool TestCompiler::runCommand( QString cmdline, bool expectFail )
|
||||||
{
|
{
|
||||||
testOutput_.append("Running command: " + cmdline);
|
testOutput_.append("Running command: " + cmdline);
|
||||||
|
|
||||||
QProcess child;
|
QProcess child;
|
||||||
if (!environment_.empty())
|
child.setEnvironment(systemEnvironment() + environment_);
|
||||||
child.setEnvironment(QProcess::systemEnvironment() + environment_);
|
|
||||||
|
|
||||||
child.start(cmdline);
|
child.start(cmdline);
|
||||||
if (!child.waitForStarted(-1)) {
|
if (!child.waitForStarted(-1)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user