diff --git a/src/modules/partition/tests/CMakeLists.txt b/src/modules/partition/tests/CMakeLists.txt index 8ebc14754..804dd9277 100644 --- a/src/modules/partition/tests/CMakeLists.txt +++ b/src/modules/partition/tests/CMakeLists.txt @@ -1,17 +1,9 @@ find_package( Qt5 COMPONENTS Gui REQUIRED ) +# Roundabout way of saying .. set( PartitionModule_SOURCE_DIR .. ) - -set( partitionjobtests_SRCS - ${PartitionModule_SOURCE_DIR}/core/KPMHelpers.cpp - ${PartitionModule_SOURCE_DIR}/core/PartitionInfo.cpp - ${PartitionModule_SOURCE_DIR}/jobs/CreatePartitionJob.cpp - ${PartitionModule_SOURCE_DIR}/jobs/CreatePartitionTableJob.cpp - ${PartitionModule_SOURCE_DIR}/jobs/DeletePartitionJob.cpp - ${PartitionModule_SOURCE_DIR}/jobs/PartitionJob.cpp - ${PartitionModule_SOURCE_DIR}/jobs/ResizePartitionJob.cpp - PartitionJobTests.cpp -) +# This is set by parent CMakeLists.txt +# set( _partition_defs ) include_directories( ${Qt5Gui_INCLUDE_DIRS} @@ -21,7 +13,16 @@ include_directories( ) if( ECM_FOUND AND BUILD_TESTING ) - ecm_add_test( ${partitionjobtests_SRCS} + ecm_add_test( + ${PartitionModule_SOURCE_DIR}/core/KPMHelpers.cpp + ${PartitionModule_SOURCE_DIR}/core/PartitionInfo.cpp + ${PartitionModule_SOURCE_DIR}/jobs/CreatePartitionJob.cpp + ${PartitionModule_SOURCE_DIR}/jobs/CreatePartitionTableJob.cpp + ${PartitionModule_SOURCE_DIR}/jobs/DeletePartitionJob.cpp + ${PartitionModule_SOURCE_DIR}/jobs/PartitionJob.cpp + ${PartitionModule_SOURCE_DIR}/jobs/ResizePartitionJob.cpp + PartitionJobTests.cpp + TEST_NAME partitionjobtests LINK_LIBRARIES ${CALAMARES_LIBRARIES} @@ -32,4 +33,20 @@ if( ECM_FOUND AND BUILD_TESTING ) set_target_properties( partitionjobtests PROPERTIES AUTOMOC TRUE ) target_compile_definitions( partitionjobtests PRIVATE ${_partition_defs} ) + + ecm_add_test( + ${PartitionModule_SOURCE_DIR}/jobs/ClearMountsJob.cpp + ClearMountsJobTests.cpp + + TEST_NAME clearmountsjobtests + LINK_LIBRARIES + ${CALAMARES_LIBRARIES} + kpmcore + Qt5::Core + Qt5::Test + ) + + set_target_properties( clearmountsjobtests PROPERTIES AUTOMOC TRUE ) + target_compile_definitions( clearmountsjobtests PRIVATE ${_partition_defs} ) + endif() diff --git a/src/modules/partition/tests/ClearMountsJobTests.cpp b/src/modules/partition/tests/ClearMountsJobTests.cpp new file mode 100644 index 000000000..4382d09d8 --- /dev/null +++ b/src/modules/partition/tests/ClearMountsJobTests.cpp @@ -0,0 +1,55 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY 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 Calamares. If not, see . + */ + +#include "ClearMountsJobTests.h" + +#include "utils/Logger.h" + +#include + +QTEST_GUILESS_MAIN( ClearMountsJobTests ) + + +/* Not exactly public API */ +QStringList +getPartitionsForDevice( const QString& deviceName ); + +QStringList +getPartitionsForDevice_other(const QString& deviceName) +{ + QStringList partitions; + + return partitions; +} + + +ClearMountsJobTests::ClearMountsJobTests() +{ + Logger::setupLogLevel(6); +} + +void ClearMountsJobTests::testFindPartitions() +{ + QStringList partitions = getPartitionsForDevice( "sda" ); + QStringList other_part = getPartitionsForDevice_other( "sda" ); + + cDebug() << "Initial implementation:" << Logger::DebugList( partitions ); + cDebug() << "Other implementation:" << Logger::DebugList( other_part ); + + QCOMPARE( partitions, other_part ); +} diff --git a/src/modules/partition/tests/ClearMountsJobTests.h b/src/modules/partition/tests/ClearMountsJobTests.h new file mode 100644 index 000000000..0cc2b5c78 --- /dev/null +++ b/src/modules/partition/tests/ClearMountsJobTests.h @@ -0,0 +1,34 @@ +/* === This file is part of Calamares - === + * + * Copyright 2019, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY 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 Calamares. If not, see . + */ + +#ifndef CLEARMOUNTSJOBTESTS_H +#define CLEARMOUNTSJOBTESTS_H + +#include + +class ClearMountsJobTests : public QObject +{ + Q_OBJECT +public: + ClearMountsJobTests(); + +private Q_SLOTS: + void testFindPartitions(); +}; + +#endif