diff --git a/src/modules/tracking/CMakeLists.txt b/src/modules/tracking/CMakeLists.txt index 11ccdb00b..894663426 100644 --- a/src/modules/tracking/CMakeLists.txt +++ b/src/modules/tracking/CMakeLists.txt @@ -15,3 +15,9 @@ calamares_add_plugin( tracking SHARED_LIB ) +calamares_add_test( + trackingtest + SOURCES + Tests.cpp + Config.cpp +) diff --git a/src/modules/tracking/Tests.cpp b/src/modules/tracking/Tests.cpp new file mode 100644 index 000000000..b7ed57ab1 --- /dev/null +++ b/src/modules/tracking/Tests.cpp @@ -0,0 +1,60 @@ +/* === This file is part of Calamares - === + * + * SPDX-FileCopyrightText: 2020 Adriaan de Groot + * SPDX-License-Identifier: GPL-3.0-or-later + * License-Filename: LICENSE + */ + +#include "Config.h" + +#include "utils/Logger.h" + +#include +#include + +class TrackingTests : public QObject +{ + Q_OBJECT +public: + TrackingTests(); + ~TrackingTests() override; + +private Q_SLOTS: + void initTestCase(); + void testEmptyConfig(); +}; + +TrackingTests::TrackingTests() + : QObject() +{ +} + +TrackingTests::~TrackingTests() +{ +} + +void TrackingTests::initTestCase() +{ + Logger::setupLogLevel( Logger::LOGDEBUG ); + cDebug() << "Tracking test started."; +} + +void TrackingTests::testEmptyConfig() +{ + Logger::setupLogLevel( Logger::LOGDEBUG ); + + Config* c = new Config; + QVERIFY( c->generalPolicy().isEmpty() ); + QVERIFY( c->installTracking() ); // not-nullptr + + cDebug() << "Install" << Logger::Pointer( c->installTracking() ); + + delete c; // also deletes the owned tracking-configs +} + + +QTEST_GUILESS_MAIN( TrackingTests ) + +#include "utils/moc-warnings.h" + +#include "Tests.moc"