diff --git a/azure-pipelines/end-to-end-tests-dir/create.ps1 b/azure-pipelines/end-to-end-tests-dir/create.ps1 index 61bd564777..7c270b2b98 100644 --- a/azure-pipelines/end-to-end-tests-dir/create.ps1 +++ b/azure-pipelines/end-to-end-tests-dir/create.ps1 @@ -3,8 +3,13 @@ # Test vcpkg create $Script:CurrentTest = "create zlib" Write-Host $Script:CurrentTest -Run-Vcpkg --x-builtin-ports-root=$TestingRoot/ports create zlib https://github.com/madler/zlib/archive/v1.2.11.tar.gz zlib-1.2.11.tar.gz +$RegistryRoot = Join-Path $TestingRoot 'registry_for_create' +& $GitExe init $RegistryRoot +Throw-IfFailed +Run-Vcpkg x-init-registry $RegistryRoot +Throw-IfFailed +Run-Vcpkg --x-registry-root=$RegistryRoot create zlib https://github.com/madler/zlib/archive/v1.2.11.tar.gz zlib-1.2.11.tar.gz Throw-IfFailed -Require-FileExists "$TestingRoot/ports/zlib/portfile.cmake" -Require-FileExists "$TestingRoot/ports/zlib/vcpkg.json" +Require-FileExists "$RegistryRoot/ports/zlib/portfile.cmake" +Require-FileExists "$RegistryRoot/ports/zlib/vcpkg.json" diff --git a/azure-pipelines/end-to-end-tests-dir/registries.ps1 b/azure-pipelines/end-to-end-tests-dir/registries.ps1 index 0a1f39e35c..77b479ed12 100644 --- a/azure-pipelines/end-to-end-tests-dir/registries.ps1 +++ b/azure-pipelines/end-to-end-tests-dir/registries.ps1 @@ -1,6 +1,6 @@ . "$PSScriptRoot/../end-to-end-tests-prelude.ps1" -$builtinRegistryArgs = $commonArgs + @("--x-builtin-registry-versions-dir=$PSScriptRoot/../e2e_ports/versions") +$builtinRegistryArgs = $commonArgs Run-Vcpkg install @builtinRegistryArgs 'vcpkg-internal-e2e-test-port' Throw-IfNotFailed diff --git a/azure-pipelines/end-to-end-tests-dir/versions.ps1 b/azure-pipelines/end-to-end-tests-dir/versions.ps1 index 7475638b67..0ccc4b70a8 100644 --- a/azure-pipelines/end-to-end-tests-dir/versions.ps1 +++ b/azure-pipelines/end-to-end-tests-dir/versions.ps1 @@ -2,18 +2,34 @@ $versionFilesPath = "$PSScriptRoot/../e2e_ports/version-files" +# create custom registry for testing +$RegistryRootComplete = Join-Path $TestingRoot 'registry_for_versions_complete' +& $GitExe init $RegistryRootComplete +Throw-IfFailed +$RegistryRootIncomplete = Join-Path $TestingRoot 'registry_for_versions_incomplete' +& $GitExe init $RegistryRootIncomplete +Throw-IfFailed + # Test verify versions -mkdir $VersionFilesRoot | Out-Null -Copy-Item -Recurse "$versionFilesPath/versions_incomplete" $VersionFilesRoot +Copy-Item -Recurse "$versionFilesPath/versions" "$RegistryRootComplete/versions" +Copy-Item -Recurse "$versionFilesPath/ports" "$RegistryRootComplete/ports" +& $GitExe -C "$RegistryRootComplete" add -A +Throw-IfFailed +& $GitExe -C "$RegistryRootComplete" commit -m "add files" +Throw-IfFailed +Copy-Item -Recurse "$versionFilesPath/versions_incomplete" "$RegistryRootIncomplete/versions" +Copy-Item -Recurse "$versionFilesPath/ports_incomplete" "$RegistryRootIncomplete/ports" +& $GitExe -C "$RegistryRootIncomplete" add -A +Throw-IfFailed +& $GitExe -C "$RegistryRootIncomplete" commit -m "add files" +Throw-IfFailed $portsRedirectArgsOK = @( "--feature-flags=versions", - "--x-builtin-ports-root=$versionFilesPath/ports", - "--x-builtin-registry-versions-dir=$versionFilesPath/versions" + "--x-registry-root=$RegistryRootComplete" ) $portsRedirectArgsIncomplete = @( "--feature-flags=versions", - "--x-builtin-ports-root=$versionFilesPath/ports_incomplete", - "--x-builtin-registry-versions-dir=$VersionFilesRoot/versions_incomplete" + "--x-registry-root=$RegistryRootIncomplete" ) $CurrentTest = "x-verify-ci-versions (All files OK)" Write-Host $CurrentTest @@ -78,23 +94,20 @@ foreach ($opt_registries in @("",",registries")) Remove-Item -Recurse $buildtreesRoot/versioning -ErrorAction SilentlyContinue Run-Vcpkg @commonArgs "--feature-flags=versions$opt_registries" install ` "--dry-run" ` - "--x-manifest-root=$versionFilesPath/without-default-baseline-2" ` - "--x-builtin-registry-versions-dir=$versionFilesPath/default-baseline-2/versions" + "--x-manifest-root=$versionFilesPath/without-default-baseline-2" Throw-IfFailed Require-FileNotExists $buildtreesRoot/versioning $CurrentTest = "default baseline 2" Run-Vcpkg @commonArgs "--feature-flags=versions$opt_registries" install ` "--dry-run" ` - "--x-manifest-root=$versionFilesPath/default-baseline-2" ` - "--x-builtin-registry-versions-dir=$versionFilesPath/default-baseline-2/versions" + "--x-manifest-root=$versionFilesPath/default-baseline-2" Throw-IfFailed Require-FileExists $buildtreesRoot/versioning $CurrentTest = "using version features fails without flag" Run-Vcpkg @commonArgs "--feature-flags=-versions$opt_registries" install ` "--dry-run" ` - "--x-manifest-root=$versionFilesPath/default-baseline-2" ` - "--x-builtin-registry-versions-dir=$versionFilesPath/default-baseline-2/versions" + "--x-manifest-root=$versionFilesPath/default-baseline-2" Throw-IfNotFailed } diff --git a/azure-pipelines/end-to-end-tests-prelude.ps1 b/azure-pipelines/end-to-end-tests-prelude.ps1 index ca9f98a0d9..8501027339 100644 --- a/azure-pipelines/end-to-end-tests-prelude.ps1 +++ b/azure-pipelines/end-to-end-tests-prelude.ps1 @@ -17,6 +17,14 @@ $commonArgs = @( ) $Script:CurrentTest = 'unassigned' $env:X_VCPKG_REGISTRIES_CACHE = Join-Path $TestingRoot 'registries' +if ($IsWindows) +{ + $GitExe = 'git.exe' +} +else +{ + $GitExe = 'git' +} function Refresh-TestRoot { Remove-Item -Recurse -Force $TestingRoot -ErrorAction SilentlyContinue