diff options
Diffstat (limited to 'toolsrc/src/vcpkg-test')
| -rw-r--r-- | toolsrc/src/vcpkg-test/commands.build.cpp | 14 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg-test/util.cpp | 7 |
2 files changed, 18 insertions, 3 deletions
diff --git a/toolsrc/src/vcpkg-test/commands.build.cpp b/toolsrc/src/vcpkg-test/commands.build.cpp index b1953f55e..bc0dc5b4e 100644 --- a/toolsrc/src/vcpkg-test/commands.build.cpp +++ b/toolsrc/src/vcpkg-test/commands.build.cpp @@ -6,15 +6,27 @@ #include <vcpkg/commands.h> #include <vcpkg/vcpkgcmdarguments.h> #include <vcpkg/vcpkgpaths.h> +#include <vcpkg-test/util.h> + +using namespace vcpkg; TEST_CASE ("build smoke test", "[commands-build]") { - using namespace vcpkg; static const std::string args_raw[] = {"build", "zlib"}; auto& fs_wrapper = Files::get_real_filesystem(); VcpkgCmdArguments args = VcpkgCmdArguments::create_from_arg_sequence(std::begin(args_raw), std::end(args_raw)); + args.binary_caching = false; + args.buildtrees_root_dir = + std::make_unique<std::string>((Test::base_temporary_directory() / fs::u8path("buildtrees")).u8string()); + args.install_root_dir = + std::make_unique<std::string>((Test::base_temporary_directory() / fs::u8path("installed")).u8string()); + args.packages_root_dir = + std::make_unique<std::string>((Test::base_temporary_directory() / fs::u8path("packages")).u8string()); VcpkgPaths paths(fs_wrapper, args); + if (fs_wrapper.exists(paths.buildtrees)) fs_wrapper.remove_all_inside(paths.buildtrees, VCPKG_LINE_INFO); + if (fs_wrapper.exists(paths.packages)) fs_wrapper.remove_all_inside(paths.packages, VCPKG_LINE_INFO); + if (fs_wrapper.exists(paths.installed)) fs_wrapper.remove_all_inside(paths.installed, VCPKG_LINE_INFO); auto triplet = default_triplet(args); const auto exit_code = Build::Command::perform(args, paths, triplet); REQUIRE(exit_code == 0); diff --git a/toolsrc/src/vcpkg-test/util.cpp b/toolsrc/src/vcpkg-test/util.cpp index ce38e62e4..c0b898145 100644 --- a/toolsrc/src/vcpkg-test/util.cpp +++ b/toolsrc/src/vcpkg-test/util.cpp @@ -155,9 +155,12 @@ namespace vcpkg::Test #endif } - const static fs::path BASE_TEMPORARY_DIRECTORY = internal_base_temporary_directory(); - const fs::path& base_temporary_directory() noexcept { return BASE_TEMPORARY_DIRECTORY; } + const fs::path& base_temporary_directory() noexcept + { + const static fs::path BASE_TEMPORARY_DIRECTORY = internal_base_temporary_directory(); + return BASE_TEMPORARY_DIRECTORY; + } #if FILESYSTEM_SYMLINK == FILESYSTEM_SYMLINK_NONE constexpr char no_filesystem_message[] = |
