diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2021-10-31 16:02:19 +0100 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2021-10-31 16:02:19 +0100 |
commit | 463f0740e1731c15917ffdb3e2f4b3f4c83aa024 (patch) | |
tree | ec733f3744009834901d61b0fc52aafd354df5d7 /test/testmain.cc | |
parent | 406e1b1eeb2a760c0b89ff141a183c78d113a5e4 (diff) |
Change to testdir before executing tests and add global paths variables for easier path testing inside the unit-tests.
Diffstat (limited to 'test/testmain.cc')
-rw-r--r-- | test/testmain.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/testmain.cc b/test/testmain.cc new file mode 100644 index 0000000..db8e22c --- /dev/null +++ b/test/testmain.cc @@ -0,0 +1,36 @@ +// -*- c++ -*- +// Distributed under the BSD 2-Clause License. +// See accompanying file LICENSE for details. +#define uUNIT_MAIN +#include "uunit.h" + +#include <fstream> +#include <string> +#include <filesystem> + +namespace paths +{ +std::string argv_0; +std::filesystem::path top_srcdir; +std::filesystem::path top_builddir; +std::filesystem::path testdir; +} + +int main(int argc, char* argv[]) +{ + (void)argc; + + paths::argv_0 = argv[0]; + + auto cur = std::filesystem::current_path(); + paths::testdir = std::filesystem::path(paths::argv_0).parent_path(); + // assuming <builddir>/test + paths::top_builddir = paths::testdir.parent_path(); + paths::top_srcdir = std::filesystem::relative(cur, paths::testdir); + + std::filesystem::current_path(paths::testdir); + + std::ofstream xmlfile; + xmlfile.open("result_" OUTPUT ".xml"); + return uUnit::runTests(xmlfile); +} |