summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormwrock <matt@mattwrock.com>2020-08-21 14:35:19 -0700
committermwrock <matt@mattwrock.com>2020-08-21 14:35:19 -0700
commit58d0f5312434a702956d453a1e80bf2fdd6455f4 (patch)
treeb5ae5ae40121cc7f5b5751be2d4735b91db39dbc
parent529a36c63ca8fdc1d58b02b4faa86a4e89e5b738 (diff)
downloadchef-58d0f5312434a702956d453a1e80bf2fdd6455f4.tar.gz
fix chocolatey and x86 windows omnibus builds
Signed-off-by: mwrock <matt@mattwrock.com>
-rw-r--r--.expeditor/release.omnibus.yml4
-rw-r--r--omnibus/omnibus-test.ps125
2 files changed, 25 insertions, 4 deletions
diff --git a/.expeditor/release.omnibus.yml b/.expeditor/release.omnibus.yml
index e261b0c48a..a429ee4703 100644
--- a/.expeditor/release.omnibus.yml
+++ b/.expeditor/release.omnibus.yml
@@ -54,8 +54,8 @@ builder-to-testers-map:
- ubuntu-16.04-x86_64
- ubuntu-18.04-x86_64
- ubuntu-20.04-x86_64
-# windows-2012r2-i386:
-# - windows-2012r2-i386
+ windows-2012r2-i386:
+ - windows-2012r2-i386
windows-2012r2-x86_64:
- windows-2012-x86_64
- windows-2012r2-x86_64
diff --git a/omnibus/omnibus-test.ps1 b/omnibus/omnibus-test.ps1
index 5240d8e6e3..f05feaaa68 100644
--- a/omnibus/omnibus-test.ps1
+++ b/omnibus/omnibus-test.ps1
@@ -94,5 +94,26 @@ winrm quickconfig -quiet
bundle
If ($lastexitcode -ne 0) { Exit $lastexitcode }
-bundle exec rspec -r rspec_junit_formatter -f RspecJunitFormatter -o test.xml -f progress --profile --tag ~choco_installed
-If ($lastexitcode -ne 0) { Exit $lastexitcode }
+# buildkite changes the casing of the Path variable to PATH
+# It is not clear how or where that happens, but it breaks the choco
+# tests. Removing the PATH and resetting it with the expected casing
+$p = $env:PATH
+$env:PATH = $null
+$env:Path = $p
+
+# Running the specs separately fixes an edgecase on 2012R2-i386 where the desktop heap's
+# allocated limit is hit and any test's attempt to create a new process is met with
+# exit code -1073741502 (STATUS_DLL_INIT_FAILED). after much research and troubleshooting,
+# desktop heap exhaustion seems likely (https://docs.microsoft.com/en-us/archive/blogs/ntdebugging/desktop-heap-overview)
+$exit = 0
+
+bundle exec rspec -r rspec_junit_formatter -f RspecJunitFormatter -o test.xml -f progress --profile ./spec/unit
+If ($lastexitcode -ne 0) { $exit = 1 }
+
+bundle exec rspec -r rspec_junit_formatter -f RspecJunitFormatter -o test.xml -f progress --profile ./spec/functional
+If ($lastexitcode -ne 0) { $exit = 1 }
+
+bundle exec rspec -r rspec_junit_formatter -f RspecJunitFormatter -o test.xml -f progress --profile ./spec/integration
+If ($lastexitcode -ne 0) { $exit = 1 }
+
+Exit $exit