param( [switch] $prerelease, [string] $sources = ".", [string] $version = "0.4.5.20170330" ) $ErrorActionPreference = 'Stop' choco uninstall bazel --force -y if ($prerelease) { choco install ".\bazel.$($version).nupkg" --verbose --debug --prerelease --force -y -s $sources } else { choco install ".\bazel.$($version).nupkg" --verbose --debug --force -y -s $sources } if ($LASTEXITCODE -ne 0) { write-error @" `$LASTEXITCODE was not zero. Inspect the output from choco install above. It should not have had errors. "@ exit 1 } & bazel version if ($LASTEXITCODE -ne 0) { write-error @" `$LASTEXITCODE was not zero. Inspect the output from ``bazel version`` above. It should have shown you bazel's version number. "@ exit 1 } & bazel info if ($LASTEXITCODE -ne 0) { write-error @" `$LASTEXITCODE was not zero. Inspect the output from ``bazel info`` above. It should have shown you bazel's information about the current workspace. "@ exit 1 } write-host @" This test just: * uninstalled bazel (if it was installed) * installed bazel from the package you built * asserted that the installation did not return an error exit code * ran ``bazel version`` and asserted non-error exit code * ran ``bazel info`` and asserted non-error exit code The bazel commands should now be repeated in the other shells. Should work in: * powershell (probably what you just ran this in) * cmd * msys2 "@