From 91da4aab4c74af1d30c68896a058100257910e8d Mon Sep 17 00:00:00 2001 From: martin-s Date: Tue, 2 Jul 2019 05:51:07 +0000 Subject: Allow redirection of the scripts folder. (#6552) * Allow redirection of the scripts folder with an environment variable. * - Updated feature from environment variable to argument. * Fix crash when no scripts override is given and use --scripts-root= format * Update help messages to use --scripts-root= format --- toolsrc/src/tests.arguments.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'toolsrc/src/tests.arguments.cpp') diff --git a/toolsrc/src/tests.arguments.cpp b/toolsrc/src/tests.arguments.cpp index 51ababd3d..533b3a0d0 100644 --- a/toolsrc/src/tests.arguments.cpp +++ b/toolsrc/src/tests.arguments.cpp @@ -15,9 +15,10 @@ namespace UnitTest1 { TEST_METHOD(create_from_arg_sequence_options_lower) { - std::vector t = {"--vcpkg-root", "C:\\vcpkg", "--debug", "--sendmetrics", "--printmetrics"}; + std::vector t = {"--vcpkg-root", "C:\\vcpkg", "--scripts-root", "C:\\scripts", "--debug", "--sendmetrics", "--printmetrics"}; auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size()); Assert::AreEqual("C:\\vcpkg", v.vcpkg_root_dir.get()->c_str()); + Assert::AreEqual("C:\\scripts", v.scripts_root_dir.get()->c_str()); Assert::IsTrue(v.debug && *v.debug.get()); Assert::IsTrue(v.sendmetrics && v.sendmetrics.get()); Assert::IsTrue(v.printmetrics && *v.printmetrics.get()); @@ -25,9 +26,10 @@ namespace UnitTest1 TEST_METHOD(create_from_arg_sequence_options_upper) { - std::vector t = {"--VCPKG-ROOT", "C:\\vcpkg", "--DEBUG", "--SENDMETRICS", "--PRINTMETRICS"}; + std::vector t = {"--VCPKG-ROOT", "C:\\vcpkg", "--SCRIPTS-ROOT", "C:\\scripts", "--DEBUG", "--SENDMETRICS", "--PRINTMETRICS"}; auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size()); Assert::AreEqual("C:\\vcpkg", v.vcpkg_root_dir.get()->c_str()); + Assert::AreEqual("C:\\scripts", v.scripts_root_dir.get()->c_str()); Assert::IsTrue(v.debug && *v.debug.get()); Assert::IsTrue(v.sendmetrics && v.sendmetrics.get()); Assert::IsTrue(v.printmetrics && *v.printmetrics.get()); -- cgit v1.2.3 From 7dbe375a2c270e91f9742dd78cf2b579d1f5f2fa Mon Sep 17 00:00:00 2001 From: Victor Romero Date: Thu, 11 Jul 2019 17:00:55 -0700 Subject: Testing for --overlay-ports and --overlay-triplets args (#7243) --- toolsrc/src/tests.arguments.cpp | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to 'toolsrc/src/tests.arguments.cpp') diff --git a/toolsrc/src/tests.arguments.cpp b/toolsrc/src/tests.arguments.cpp index 533b3a0d0..e108b983a 100644 --- a/toolsrc/src/tests.arguments.cpp +++ b/toolsrc/src/tests.arguments.cpp @@ -15,24 +15,60 @@ namespace UnitTest1 { TEST_METHOD(create_from_arg_sequence_options_lower) { - std::vector t = {"--vcpkg-root", "C:\\vcpkg", "--scripts-root", "C:\\scripts", "--debug", "--sendmetrics", "--printmetrics"}; + std::vector t = { + "--vcpkg-root", "C:\\vcpkg", + "--scripts-root=C:\\scripts", + "--debug", + "--sendmetrics", + "--printmetrics", + "--overlay-ports=C:\\ports1", + "--overlay-ports=C:\\ports2", + "--overlay-triplets=C:\\tripletsA", + "--overlay-triplets=C:\\tripletsB" + }; auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size()); Assert::AreEqual("C:\\vcpkg", v.vcpkg_root_dir.get()->c_str()); Assert::AreEqual("C:\\scripts", v.scripts_root_dir.get()->c_str()); Assert::IsTrue(v.debug && *v.debug.get()); Assert::IsTrue(v.sendmetrics && v.sendmetrics.get()); Assert::IsTrue(v.printmetrics && *v.printmetrics.get()); + + Assert::IsTrue(v.overlay_ports.get()->size() == 2); + Assert::AreEqual("C:\\ports1", v.overlay_ports.get()->at(0).c_str()); + Assert::AreEqual("C:\\ports2", v.overlay_ports.get()->at(1).c_str()); + + Assert::IsTrue(v.overlay_triplets.get()->size() == 2); + Assert::AreEqual("C:\\tripletsA", v.overlay_triplets.get()->at(0).c_str()); + Assert::AreEqual("C:\\tripletsB", v.overlay_triplets.get()->at(1).c_str()); } TEST_METHOD(create_from_arg_sequence_options_upper) { - std::vector t = {"--VCPKG-ROOT", "C:\\vcpkg", "--SCRIPTS-ROOT", "C:\\scripts", "--DEBUG", "--SENDMETRICS", "--PRINTMETRICS"}; + std::vector t = { + "--VCPKG-ROOT", "C:\\vcpkg", + "--SCRIPTS-ROOT=C:\\scripts", + "--DEBUG", + "--SENDMETRICS", + "--PRINTMETRICS", + "--OVERLAY-PORTS=C:\\ports1", + "--OVERLAY-PORTS=C:\\ports2", + "--OVERLAY-TRIPLETS=C:\\tripletsA", + "--OVERLAY-TRIPLETS=C:\\tripletsB" + }; auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size()); Assert::AreEqual("C:\\vcpkg", v.vcpkg_root_dir.get()->c_str()); Assert::AreEqual("C:\\scripts", v.scripts_root_dir.get()->c_str()); Assert::IsTrue(v.debug && *v.debug.get()); Assert::IsTrue(v.sendmetrics && v.sendmetrics.get()); Assert::IsTrue(v.printmetrics && *v.printmetrics.get()); + + Assert::IsTrue(v.overlay_ports.get()->size() == 2); + Assert::AreEqual("C:\\ports1", v.overlay_ports.get()->at(0).c_str()); + Assert::AreEqual("C:\\ports2", v.overlay_ports.get()->at(1).c_str()); + + Assert::IsTrue(v.overlay_triplets.get()->size() == 2); + Assert::AreEqual("C:\\tripletsA", v.overlay_triplets.get()->at(0).c_str()); + Assert::AreEqual("C:\\tripletsB", v.overlay_triplets.get()->at(1).c_str()); } TEST_METHOD(create_from_arg_sequence_valued_options) -- cgit v1.2.3 From 825055378998ae6bc24e8cb0bce2e1fbf9a425da Mon Sep 17 00:00:00 2001 From: nicole mazzuca Date: Thu, 18 Jul 2019 19:07:00 -0700 Subject: Rewrite the tests! now they're cross-platform! (#7315) * begin exploratory rewriting of tests * continue working on tests * more test work! holy butts vcpkg-tests/plan.cpp was a bunch of work * finish writing new tests - [x] write catch2 tests - [ ] rewrite/at least delete the VS project files - [ ] document running tests * Fix tests to work on WSL, rewrite test vcxproj still need to test on macOS also, delete tests.pch.h * Condense add_test calls --- toolsrc/src/tests.arguments.cpp | 104 ---------------------------------------- 1 file changed, 104 deletions(-) delete mode 100644 toolsrc/src/tests.arguments.cpp (limited to 'toolsrc/src/tests.arguments.cpp') diff --git a/toolsrc/src/tests.arguments.cpp b/toolsrc/src/tests.arguments.cpp deleted file mode 100644 index e108b983a..000000000 --- a/toolsrc/src/tests.arguments.cpp +++ /dev/null @@ -1,104 +0,0 @@ -#include "tests.pch.h" - -#if defined(_WIN32) -#pragma comment(lib, "version") -#pragma comment(lib, "winhttp") -#endif - -using namespace Microsoft::VisualStudio::CppUnitTestFramework; - -using namespace vcpkg; - -namespace UnitTest1 -{ - class ArgumentTests : public TestClass - { - TEST_METHOD(create_from_arg_sequence_options_lower) - { - std::vector t = { - "--vcpkg-root", "C:\\vcpkg", - "--scripts-root=C:\\scripts", - "--debug", - "--sendmetrics", - "--printmetrics", - "--overlay-ports=C:\\ports1", - "--overlay-ports=C:\\ports2", - "--overlay-triplets=C:\\tripletsA", - "--overlay-triplets=C:\\tripletsB" - }; - auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size()); - Assert::AreEqual("C:\\vcpkg", v.vcpkg_root_dir.get()->c_str()); - Assert::AreEqual("C:\\scripts", v.scripts_root_dir.get()->c_str()); - Assert::IsTrue(v.debug && *v.debug.get()); - Assert::IsTrue(v.sendmetrics && v.sendmetrics.get()); - Assert::IsTrue(v.printmetrics && *v.printmetrics.get()); - - Assert::IsTrue(v.overlay_ports.get()->size() == 2); - Assert::AreEqual("C:\\ports1", v.overlay_ports.get()->at(0).c_str()); - Assert::AreEqual("C:\\ports2", v.overlay_ports.get()->at(1).c_str()); - - Assert::IsTrue(v.overlay_triplets.get()->size() == 2); - Assert::AreEqual("C:\\tripletsA", v.overlay_triplets.get()->at(0).c_str()); - Assert::AreEqual("C:\\tripletsB", v.overlay_triplets.get()->at(1).c_str()); - } - - TEST_METHOD(create_from_arg_sequence_options_upper) - { - std::vector t = { - "--VCPKG-ROOT", "C:\\vcpkg", - "--SCRIPTS-ROOT=C:\\scripts", - "--DEBUG", - "--SENDMETRICS", - "--PRINTMETRICS", - "--OVERLAY-PORTS=C:\\ports1", - "--OVERLAY-PORTS=C:\\ports2", - "--OVERLAY-TRIPLETS=C:\\tripletsA", - "--OVERLAY-TRIPLETS=C:\\tripletsB" - }; - auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size()); - Assert::AreEqual("C:\\vcpkg", v.vcpkg_root_dir.get()->c_str()); - Assert::AreEqual("C:\\scripts", v.scripts_root_dir.get()->c_str()); - Assert::IsTrue(v.debug && *v.debug.get()); - Assert::IsTrue(v.sendmetrics && v.sendmetrics.get()); - Assert::IsTrue(v.printmetrics && *v.printmetrics.get()); - - Assert::IsTrue(v.overlay_ports.get()->size() == 2); - Assert::AreEqual("C:\\ports1", v.overlay_ports.get()->at(0).c_str()); - Assert::AreEqual("C:\\ports2", v.overlay_ports.get()->at(1).c_str()); - - Assert::IsTrue(v.overlay_triplets.get()->size() == 2); - Assert::AreEqual("C:\\tripletsA", v.overlay_triplets.get()->at(0).c_str()); - Assert::AreEqual("C:\\tripletsB", v.overlay_triplets.get()->at(1).c_str()); - } - - TEST_METHOD(create_from_arg_sequence_valued_options) - { - std::array settings = {{{"--a", ""}}}; - CommandStructure cmdstruct = {"", 0, SIZE_MAX, {{}, settings}, nullptr}; - - std::vector t = {"--a=b", "command", "argument"}; - auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size()); - auto opts = v.parse_arguments(cmdstruct); - Assert::AreEqual("b", opts.settings["--a"].c_str()); - Assert::AreEqual(size_t{1}, v.command_arguments.size()); - Assert::AreEqual("argument", v.command_arguments[0].c_str()); - Assert::AreEqual("command", v.command.c_str()); - } - - TEST_METHOD(create_from_arg_sequence_valued_options2) - { - std::array switches = {{{"--a", ""}, {"--c", ""}}}; - std::array settings = {{{"--b", ""}, {"--d", ""}}}; - CommandStructure cmdstruct = {"", 0, SIZE_MAX, {switches, settings}, nullptr}; - - std::vector t = {"--a", "--b=c"}; - auto v = VcpkgCmdArguments::create_from_arg_sequence(t.data(), t.data() + t.size()); - auto opts = v.parse_arguments(cmdstruct); - Assert::AreEqual("c", opts.settings["--b"].c_str()); - Assert::IsTrue(opts.settings.find("--d") == opts.settings.end()); - Assert::IsTrue(opts.switches.find("--a") != opts.switches.end()); - Assert::IsTrue(opts.settings.find("--c") == opts.settings.end()); - Assert::AreEqual(size_t{0}, v.command_arguments.size()); - } - }; -} -- cgit v1.2.3