From d82301a9002fc8bd1b2a81ae841cf087e8781739 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Fri, 25 Mar 2022 16:35:56 +0100 Subject: [PATCH] Don't use QSKIP() when merely eliding part of a test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use of QSKIP() means the whole test is skipped; when all applicable parts of a test have passed and some part of the test is inapplicable, merely report that it is skipped, rather than discarding the PASS for all the parts that do work. In the process, eliminate a spurious layer of indentation; the earlier test only needed a scope to contain its declaration, a goal adequately achieved by the scope of the if constexpr block. Task-number: QTBUG-99123 Pick-to: 6.2 6.3 Change-Id: Ie4790a24ebf49a7f3035ffad42d78450e1560832 Reviewed-by: Tatiana Borisova Reviewed-by: Tor Arne Vestbø --- .../corelib/serialization/json/tst_qtjson.cpp | 48 +++++++++---------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/tests/auto/corelib/serialization/json/tst_qtjson.cpp b/tests/auto/corelib/serialization/json/tst_qtjson.cpp index f79393e457..a5a8ea3948 100644 --- a/tests/auto/corelib/serialization/json/tst_qtjson.cpp +++ b/tests/auto/corelib/serialization/json/tst_qtjson.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2021 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Copyright (C) 2022 Intel Corporation. ** Contact: https://www.qt.io/licensing/ ** @@ -409,7 +409,7 @@ void tst_QtJson::testNumbers_2() QVERIFY2(floatValues_1[index - 1] == (floatValues_1[index] * 2), QString("Value should be double adjacent value at index %1").arg(index).toLatin1()); } } else { - QSKIP("Skipping 'denorm' as this type lacks denormals on this system"); + qInfo("Skipping denormal test as this system's double type lacks support"); } } @@ -2332,30 +2332,28 @@ void tst_QtJson::parseNumbers() QCOMPARE(val.toDouble(), numbers[i].n); } } - { - if constexpr (std::numeric_limits::has_denorm == std::denorm_present) { - Numbers numbers [] = { - { "1.1e-308", 1.1e-308 }, - { "-1.1e-308", -1.1e-308 } - }; - int size = sizeof(numbers)/sizeof(Numbers); - for (int i = 0; i < size; ++i) { - QByteArray json = "[ "; - json += numbers[i].str; - json += " ]"; - QJsonDocument doc = QJsonDocument::fromJson(json); - QVERIFY(!doc.isEmpty()); - QCOMPARE(doc.isArray(), true); - QCOMPARE(doc.isObject(), false); - QJsonArray array = doc.array(); - QCOMPARE(array.size(), 1); - QJsonValue val = array.at(0); - QCOMPARE(val.type(), QJsonValue::Double); - QCOMPARE(val.toDouble(), numbers[i].n); - } - } else { - QSKIP("Skipping 'denorm' as this type lacks denormals on this system"); + if constexpr (std::numeric_limits::has_denorm == std::denorm_present) { + Numbers numbers [] = { + { "1.1e-308", 1.1e-308 }, + { "-1.1e-308", -1.1e-308 } + }; + int size = sizeof(numbers)/sizeof(Numbers); + for (int i = 0; i < size; ++i) { + QByteArray json = "[ "; + json += numbers[i].str; + json += " ]"; + QJsonDocument doc = QJsonDocument::fromJson(json); + QVERIFY(!doc.isEmpty()); + QCOMPARE(doc.isArray(), true); + QCOMPARE(doc.isObject(), false); + QJsonArray array = doc.array(); + QCOMPARE(array.size(), 1); + QJsonValue val = array.at(0); + QCOMPARE(val.type(), QJsonValue::Double); + QCOMPARE(val.toDouble(), numbers[i].n); } + } else { + qInfo("Skipping denormal test as this system's double type lacks support"); } }