aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/azure-pipelines/end-to-end-tests-dir/registries.ps137
-rw-r--r--scripts/azure-pipelines/end-to-end-tests-dir/versions.ps145
-rw-r--r--scripts/azure-pipelines/end-to-end-tests-prelude.ps14
-rw-r--r--scripts/generatePortVersionsDb.py2
-rw-r--r--scripts/testing/version-files/default-baseline-1/vcpkg.json2
-rw-r--r--scripts/testing/version-files/default-baseline-2/vcpkg.json4
-rw-r--r--scripts/testing/version-files/without-default-baseline-2/port_versions/z-/zlib.json14
-rw-r--r--scripts/testing/version-files/without-default-baseline-2/vcpkg.json7
-rw-r--r--scripts/vcpkg.schema.json13
9 files changed, 76 insertions, 52 deletions
diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1
index 777c0901f..ef7023c85 100644
--- a/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1
+++ b/scripts/azure-pipelines/end-to-end-tests-dir/registries.ps1
@@ -14,12 +14,13 @@ Throw-IfNotFailed
Run-Vcpkg install @builtinRegistryArgs --feature-flags=registries 'zlib'
Throw-IfFailed
-# Test git and filesystem registries
+Write-Trace "Test git and filesystem registries"
Refresh-TestRoot
$filesystemRegistry = "$TestingRoot/filesystem-registry"
$gitRegistryUpstream = "$TestingRoot/git-registry-upstream"
# build a filesystem registry
+Write-Trace "build a filesystem registry"
New-Item -Path $filesystemRegistry -ItemType Directory
$filesystemRegistry = (Get-Item $filesystemRegistry).FullName
@@ -51,6 +52,7 @@ New-Item `
# build a git registry
+Write-Trace "build a git registry"
New-Item -Path $gitRegistryUpstream -ItemType Directory
$gitRegistryUpstream = (Get-Item $gitRegistryUpstream).FullName
@@ -82,6 +84,7 @@ finally
}
# actually test the registries
+Write-Trace "actually test the registries"
$vcpkgJson = @{
"name" = "manifest-test";
"version-string" = "1.0.0";
@@ -90,37 +93,8 @@ $vcpkgJson = @{
)
}
-$manifestDir = "$TestingRoot/builtin-registry-test-manifest-dir"
-
-New-Item -Path $manifestDir -ItemType Directory
-$manifestDir = (Get-Item $manifestDir).FullName
-
-Push-Location $manifestDir
-
-try
-{
- $vcpkgJsonWithBaseline = $vcpkgJson.Clone()
- $vcpkgJsonWithBaseline['$x-default-baseline'] = 'default'
-
- New-Item -Path 'vcpkg.json' -ItemType File `
- -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgJson)
-
- Run-Vcpkg install @builtinRegistryArgs '--feature-flags=registries,manifests'
- Throw-IfNotFailed
-
- New-Item -Path 'vcpkg.json' -ItemType File -Force `
- -Value (ConvertTo-Json -Depth 5 -InputObject $vcpkgJsonWithBaseline)
-
- Run-Vcpkg install @builtinRegistryArgs '--feature-flags=registries,manifests'
- Throw-IfFailed
-}
-finally
-{
- Pop-Location
-}
-
-
# test the filesystem registry
+Write-Trace "test the filesystem registry"
$manifestDir = "$TestingRoot/filesystem-registry-test-manifest-dir"
New-Item -Path $manifestDir -ItemType Directory
@@ -154,6 +128,7 @@ finally
}
# test the git registry
+Write-Trace "test the git registry"
$manifestDir = "$TestingRoot/git-registry-test-manifest-dir"
New-Item -Path $manifestDir -ItemType Directory
diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/versions.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/versions.ps1
index f5f9de20b..11550d7bd 100644
--- a/scripts/azure-pipelines/end-to-end-tests-dir/versions.ps1
+++ b/scripts/azure-pipelines/end-to-end-tests-dir/versions.ps1
@@ -59,17 +59,40 @@ Throw-IfFailed
Throw-IfFailed
$CurrentTest = "default baseline"
-$out = ./vcpkg $commonArgs "--feature-flags=versions" install --x-manifest-root=scripts/testing/version-files/default-baseline-1
+$out = ./vcpkg $commonArgs "--feature-flags=versions" install --x-manifest-root=scripts/testing/version-files/default-baseline-1 2>&1 | Out-String
Throw-IfNotFailed
-# if ($out -notmatch "Error: while checking out baseline" -or $out -notmatch " does not exist in ")
-# {
-# $out
-# throw "Expected to fail due to missing baseline"
-# }
+if ($out -notmatch ".*Error: while checking out baseline.*")
+{
+ $out
+ throw "Expected to fail due to missing baseline"
+}
git fetch https://github.com/vicroms/test-registries
-$CurrentTest = "default baseline"
-./vcpkg $commonArgs --debug "--feature-flags=versions" install `
- "--x-manifest-root=scripts/testing/version-files/default-baseline-2" `
- "--x-builtin-port-versions-dir=scripts/testing/version-files/default-baseline-2/port_versions"
-Throw-IfFailed
+foreach ($opt_registries in @("",",registries"))
+{
+ Write-Trace "testing baselines: $opt_registries"
+ Refresh-TestRoot
+ $CurrentTest = "without default baseline 2 -- enabling versions should not change behavior"
+ Remove-Item -Recurse $buildtreesRoot/versioning -ErrorAction SilentlyContinue
+ ./vcpkg $commonArgs "--feature-flags=versions$opt_registries" install `
+ "--dry-run" `
+ "--x-manifest-root=scripts/testing/version-files/without-default-baseline-2" `
+ "--x-builtin-port-versions-dir=scripts/testing/version-files/default-baseline-2/port_versions"
+ Throw-IfFailed
+ Require-FileNotExists $buildtreesRoot/versioning
+
+ $CurrentTest = "default baseline 2"
+ ./vcpkg $commonArgs "--feature-flags=versions$opt_registries" install `
+ "--dry-run" `
+ "--x-manifest-root=scripts/testing/version-files/default-baseline-2" `
+ "--x-builtin-port-versions-dir=scripts/testing/version-files/default-baseline-2/port_versions"
+ Throw-IfFailed
+ Require-FileExists $buildtreesRoot/versioning
+
+ $CurrentTest = "using version features fails without flag"
+ ./vcpkg $commonArgs "--feature-flags=-versions$opt_registries" install `
+ "--dry-run" `
+ "--x-manifest-root=scripts/testing/version-files/default-baseline-2" `
+ "--x-builtin-port-versions-dir=scripts/testing/version-files/default-baseline-2/port_versions"
+ Throw-IfNotFailed
+} \ No newline at end of file
diff --git a/scripts/azure-pipelines/end-to-end-tests-prelude.ps1 b/scripts/azure-pipelines/end-to-end-tests-prelude.ps1
index deadb210c..29718bf76 100644
--- a/scripts/azure-pipelines/end-to-end-tests-prelude.ps1
+++ b/scripts/azure-pipelines/end-to-end-tests-prelude.ps1
@@ -63,6 +63,10 @@ function Throw-IfNotFailed {
}
}
+function Write-Trace ([string]$text) {
+ Write-Host (@($MyInvocation.ScriptName, ":", $MyInvocation.ScriptLineNumber, ": ", $text) -join "")
+}
+
function Run-Vcpkg {
Param(
[Parameter(ValueFromRemainingArguments)]
diff --git a/scripts/generatePortVersionsDb.py b/scripts/generatePortVersionsDb.py
index 3b7de6942..3be4a939e 100644
--- a/scripts/generatePortVersionsDb.py
+++ b/scripts/generatePortVersionsDb.py
@@ -35,7 +35,7 @@ def generate_port_versions_file(port_name):
env = os.environ.copy()
env['GIT_OPTIONAL_LOCKS'] = '0'
output = subprocess.run(
- [os.path.join(SCRIPT_DIRECTORY, '../vcpkg.exe'),
+ [os.path.join(SCRIPT_DIRECTORY, '../vcpkg'),
'x-history', port_name, '--x-json', f'--output={output_file_path}'],
capture_output=True, encoding='utf-8', env=env)
if output.returncode != 0:
diff --git a/scripts/testing/version-files/default-baseline-1/vcpkg.json b/scripts/testing/version-files/default-baseline-1/vcpkg.json
index f6d902393..51e65c82c 100644
--- a/scripts/testing/version-files/default-baseline-1/vcpkg.json
+++ b/scripts/testing/version-files/default-baseline-1/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "default-baseline-test",
"version-string": "0",
- "$x-default-baseline": "fca18ba3572f8aebe3b8158c359db62a7e26134e",
+ "builtin-baseline": "fca18ba3572f8aebe3b8158c359db62a7e26134e",
"dependencies": [
"zlib"
]
diff --git a/scripts/testing/version-files/default-baseline-2/vcpkg.json b/scripts/testing/version-files/default-baseline-2/vcpkg.json
index af353c09d..f540ccba0 100644
--- a/scripts/testing/version-files/default-baseline-2/vcpkg.json
+++ b/scripts/testing/version-files/default-baseline-2/vcpkg.json
@@ -1,7 +1,7 @@
{
- "name": "default-baseline-test",
+ "name": "default-baseline-test-2",
"version-string": "0",
- "$x-default-baseline": "16002d9c2318dec4c69e02d9af8c0e11dca0d4c6",
+ "builtin-baseline": "16002d9c2318dec4c69e02d9af8c0e11dca0d4c6",
"dependencies": [
"zlib"
]
diff --git a/scripts/testing/version-files/without-default-baseline-2/port_versions/z-/zlib.json b/scripts/testing/version-files/without-default-baseline-2/port_versions/z-/zlib.json
new file mode 100644
index 000000000..f5ee7cb9d
--- /dev/null
+++ b/scripts/testing/version-files/without-default-baseline-2/port_versions/z-/zlib.json
@@ -0,0 +1,14 @@
+{
+ "versions": [
+ {
+ "git-tree": "7bb2b2f3783303a4dd41163553fe4cc103dc9262",
+ "version-string": "1.2.11",
+ "port-version": 9
+ },
+ {
+ "git-tree": "4927735fa9baca564ebddf6e6880de344b20d7a8",
+ "version-string": "1.2.11",
+ "port-version": 8
+ }
+ ]
+} \ No newline at end of file
diff --git a/scripts/testing/version-files/without-default-baseline-2/vcpkg.json b/scripts/testing/version-files/without-default-baseline-2/vcpkg.json
new file mode 100644
index 000000000..839418fb7
--- /dev/null
+++ b/scripts/testing/version-files/without-default-baseline-2/vcpkg.json
@@ -0,0 +1,7 @@
+{
+ "name": "without-default-baseline-test-2",
+ "version-string": "0",
+ "dependencies": [
+ "zlib"
+ ]
+} \ No newline at end of file
diff --git a/scripts/vcpkg.schema.json b/scripts/vcpkg.schema.json
index 9df362086..c485aa415 100644
--- a/scripts/vcpkg.schema.json
+++ b/scripts/vcpkg.schema.json
@@ -136,12 +136,9 @@
"$ref": "#/definitions/platform-expression"
},
"version>=": {
- "description": "Minimum required port version",
- "$ref": "#/definitions/version-text"
- },
- "port-version": {
- "description": "Minimum port revision (defaults to 0)",
- "$ref": "#/definitions/port-version"
+ "description": "Minimum required version",
+ "type": "string",
+ "pattern": "^[^#]+(#\\d+)?$"
}
},
"patternProperties": {
@@ -256,6 +253,10 @@
"description": "An SPDX license expression at version 3.9.",
"type": "string"
},
+ "builtin-baseline": {
+ "description": "A vcpkg repository commit for version control.",
+ "type": "string"
+ },
"dependencies": {
"description": "Dependencies that are always required.",
"type": "array",