summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2020-08-21 15:02:56 -0700
committerGitHub <noreply@github.com>2020-08-21 15:02:56 -0700
commitc2a612ac65fca2260d4aef0dae7b8a5de3c5320a (patch)
tree56ea5b9e807969b804749db90bcb10766da80962
parent9862e067d13ccb0011f43f795e0a2201aac05a3e (diff)
parent58d0f5312434a702956d453a1e80bf2fdd6455f4 (diff)
downloadchef-c2a612ac65fca2260d4aef0dae7b8a5de3c5320a.tar.gz
Merge pull request #10339 from chef/buildkite_fix
Signed-off-by: Tim Smith <tsmith@chef.io>
-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