From 0b0e9effeb42c9ad441e1a70efcbfb2cd3d05223 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 21 Oct 2023 18:34:21 +0200 Subject: [PATCH] tests: add initApplication() to avoid code duplications --- tests/CMakeLists.txt | 4 ++++ tests/src/App/ComplexGeoData.cpp | 8 ++------ tests/src/App/Document.cpp | 8 ++------ tests/src/App/ElementMap.cpp | 8 ++------ tests/src/App/InitApplication.h | 21 +++++++++++++++++++++ tests/src/Gui/QuantitySpinBox.cpp | 8 ++------ tests/src/Mod/Material/App/Model.cpp | 8 ++------ tests/src/Mod/Sketcher/App/SketchObject.cpp | 8 ++------ 8 files changed, 37 insertions(+), 36 deletions(-) create mode 100644 tests/src/App/InitApplication.h diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7cb488ecd4..f3b605fe99 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -37,6 +37,10 @@ if(NOT BUILD_DYNAMIC_LINK_PYTHON) ) endif() +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} +) + set(CMAKE_AUTOMOC ON) function(setup_qt_test) diff --git a/tests/src/App/ComplexGeoData.cpp b/tests/src/App/ComplexGeoData.cpp index 23c6cddf4a..0f962c4d14 100644 --- a/tests/src/App/ComplexGeoData.cpp +++ b/tests/src/App/ComplexGeoData.cpp @@ -8,6 +8,7 @@ #include #include #include +#include class ConcreteComplexGeoDataForTesting: public Data::ComplexGeoData @@ -72,12 +73,7 @@ class ComplexGeoDataTest: public ::testing::Test protected: static void SetUpTestSuite() { - if (App::Application::GetARGC() == 0) { - constexpr int argc = 1; - std::array argv {"FreeCAD"}; - App::Application::Config()["ExeName"] = "FreeCAD"; - App::Application::init(argc, argv.data()); - } + tests::initApplication(); } void SetUp() override diff --git a/tests/src/App/Document.cpp b/tests/src/App/Document.cpp index 027c60c583..5ac999765d 100644 --- a/tests/src/App/Document.cpp +++ b/tests/src/App/Document.cpp @@ -7,6 +7,7 @@ #include "App/Document.h" #include "App/StringHasher.h" #include "Base/Writer.h" +#include using ::testing::Eq; using ::testing::Ne; @@ -28,12 +29,7 @@ class DocumentTest: public ::testing::Test protected: static void SetUpTestSuite() { - if (App::Application::GetARGC() == 0) { - constexpr int argc = 1; - std::array argv {"FreeCAD"}; - App::Application::Config()["ExeName"] = "FreeCAD"; - App::Application::init(argc, const_cast(argv.data())); // NOLINT - } + tests::initApplication(); } void SetUp() override diff --git a/tests/src/App/ElementMap.cpp b/tests/src/App/ElementMap.cpp index 05fba5cbea..3e63bb1a7e 100644 --- a/tests/src/App/ElementMap.cpp +++ b/tests/src/App/ElementMap.cpp @@ -4,6 +4,7 @@ #include #include +#include // NOLINTBEGIN(readability-magic-numbers) @@ -45,12 +46,7 @@ class ElementMapTest: public ::testing::Test protected: static void SetUpTestSuite() { - if (App::Application::GetARGC() == 0) { - int argc = 1; - char* argv[] = {"FreeCAD"}; - App::Application::Config()["ExeName"] = "FreeCAD"; - App::Application::init(argc, argv); - } + tests::initApplication(); } void SetUp() override diff --git a/tests/src/App/InitApplication.h b/tests/src/App/InitApplication.h new file mode 100644 index 0000000000..53cc4f5b13 --- /dev/null +++ b/tests/src/App/InitApplication.h @@ -0,0 +1,21 @@ +#ifndef TEST_APPLICATION_H +#define TEST_APPLICATION_H + +#include + +namespace tests +{ + +static void initApplication() +{ + if (App::Application::GetARGC() == 0) { + constexpr int argc = 1; + std::array argv {"FreeCAD"}; + App::Application::Config()["ExeName"] = "FreeCAD"; + App::Application::init(argc, const_cast(argv.data())); // NOLINT + } +} + +} // namespace tests + +#endif // TEST_APPLICATION_H diff --git a/tests/src/Gui/QuantitySpinBox.cpp b/tests/src/Gui/QuantitySpinBox.cpp index 05f571dac4..ebfc454c70 100644 --- a/tests/src/Gui/QuantitySpinBox.cpp +++ b/tests/src/Gui/QuantitySpinBox.cpp @@ -6,6 +6,7 @@ #include #include "Gui/QuantitySpinBox.h" +#include // NOLINTBEGIN(readability-magic-numbers) @@ -16,12 +17,7 @@ class testQuantitySpinBox: public QObject public: testQuantitySpinBox() { - if (App::Application::GetARGC() == 0) { - constexpr int argc = 1; - std::array argv {"FreeCAD"}; - App::Application::Config()["ExeName"] = "FreeCAD"; - App::Application::init(argc, argv.data()); - } + tests::initApplication(); qsb = std::make_unique(); } diff --git a/tests/src/Mod/Material/App/Model.cpp b/tests/src/Mod/Material/App/Model.cpp index 19300f1231..6a0f84b354 100644 --- a/tests/src/Mod/Material/App/Model.cpp +++ b/tests/src/Mod/Material/App/Model.cpp @@ -33,18 +33,14 @@ #include #include #include +#include // clang-format off class MaterialTest : public ::testing::Test { protected: static void SetUpTestSuite() { - if (App::Application::GetARGC() == 0) { - constexpr int argc = 1; - std::array argv {"FreeCAD"}; - App::Application::Config()["ExeName"] = "FreeCAD"; - App::Application::init(argc, argv.data()); - } + tests::initApplication(); } void SetUp() override { diff --git a/tests/src/Mod/Sketcher/App/SketchObject.cpp b/tests/src/Mod/Sketcher/App/SketchObject.cpp index 46e6c0cd7a..7b4e5ecfbb 100644 --- a/tests/src/Mod/Sketcher/App/SketchObject.cpp +++ b/tests/src/Mod/Sketcher/App/SketchObject.cpp @@ -10,18 +10,14 @@ #include #include #include +#include class SketchObjectTest: public ::testing::Test { protected: static void SetUpTestSuite() { - if (App::Application::GetARGC() == 0) { - int argc = 1; - char* argv[] = {"FreeCAD"}; - App::Application::Config()["ExeName"] = "FreeCAD"; - App::Application::init(argc, argv); - } + tests::initApplication(); } void SetUp() override