diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2020-03-24 19:22:40 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2020-03-27 11:25:22 +0300 |
commit | 10b3c9e5a8ce46cfbc3c80042fcaf6079f6a8a34 (patch) | |
tree | 13cb9beac308afab5ec1188bb73f28beb64eafe2 /test/unit_tests/utils.hpp | |
parent | fix a bug where I failed to account for TCHARs, again (diff) | |
download | winapi-debug-10b3c9e5a8ce46cfbc3c80042fcaf6079f6a8a34.tar.gz winapi-debug-10b3c9e5a8ce46cfbc3c80042fcaf6079f6a8a34.zip |
add some unit tests
Diffstat (limited to '')
-rw-r--r-- | test/unit_tests/utils.hpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/unit_tests/utils.hpp b/test/unit_tests/utils.hpp new file mode 100644 index 0000000..561ca4d --- /dev/null +++ b/test/unit_tests/utils.hpp @@ -0,0 +1,37 @@ +#pragma once + +#include <boost/filesystem.hpp> +#include <boost/nowide/filesystem.hpp> +#include <boost/test/unit_test.hpp> + +using path = boost::filesystem::path; + +class FixFilesystem { +public: + FixFilesystem() { boost::nowide::nowide_filesystem(); } +}; + +class Paths { +public: + typedef boost::filesystem::path path; + + static Paths& get() { + static FixFilesystem fix_filesystem; + static Paths instance; + return instance; + } + + Paths() : exe_path{get_executable_path()}, exe_dir{exe_path.parent_path()} {} + + const path exe_path; + const path exe_dir; + +private: + static path get_executable_path() { + const auto argv0 = boost::unit_test::framework::master_test_suite().argv[0]; + return boost::filesystem::system_complete(argv0); + } + + Paths(const Paths&) = delete; + Paths& operator=(const Paths&) = delete; +}; |