aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg-test
diff options
context:
space:
mode:
authorras0219 <533828+ras0219@users.noreply.github.com>2020-12-04 12:57:13 -0800
committerGitHub <noreply@github.com>2020-12-04 12:57:13 -0800
commit60aa143e59687ed4b689d24d80a6f93ae123da86 (patch)
treeda874cbe00f8c14a47a71801df9045381aed7a96 /toolsrc/src/vcpkg-test
parent99cfc38036f330a035b57aa67f661526153e31c7 (diff)
downloadvcpkg-60aa143e59687ed4b689d24d80a6f93ae123da86.tar.gz
vcpkg-60aa143e59687ed4b689d24d80a6f93ae123da86.zip
[vcpkg] Error on '#' in version strings to avoid confusion (#14927)
* [vcpkg] Refactor deserializers to reduce duplicate functionality * [vcpkg] Error on '#' in version strings to avoid confusion with port-version * [vcpkg] Improve error message * [vcpkg] Reorder field output * [vcpkg] Fix tests Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'toolsrc/src/vcpkg-test')
-rw-r--r--toolsrc/src/vcpkg-test/manifests.cpp105
1 files changed, 101 insertions, 4 deletions
diff --git a/toolsrc/src/vcpkg-test/manifests.cpp b/toolsrc/src/vcpkg-test/manifests.cpp
index 32aa11f8a..f03caf3bf 100644
--- a/toolsrc/src/vcpkg-test/manifests.cpp
+++ b/toolsrc/src/vcpkg-test/manifests.cpp
@@ -115,6 +115,103 @@ TEST_CASE ("manifest versioning", "[manifests]")
"version-semver": "1.2.3-rc3"
})json",
true);
+
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version-string": "abcd#1"
+ })json",
+ true);
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version": "abcd#1"
+ })json",
+ true);
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version-date": "abcd#1"
+ })json",
+ true);
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version-semver": "abcd#1"
+ })json",
+ true);
+}
+
+TEST_CASE ("manifest constraints error hash", "[manifests]")
+{
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version-string": "abcd",
+ "dependencies": [
+ {
+ "name": "b",
+ "version=": "5#1"
+ }
+ ]
+}
+)json",
+ true);
+
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version-string": "abcd",
+ "dependencies": [
+ {
+ "name": "d",
+ "version>=": "2018-09-01#1"
+ }
+ ]
+})json",
+ true);
+}
+
+TEST_CASE ("manifest overrides error hash", "[manifests]")
+{
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version-string": "abcd",
+ "overrides": [
+ {
+ "name": "d",
+ "version-string": "abcd#1"
+ }
+ ]
+})json",
+ true);
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version-string": "abcd",
+ "overrides": [
+ {
+ "name": "d",
+ "version-date": "2018-01-01#1"
+ }
+ ]
+})json",
+ true);
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version-string": "abcd",
+ "overrides": [
+ {
+ "name": "d",
+ "version": "1.2#1"
+ }
+ ]
+})json",
+ true);
+ test_parse_manifest(R"json({
+ "name": "zlib",
+ "version-string": "abcd",
+ "overrides": [
+ {
+ "name": "d",
+ "version-semver": "1.2#1"
+ }
+ ]
+})json",
+ true);
}
TEST_CASE ("manifest constraints", "[manifests]")
@@ -286,13 +383,13 @@ TEST_CASE ("manifest overrides", "[manifests]")
"overrides": [
{
"name": "abc",
- "port-version": 5,
- "version-string": "hello"
+ "version-string": "hello",
+ "port-version": 5
},
{
"name": "abcd",
- "port-version": 7,
- "version-string": "hello"
+ "version-string": "hello",
+ "port-version": 7
}
]
}