diff options
-rw-r--r-- | tests/unit/unittest/unittests-main.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/tests/unit/unittest/unittests-main.cpp b/tests/unit/unittest/unittests-main.cpp index 6704a08034..97ad89e321 100644 --- a/tests/unit/unittest/unittests-main.cpp +++ b/tests/unit/unittest/unittests-main.cpp @@ -36,13 +36,23 @@ #include <benchmark/benchmark.h> #endif +class Environment : public testing::Environment +{ +public: + void SetUp() override + { + const QString temporayDirectoryPath = QDir::tempPath() + "/QtCreator-UnitTests-XXXXXX"; + Utils::TemporaryDirectory::setMasterTemporaryDirectory(temporayDirectoryPath); + qputenv("TMPDIR", Utils::TemporaryDirectory::masterDirectoryPath().toUtf8()); + qputenv("TEMP", Utils::TemporaryDirectory::masterDirectoryPath().toUtf8()); + } + + void TearDown() override {} +}; + int main(int argc, char *argv[]) { Sqlite::Database::activateLogging(); - const QString temporayDirectoryPath = QDir::tempPath() +"/QtCreator-UnitTests-XXXXXX"; - Utils::TemporaryDirectory::setMasterTemporaryDirectory(temporayDirectoryPath); - qputenv("TMPDIR", Utils::TemporaryDirectory::masterDirectoryPath().toUtf8()); - qputenv("TEMP", Utils::TemporaryDirectory::masterDirectoryPath().toUtf8()); QCoreApplication application(argc, argv); @@ -51,6 +61,9 @@ int main(int argc, char *argv[]) benchmark::Initialize(&argc, argv); #endif + Environment environment; + testing::AddGlobalTestEnvironment(&environment); + int testsHaveErrors = RUN_ALL_TESTS(); #ifdef WITH_BENCHMARKS |