Force QT_LOGGING_RULES in testlib's selftest
On some systems (e.g. Debian/buster) a standard Qt package may install a qtlogging.ini file, e.g. in /etc/xdg/QtProject/, which suppresses QDEBUG output. A ~/.config/QtProject/qtlogging.ini could interfere similarly. This can break the selftest, when run with expected_* files generated without such interference. Likewise, if those expected_* files are generated on a system such similar, they won't work on CI. Given that this caused confusion and delay with integrating the latest set of updates to the expected_* files, it seemed best to save others from similar bafflement. So set a standard value for QT_LOGGING_RULES in both the selftest and the generator script, so we get consistency. Change-Id: I649e2f1f6ead21edf8af051aaee286e369fed064 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>bb10
parent
98ef376fb6
commit
ffd822b968
|
|
@ -252,7 +252,13 @@ def generateTestData(testname, clean,
|
|||
|
||||
def main(name, *args):
|
||||
"""Minimal argument parsing and driver for the real work"""
|
||||
os.environ['LC_ALL'] = 'C'
|
||||
os.environ.update(
|
||||
LC_ALL = 'C', # Use standard locale
|
||||
# Avoid interference from any qtlogging.ini files, e.g. in
|
||||
# /etc/xdg/QtProject/, (must match tst_selftests.cpp's
|
||||
# processEnvironment()'s value):
|
||||
QT_LOGGING_RULES = '*.debug=true;qt.qpa.screen=false')
|
||||
|
||||
herePath = os.getcwd()
|
||||
cleaner = Cleaner(herePath, name)
|
||||
|
||||
|
|
|
|||
|
|
@ -568,6 +568,10 @@ static QProcessEnvironment processEnvironment()
|
|||
if (useVariable)
|
||||
result.insert(key, systemEnvironment.value(key));
|
||||
}
|
||||
// Avoid interference from any qtlogging.ini files, e.g. in /etc/xdg/QtProject/:
|
||||
result.insert(QStringLiteral("QT_LOGGING_RULES"),
|
||||
// Must match generate_expected_output.py's main()'s value:
|
||||
QStringLiteral("*.debug=true;qt.qpa.screen=false"));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue