aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg-test/paragraph.cpp
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2020-02-07 11:24:35 -0800
committerGitHub <noreply@github.com>2020-02-07 11:24:35 -0800
commit8db6db5dac70c25b04cd4dd84392484dee822fbe (patch)
tree4734de271f966ff4b9a913b15c1b7b537ecd1a8d /toolsrc/src/vcpkg-test/paragraph.cpp
parent2873f07823df192ba55693d200850669eabe332c (diff)
downloadvcpkg-8db6db5dac70c25b04cd4dd84392484dee822fbe.tar.gz
vcpkg-8db6db5dac70c25b04cd4dd84392484dee822fbe.zip
[vcpkg] Further parser improvements (#9895)
* [vcpkg] Consolidate several internal parsers together (packagespecs + logicexpression + control) and enhance error messages * [vcpkg] Migrate Build-Depends parsing to new framework * [vcpkg] Fix tests. Re-enable underscores in feature names due to libwebp[vwebp_sdl] -- todo: rename this feature and remove underscores.
Diffstat (limited to 'toolsrc/src/vcpkg-test/paragraph.cpp')
-rw-r--r--toolsrc/src/vcpkg-test/paragraph.cpp48
1 files changed, 24 insertions, 24 deletions
diff --git a/toolsrc/src/vcpkg-test/paragraph.cpp b/toolsrc/src/vcpkg-test/paragraph.cpp
index 2ee4efe2f..21da80c5b 100644
--- a/toolsrc/src/vcpkg-test/paragraph.cpp
+++ b/toolsrc/src/vcpkg-test/paragraph.cpp
@@ -46,7 +46,7 @@ TEST_CASE ("SourceParagraph construct maximum", "[paragraph]")
REQUIRE(pgh.core_paragraph->maintainer == "m");
REQUIRE(pgh.core_paragraph->description == "d");
REQUIRE(pgh.core_paragraph->depends.size() == 1);
- REQUIRE(pgh.core_paragraph->depends[0].name() == "bd");
+ REQUIRE(pgh.core_paragraph->depends[0].depend.name == "bd");
REQUIRE(pgh.core_paragraph->default_features.size() == 1);
REQUIRE(pgh.core_paragraph->default_features[0] == "df");
}
@@ -64,8 +64,8 @@ TEST_CASE ("SourceParagraph two depends", "[paragraph]")
auto& pgh = **m_pgh.get();
REQUIRE(pgh.core_paragraph->depends.size() == 2);
- REQUIRE(pgh.core_paragraph->depends[0].name() == "z");
- REQUIRE(pgh.core_paragraph->depends[1].name() == "openssl");
+ REQUIRE(pgh.core_paragraph->depends[0].depend.name == "z");
+ REQUIRE(pgh.core_paragraph->depends[1].depend.name == "openssl");
}
TEST_CASE ("SourceParagraph three depends", "[paragraph]")
@@ -81,9 +81,9 @@ TEST_CASE ("SourceParagraph three depends", "[paragraph]")
auto& pgh = **m_pgh.get();
REQUIRE(pgh.core_paragraph->depends.size() == 3);
- REQUIRE(pgh.core_paragraph->depends[0].name() == "z");
- REQUIRE(pgh.core_paragraph->depends[1].name() == "openssl");
- REQUIRE(pgh.core_paragraph->depends[2].name() == "xyz");
+ REQUIRE(pgh.core_paragraph->depends[0].depend.name == "z");
+ REQUIRE(pgh.core_paragraph->depends[1].depend.name == "openssl");
+ REQUIRE(pgh.core_paragraph->depends[2].depend.name == "xyz");
}
TEST_CASE ("SourceParagraph construct qualified depends", "[paragraph]")
@@ -93,7 +93,7 @@ TEST_CASE ("SourceParagraph construct qualified depends", "[paragraph]")
std::vector<std::unordered_map<std::string, std::string>>{{
{"Source", "zlib"},
{"Version", "1.2.8"},
- {"Build-Depends", "libA (windows), libB (uwp)"},
+ {"Build-Depends", "liba (windows), libb (uwp)"},
}});
REQUIRE(m_pgh.has_value());
auto& pgh = **m_pgh.get();
@@ -103,9 +103,9 @@ TEST_CASE ("SourceParagraph construct qualified depends", "[paragraph]")
REQUIRE(pgh.core_paragraph->maintainer == "");
REQUIRE(pgh.core_paragraph->description == "");
REQUIRE(pgh.core_paragraph->depends.size() == 2);
- REQUIRE(pgh.core_paragraph->depends[0].name() == "libA");
+ REQUIRE(pgh.core_paragraph->depends[0].depend.name == "liba");
REQUIRE(pgh.core_paragraph->depends[0].qualifier == "windows");
- REQUIRE(pgh.core_paragraph->depends[1].name() == "libB");
+ REQUIRE(pgh.core_paragraph->depends[1].depend.name == "libb");
REQUIRE(pgh.core_paragraph->depends[1].qualifier == "uwp");
}
@@ -210,14 +210,14 @@ TEST_CASE ("BinaryParagraph default features", "[paragraph]")
TEST_CASE ("parse paragraphs empty", "[paragraph]")
{
const char* str = "";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.empty());
}
TEST_CASE ("parse paragraphs one field", "[paragraph]")
{
const char* str = "f1: v1";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 1);
REQUIRE(pghs[0].size() == 1);
REQUIRE(pghs[0]["f1"] == "v1");
@@ -227,7 +227,7 @@ TEST_CASE ("parse paragraphs one pgh", "[paragraph]")
{
const char* str = "f1: v1\n"
"f2: v2";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 1);
REQUIRE(pghs[0].size() == 2);
REQUIRE(pghs[0]["f1"] == "v1");
@@ -241,7 +241,7 @@ TEST_CASE ("parse paragraphs two pgh", "[paragraph]")
"\n"
"f3: v3\n"
"f4: v4";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 2);
REQUIRE(pghs[0].size() == 2);
@@ -259,7 +259,7 @@ TEST_CASE ("parse paragraphs field names", "[paragraph]")
"F:\n"
"0:\n"
"F-2:\n";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 1);
REQUIRE(pghs[0].size() == 5);
@@ -273,7 +273,7 @@ TEST_CASE ("parse paragraphs multiple blank lines", "[paragraph]")
"\n"
"f3: v3\n"
"f4: v4";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 2);
}
@@ -282,7 +282,7 @@ TEST_CASE ("parse paragraphs empty fields", "[paragraph]")
{
const char* str = "f1:\n"
"f2: ";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 1);
REQUIRE(pghs[0].size() == 2);
@@ -298,7 +298,7 @@ TEST_CASE ("parse paragraphs multiline fields", "[paragraph]")
"f2:\r\n"
" f2\r\n"
" continue\r\n";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 1);
REQUIRE(pghs[0]["f1"] == "simple\n f1");
@@ -312,7 +312,7 @@ TEST_CASE ("parse paragraphs crlfs", "[paragraph]")
"\r\n"
"f3: v3\r\n"
"f4: v4";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 2);
REQUIRE(pghs[0].size() == 2);
@@ -334,7 +334,7 @@ TEST_CASE ("parse paragraphs comment", "[paragraph]")
"f3: v3\r\n"
"#comment\r\n"
"f4: v4";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 2);
REQUIRE(pghs[0].size() == 2);
@@ -349,7 +349,7 @@ TEST_CASE ("parse comment before single line feed", "[paragraph]")
{
const char* str = "f1: v1\r\n"
"#comment\n";
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(str).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(str, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs[0].size() == 1);
REQUIRE(pghs[0]["f1"] == "v1");
}
@@ -363,7 +363,7 @@ TEST_CASE ("BinaryParagraph serialize min", "[paragraph]")
{"Multi-Arch", "same"},
});
std::string ss = Strings::serialize(pgh);
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 1);
REQUIRE(pghs[0].size() == 5);
@@ -386,7 +386,7 @@ TEST_CASE ("BinaryParagraph serialize max", "[paragraph]")
{"Multi-Arch", "same"},
});
std::string ss = Strings::serialize(pgh);
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 1);
REQUIRE(pghs[0].size() == 8);
@@ -409,7 +409,7 @@ TEST_CASE ("BinaryParagraph serialize multiple deps", "[paragraph]")
{"Depends", "a, b, c"},
});
std::string ss = Strings::serialize(pgh);
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 1);
REQUIRE(pghs[0]["Depends"] == "a, b, c");
@@ -426,7 +426,7 @@ TEST_CASE ("BinaryParagraph serialize abi", "[paragraph]")
{"Abi", "123abc"},
});
std::string ss = Strings::serialize(pgh);
- auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss).value_or_exit(VCPKG_LINE_INFO);
+ auto pghs = vcpkg::Paragraphs::parse_paragraphs(ss, "").value_or_exit(VCPKG_LINE_INFO);
REQUIRE(pghs.size() == 1);
REQUIRE(pghs[0]["Abi"] == "123abc");