aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/include/vcpkg-test
diff options
context:
space:
mode:
authorBilly O'Neal <bion@microsoft.com>2021-02-04 10:15:44 -0800
committerGitHub <noreply@github.com>2021-02-04 10:15:44 -0800
commitaa60b7efa56a83ead743718941d8b320ef4a05af (patch)
treedb9f9ebd6fa37598b2f5f2ad564eb858cdeddcb0 /toolsrc/include/vcpkg-test
parentf226416d2eafc495dd03572cb61542fb1670ffdc (diff)
downloadvcpkg-aa60b7efa56a83ead743718941d8b320ef4a05af.tar.gz
vcpkg-aa60b7efa56a83ead743718941d8b320ef4a05af.zip
[vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (#15474)
This reduces bootstrap cost for Windows customers, resolving the issue initially submitted as #12502 . The `toolsrc` tree was extracted to https://github.com/microsoft/vcpkg-tool. `bootstrap.sh` was changed to download the right source tarball, extract, and build it. This was chosen over the previous attempt, a submodule, over concerns of accidentally destroying people's local modifications.
Diffstat (limited to 'toolsrc/include/vcpkg-test')
-rw-r--r--toolsrc/include/vcpkg-test/mockcmakevarprovider.h42
-rw-r--r--toolsrc/include/vcpkg-test/util.h132
2 files changed, 0 insertions, 174 deletions
diff --git a/toolsrc/include/vcpkg-test/mockcmakevarprovider.h b/toolsrc/include/vcpkg-test/mockcmakevarprovider.h
deleted file mode 100644
index 6017457b6..000000000
--- a/toolsrc/include/vcpkg-test/mockcmakevarprovider.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#pragma once
-
-#include <vcpkg/cmakevars.h>
-
-namespace vcpkg::Test
-{
- struct MockCMakeVarProvider : CMakeVars::CMakeVarProvider
- {
- using SMap = std::unordered_map<std::string, std::string>;
- void load_generic_triplet_vars(Triplet triplet) const override
- {
- generic_triplet_vars.emplace(triplet, SMap{});
- }
-
- void load_dep_info_vars(Span<const PackageSpec> specs) const override
- {
- for (auto&& spec : specs)
- dep_info_vars.emplace(spec, SMap{});
- }
-
- void load_tag_vars(Span<const FullPackageSpec> specs,
- const PortFileProvider::PortFileProvider& port_provider) const override
- {
- for (auto&& spec : specs)
- tag_vars.emplace(spec.package_spec, SMap{});
- (void)(port_provider);
- }
-
- Optional<const std::unordered_map<std::string, std::string>&> get_generic_triplet_vars(
- Triplet triplet) const override;
-
- Optional<const std::unordered_map<std::string, std::string>&> get_dep_info_vars(
- const PackageSpec& spec) const override;
-
- Optional<const std::unordered_map<std::string, std::string>&> get_tag_vars(
- const PackageSpec& spec) const override;
-
- mutable std::unordered_map<PackageSpec, std::unordered_map<std::string, std::string>> dep_info_vars;
- mutable std::unordered_map<PackageSpec, std::unordered_map<std::string, std::string>> tag_vars;
- mutable std::unordered_map<Triplet, std::unordered_map<std::string, std::string>> generic_triplet_vars;
- };
-}
diff --git a/toolsrc/include/vcpkg-test/util.h b/toolsrc/include/vcpkg-test/util.h
deleted file mode 100644
index 1e20531fc..000000000
--- a/toolsrc/include/vcpkg-test/util.h
+++ /dev/null
@@ -1,132 +0,0 @@
-#include <vcpkg/base/system_headers.h>
-
-#include <catch2/catch.hpp>
-
-#include <vcpkg/base/files.h>
-#include <vcpkg/base/pragmas.h>
-
-#include <vcpkg/statusparagraph.h>
-
-#include <memory>
-
-#define CHECK_EC(ec) \
- do \
- { \
- if (ec) \
- { \
- FAIL(ec.message()); \
- } \
- } while (0)
-
-namespace Catch
-{
- template<>
- struct StringMaker<vcpkg::FullPackageSpec>
- {
- static std::string convert(vcpkg::FullPackageSpec const& value)
- {
- return vcpkg::Strings::concat(value.package_spec.name(),
- '[',
- vcpkg::Strings::join(",", value.features),
- "]:",
- value.package_spec.triplet());
- }
- };
-
- template<>
- struct StringMaker<vcpkg::Triplet>
- {
- static const std::string& convert(const vcpkg::Triplet& triplet) { return triplet.canonical_name(); }
- };
-}
-
-namespace vcpkg::Test
-{
- std::unique_ptr<SourceControlFile> make_control_file(
- const char* name,
- const char* depends,
- const std::vector<std::pair<const char*, const char*>>& features = {},
- const std::vector<const char*>& default_features = {});
-
- inline auto test_parse_control_file(const std::vector<std::unordered_map<std::string, std::string>>& v)
- {
- std::vector<vcpkg::Parse::Paragraph> pghs;
- for (auto&& p : v)
- {
- pghs.emplace_back();
- for (auto&& kv : p)
- pghs.back().emplace(kv.first, std::make_pair(kv.second, vcpkg::Parse::TextRowCol{}));
- }
- return vcpkg::SourceControlFile::parse_control_file("", std::move(pghs));
- }
-
- std::unique_ptr<vcpkg::StatusParagraph> make_status_pgh(const char* name,
- const char* depends = "",
- const char* default_features = "",
- const char* triplet = "x86-windows");
-
- std::unique_ptr<vcpkg::StatusParagraph> make_status_feature_pgh(const char* name,
- const char* feature,
- const char* depends = "",
- const char* triplet = "x86-windows");
-
- extern const Triplet X86_WINDOWS;
- extern const Triplet X64_WINDOWS;
- extern const Triplet X86_UWP;
- extern const Triplet ARM_UWP;
- extern const Triplet X64_ANDROID;
-
- /// <summary>
- /// Map of source control files by their package name.
- /// </summary>
- struct PackageSpecMap
- {
- std::unordered_map<std::string, SourceControlFileLocation> map;
- Triplet triplet;
- PackageSpecMap(Triplet t = X86_WINDOWS) noexcept : triplet(t) { }
-
- PackageSpec emplace(const char* name,
- const char* depends = "",
- const std::vector<std::pair<const char*, const char*>>& features = {},
- const std::vector<const char*>& default_features = {});
-
- PackageSpec emplace(vcpkg::SourceControlFileLocation&& scfl);
- };
-
- template<class T, class S>
- T&& unwrap(vcpkg::ExpectedT<T, S>&& p)
- {
- REQUIRE(p.has_value());
- return std::move(*p.get());
- }
-
- template<class T>
- T&& unwrap(vcpkg::Optional<T>&& opt)
- {
- REQUIRE(opt.has_value());
- return std::move(*opt.get());
- }
-
- struct AllowSymlinks
- {
- enum Tag : bool
- {
- No = false,
- Yes = true,
- } tag;
-
- constexpr AllowSymlinks(Tag tag) noexcept : tag(tag) { }
-
- constexpr explicit AllowSymlinks(bool b) noexcept : tag(b ? Yes : No) { }
-
- constexpr operator bool() const noexcept { return tag == Yes; }
- };
-
- AllowSymlinks can_create_symlinks() noexcept;
-
- const fs::path& base_temporary_directory() noexcept;
-
- void create_symlink(const fs::path& file, const fs::path& target, std::error_code& ec);
-
- void create_directory_symlink(const fs::path& file, const fs::path& target, std::error_code& ec);
-}