aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorras0219 <533828+ras0219@users.noreply.github.com>2020-12-17 11:35:08 -0800
committerGitHub <noreply@github.com>2020-12-17 11:35:08 -0800
commit9a81392e48e88ac4789107b100b93504d4ac713c (patch)
tree895a03748f7f93a09b23c22463c050ad0dabe896 /scripts
parenta268c5a7f1aa0e933924bc09d48d92f0120769e5 (diff)
downloadvcpkg-9a81392e48e88ac4789107b100b93504d4ac713c.tar.gz
vcpkg-9a81392e48e88ac4789107b100b93504d4ac713c.zip
[vcpkg] `VCPKG_ENV_PASSTHROUGH_UNTRACKED` (#15115)
* [vcpkg] Add VCPKG_ENV_PASSTHROUGH_UNTRACKED * [vcpkg] CR comments Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/azure-pipelines/end-to-end-tests-dir/env-passthrough.ps121
-rw-r--r--scripts/testing/env-passthrough/passthrough.cmake6
-rw-r--r--scripts/vcpkg_get_tags.cmake1
3 files changed, 28 insertions, 0 deletions
diff --git a/scripts/azure-pipelines/end-to-end-tests-dir/env-passthrough.ps1 b/scripts/azure-pipelines/end-to-end-tests-dir/env-passthrough.ps1
new file mode 100644
index 000000000..6de1335d7
--- /dev/null
+++ b/scripts/azure-pipelines/end-to-end-tests-dir/env-passthrough.ps1
@@ -0,0 +1,21 @@
+if (-not $IsLinux -and -not $IsMacOS) {
+ . $PSScriptRoot/../end-to-end-tests-prelude.ps1
+
+ $env:_VCPKG_TEST_TRACKED = "a"
+ $env:_VCPKG_TEST_UNTRACKED = "b"
+
+ $x = ./vcpkg "--overlay-triplets=$PSScriptRoot/../../testing/env-passthrough" env "echo %_VCPKG_TEST_TRACKED% %_VCPKG_TEST_TRACKED2% %_VCPKG_TEST_UNTRACKED% %_VCPKG_TEST_UNTRACKED2%"
+ if ($x -ne "%_VCPKG_TEST_TRACKED% %_VCPKG_TEST_TRACKED2% %_VCPKG_TEST_UNTRACKED% %_VCPKG_TEST_UNTRACKED2%")
+ {
+ throw "env should have cleaned the environment ($x)"
+ }
+
+ $y = ./vcpkg "--overlay-triplets=$PSScriptRoot/../../testing/env-passthrough" env --triplet passthrough "echo %_VCPKG_TEST_TRACKED% %_VCPKG_TEST_TRACKED2% %_VCPKG_TEST_UNTRACKED% %_VCPKG_TEST_UNTRACKED2%"
+ if ($y -ne "a %_VCPKG_TEST_TRACKED2% b %_VCPKG_TEST_UNTRACKED2%")
+ {
+ throw "env should have kept the environment ($y)"
+ }
+
+ rm env:_VCPKG_TEST_TRACKED
+ rm env:_VCPKG_TEST_UNTRACKED
+} \ No newline at end of file
diff --git a/scripts/testing/env-passthrough/passthrough.cmake b/scripts/testing/env-passthrough/passthrough.cmake
new file mode 100644
index 000000000..071b8381e
--- /dev/null
+++ b/scripts/testing/env-passthrough/passthrough.cmake
@@ -0,0 +1,6 @@
+set(VCPKG_TARGET_ARCHITECTURE x64)
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+
+set(VCPKG_ENV_PASSTHROUGH _VCPKG_TEST_TRACKED _VCPKG_TEST_TRACKED2)
+set(VCPKG_ENV_PASSTHROUGH_UNTRACKED _VCPKG_TEST_UNTRACKED _VCPKG_TEST_UNTRACKED2)
diff --git a/scripts/vcpkg_get_tags.cmake b/scripts/vcpkg_get_tags.cmake
index bec5d9331..749b06e5a 100644
--- a/scripts/vcpkg_get_tags.cmake
+++ b/scripts/vcpkg_get_tags.cmake
@@ -24,6 +24,7 @@ e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f")
message("c35112b6-d1ba-415b-aa5d-81de856ef8eb
VCPKG_PUBLIC_ABI_OVERRIDE=${VCPKG_PUBLIC_ABI_OVERRIDE}
VCPKG_ENV_PASSTHROUGH=${VCPKG_ENV_PASSTHROUGH}
+VCPKG_ENV_PASSTHROUGH_UNTRACKED=${VCPKG_ENV_PASSTHROUGH_UNTRACKED}
VCPKG_LOAD_VCVARS_ENV=${VCPKG_LOAD_VCVARS_ENV}
e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f
8c504940-be29-4cba-9f8f-6cd83e9d87b7")