From 2491ee98b10d0ea2bb33f341b2efa478c50904b2 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Wed, 29 Apr 2020 14:11:39 +0200 Subject: QTest::ignoreMessage(): interpret the message in UTF-8 The message to ignore is given in source code, hence UTF-8; it was being ingested as local 8-bit, which lead to problems when a debug message wasn't 7-bit clean and the system's native encoding wasn't UTF-8. Modified QtTest's selftest to check encoding failure. Pick-to: 5.15 Change-Id: I898744a450115b6d2ee992f1d3b36d8efaeeff7e Reviewed-by: Qt CI Bot Reviewed-by: Thiago Macieira --- tests/auto/testlib/selftests/warnings/tst_warnings.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'tests/auto/testlib') diff --git a/tests/auto/testlib/selftests/warnings/tst_warnings.cpp b/tests/auto/testlib/selftests/warnings/tst_warnings.cpp index 57c5f8597b..cdad72bd57 100644 --- a/tests/auto/testlib/selftests/warnings/tst_warnings.cpp +++ b/tests/auto/testlib/selftests/warnings/tst_warnings.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the test suite of the Qt Toolkit. @@ -80,6 +80,14 @@ void tst_Warnings::testWarnings() // accept redundant space at end to keep compatibility with Qt < 5.2 QTest::ignoreMessage(QtDebugMsg, "Bubu "); qDebug() << "Bubu"; + + // Cope with non-ASCII messages; should be understood as UTF-8 (it comes + // from source code on both sides), even if the system encoding is + // different: + QTest::ignoreMessage(QtDebugMsg, "Hej v\xc3\xa4rlden"); + qDebug() << "Hej v\xc3\xa4rlden"; + QTest::ignoreMessage(QtInfoMsg, "Hej v\xc3\xa4rlden"); + qInfo() << "Hej v\xc3\xa4rlden"; } void tst_Warnings::testMissingWarnings() -- cgit v1.2.3