diff options
| author | atkawa7 <atkawa7@yahoo.com> | 2017-06-14 08:29:12 -0700 |
|---|---|---|
| committer | atkawa7 <atkawa7@yahoo.com> | 2017-06-14 08:29:12 -0700 |
| commit | ce5ad1ffe1ed0c6351a09b01bc92a2ad258b8f19 (patch) | |
| tree | b64edb2fe7d020661b3fe30213eef2a967a60fd3 /toolsrc/src/tests_dependencies.cpp | |
| parent | 0a7fee0e8b0a637c83b9dd55bcb7a85c85779aba (diff) | |
| parent | c5ac9898999b712b7bac2fbc497825882d5e9011 (diff) | |
| download | vcpkg-ce5ad1ffe1ed0c6351a09b01bc92a2ad258b8f19.tar.gz vcpkg-ce5ad1ffe1ed0c6351a09b01bc92a2ad258b8f19.zip | |
Merge https://github.com/Microsoft/vcpkg
Diffstat (limited to 'toolsrc/src/tests_dependencies.cpp')
| -rw-r--r-- | toolsrc/src/tests_dependencies.cpp | 65 |
1 files changed, 63 insertions, 2 deletions
diff --git a/toolsrc/src/tests_dependencies.cpp b/toolsrc/src/tests_dependencies.cpp index 3aabed80e..995d46873 100644 --- a/toolsrc/src/tests_dependencies.cpp +++ b/toolsrc/src/tests_dependencies.cpp @@ -15,7 +15,7 @@ namespace UnitTest1 { TEST_METHOD(parse_depends_one) { - auto v = expand_qualified_dependencies(parse_depends("libA [windows]")); + auto v = expand_qualified_dependencies(parse_comma_list("libA [windows]")); Assert::AreEqual(size_t(1), v.size()); Assert::AreEqual("libA", v[0].name.c_str()); Assert::AreEqual("windows", v[0].qualifier.c_str()); @@ -23,7 +23,7 @@ namespace UnitTest1 TEST_METHOD(filter_depends) { - auto deps = expand_qualified_dependencies(parse_depends("libA [windows], libB, libC [uwp]")); + auto deps = expand_qualified_dependencies(parse_comma_list("libA [windows], libB, libC [uwp]")); auto v = filter_dependencies(deps, Triplet::X64_WINDOWS); Assert::AreEqual(size_t(2), v.size()); Assert::AreEqual("libA", v[0].c_str()); @@ -35,4 +35,65 @@ namespace UnitTest1 Assert::AreEqual("libC", v2[1].c_str()); } }; + + class SupportsTests : public TestClass<SupportsTests> + { + TEST_METHOD(parse_supports_all) + { + auto v = Supports::parse({ + "x64", "x86", "arm", "windows", "uwp", "v140", "v141", "crt-static", "crt-dynamic", + }); + Assert::AreNotEqual(uintptr_t(0), uintptr_t(v.get())); + + Assert::IsTrue(v.get()->is_supported(System::CPUArchitecture::X64, + Supports::Platform::UWP, + Supports::Linkage::DYNAMIC, + Supports::ToolsetVersion::V140)); + Assert::IsTrue(v.get()->is_supported(System::CPUArchitecture::ARM, + Supports::Platform::WINDOWS, + Supports::Linkage::STATIC, + Supports::ToolsetVersion::V141)); + } + + TEST_METHOD(parse_supports_invalid) + { + auto v = Supports::parse({"arm64"}); + Assert::AreEqual(uintptr_t(0), uintptr_t(v.get())); + Assert::AreEqual(size_t(1), v.error().size()); + Assert::AreEqual("arm64", v.error()[0].c_str()); + } + + TEST_METHOD(parse_supports_case_sensitive) + { + auto v = Supports::parse({"Windows"}); + Assert::AreEqual(uintptr_t(0), uintptr_t(v.get())); + Assert::AreEqual(size_t(1), v.error().size()); + Assert::AreEqual("Windows", v.error()[0].c_str()); + } + + TEST_METHOD(parse_supports_some) + { + auto v = Supports::parse({ + "x64", "x86", "windows", + }); + Assert::AreNotEqual(uintptr_t(0), uintptr_t(v.get())); + + Assert::IsTrue(v.get()->is_supported(System::CPUArchitecture::X64, + Supports::Platform::WINDOWS, + Supports::Linkage::DYNAMIC, + Supports::ToolsetVersion::V140)); + Assert::IsFalse(v.get()->is_supported(System::CPUArchitecture::ARM, + Supports::Platform::WINDOWS, + Supports::Linkage::DYNAMIC, + Supports::ToolsetVersion::V140)); + Assert::IsFalse(v.get()->is_supported(System::CPUArchitecture::X64, + Supports::Platform::UWP, + Supports::Linkage::DYNAMIC, + Supports::ToolsetVersion::V140)); + Assert::IsTrue(v.get()->is_supported(System::CPUArchitecture::X64, + Supports::Platform::WINDOWS, + Supports::Linkage::STATIC, + Supports::ToolsetVersion::V141)); + } + }; } |
