From 5b6008fa3b5a9b0373b2f03791140ca1fa8dc8de Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Thu, 17 Mar 2016 10:24:41 -0500 Subject: introduce a QtFixture gtest base class to reduce redundancy in test fixtures' helper/util code --- tests/utils/qt-fixture.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 tests/utils/qt-fixture.h (limited to 'tests/utils/qt-fixture.h') diff --git a/tests/utils/qt-fixture.h b/tests/utils/qt-fixture.h new file mode 100644 index 0000000..321d56e --- /dev/null +++ b/tests/utils/qt-fixture.h @@ -0,0 +1,58 @@ +/* + * Copyright 2016 Canonical Ltd. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 3, as published + * by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranties of + * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + * + * Authors: + * Charles Kerr + */ + +#pragma once + +#define QT_NO_KEYWORDS + +#include +#include +#include +#include + +#include + +#include + +class QtFixture: public GlibFixture +{ + using super = GlibFixture; + +public: + + QtFixture() + { + DBusTypes::registerMetaTypes(); + } + + ~QtFixture() =default; + +protected: + + void wait_for_signals(QSignalSpy& signalSpy, int signalsExpected) + { + while (signalSpy.size() < signalsExpected) + { + ASSERT_TRUE(signalSpy.wait()); + } + + ASSERT_EQ(signalsExpected, signalSpy.size()); + } +}; + -- cgit v1.2.3 From 7a25132c125f6e5e413ad26ea950ae22bee982f5 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Mon, 21 Mar 2016 13:40:11 -0500 Subject: if our USB device is disconnected while prompting the user for ADBD, cancel the prompt. --- tests/utils/qt-fixture.h | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'tests/utils/qt-fixture.h') diff --git a/tests/utils/qt-fixture.h b/tests/utils/qt-fixture.h index 321d56e..0f5722b 100644 --- a/tests/utils/qt-fixture.h +++ b/tests/utils/qt-fixture.h @@ -22,12 +22,13 @@ #define QT_NO_KEYWORDS #include -#include #include #include #include +#include +#include #include class QtFixture: public GlibFixture @@ -54,5 +55,20 @@ protected: ASSERT_EQ(signalsExpected, signalSpy.size()); } + + bool qDBusArgumentToMap(QVariant const& variant, QVariantMap& map) + { + if (variant.canConvert()) + { + QDBusArgument value(variant.value()); + if (value.currentType() == QDBusArgument::MapType) + { + value >> map; + return true; + } + } + + return false; + } }; -- cgit v1.2.3 From 0b9a8d08b2ea7d245ffd00ce465e6c859905c547 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Tue, 22 Mar 2016 15:34:00 -0500 Subject: make wait_for_signals() a macro again so that the GTest log messages will give the test file and line number --- tests/utils/qt-fixture.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'tests/utils/qt-fixture.h') diff --git a/tests/utils/qt-fixture.h b/tests/utils/qt-fixture.h index 0f5722b..95b9b14 100644 --- a/tests/utils/qt-fixture.h +++ b/tests/utils/qt-fixture.h @@ -31,6 +31,16 @@ #include #include +#define wait_for_signals(signalSpy,signalsExpected) \ +{ \ + while (signalSpy.size() < signalsExpected) \ + { \ + ASSERT_TRUE(signalSpy.wait()); \ + } \ + \ + ASSERT_EQ(signalsExpected, signalSpy.size()); \ +} + class QtFixture: public GlibFixture { using super = GlibFixture; @@ -46,16 +56,6 @@ public: protected: - void wait_for_signals(QSignalSpy& signalSpy, int signalsExpected) - { - while (signalSpy.size() < signalsExpected) - { - ASSERT_TRUE(signalSpy.wait()); - } - - ASSERT_EQ(signalsExpected, signalSpy.size()); - } - bool qDBusArgumentToMap(QVariant const& variant, QVariantMap& map) { if (variant.canConvert()) -- cgit v1.2.3