tests: add initApplication() to avoid code duplications

This commit is contained in:
wmayer
2023-10-21 18:34:21 +02:00
committed by Chris Hennes
parent 06ef58c885
commit 931fcdabbf
8 changed files with 37 additions and 36 deletions

View File

@@ -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)

View File

@@ -8,6 +8,7 @@
#include <App/Application.h>
#include <App/ComplexGeoData.h>
#include <Base/BoundBox.h>
#include <src/App/InitApplication.h>
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<char*, argc> argv {"FreeCAD"};
App::Application::Config()["ExeName"] = "FreeCAD";
App::Application::init(argc, argv.data());
}
tests::initApplication();
}
void SetUp() override

View File

@@ -7,6 +7,7 @@
#include "App/Document.h"
#include "App/StringHasher.h"
#include "Base/Writer.h"
#include <src/App/InitApplication.h>
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<char*, argc> argv {"FreeCAD"};
App::Application::Config()["ExeName"] = "FreeCAD";
App::Application::init(argc, const_cast<char**>(argv.data())); // NOLINT
}
tests::initApplication();
}
void SetUp() override

View File

@@ -4,6 +4,7 @@
#include <App/Application.h>
#include <App/ElementMap.h>
#include <src/App/InitApplication.h>
// 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

View File

@@ -0,0 +1,21 @@
#ifndef TEST_APPLICATION_H
#define TEST_APPLICATION_H
#include <App/Application.h>
namespace tests
{
static void initApplication()
{
if (App::Application::GetARGC() == 0) {
constexpr int argc = 1;
std::array<const char*, argc> argv {"FreeCAD"};
App::Application::Config()["ExeName"] = "FreeCAD";
App::Application::init(argc, const_cast<char**>(argv.data())); // NOLINT
}
}
} // namespace tests
#endif // TEST_APPLICATION_H

View File

@@ -6,6 +6,7 @@
#include <App/Application.h>
#include "Gui/QuantitySpinBox.h"
#include <src/App/InitApplication.h>
// 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<char*, argc> argv {"FreeCAD"};
App::Application::Config()["ExeName"] = "FreeCAD";
App::Application::init(argc, argv.data());
}
tests::initApplication();
qsb = std::make_unique<Gui::QuantitySpinBox>();
}

View File

@@ -33,18 +33,14 @@
#include <Mod/Material/App/MaterialManager.h>
#include <Mod/Material/App/Model.h>
#include <Mod/Material/App/ModelManager.h>
#include <src/App/InitApplication.h>
// clang-format off
class MaterialTest : public ::testing::Test {
protected:
static void SetUpTestSuite() {
if (App::Application::GetARGC() == 0) {
constexpr int argc = 1;
std::array<char*, argc> argv {"FreeCAD"};
App::Application::Config()["ExeName"] = "FreeCAD";
App::Application::init(argc, argv.data());
}
tests::initApplication();
}
void SetUp() override {

View File

@@ -10,18 +10,14 @@
#include <App/ObjectIdentifier.h>
#include <Mod/Sketcher/App/GeoEnum.h>
#include <Mod/Sketcher/App/SketchObject.h>
#include <src/App/InitApplication.h>
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