diff options
author | Bundlerbot <bot@bundler.io> | 2019-02-15 22:14:22 +0000 |
---|---|---|
committer | Bundlerbot <bot@bundler.io> | 2019-02-15 22:14:22 +0000 |
commit | 5ebdd9969a72daf457270fe927d6cae46ca37a58 (patch) | |
tree | 1edd006838fb5bd56f99a7492683aeeb9b801161 /spec | |
parent | 9b56229a4015e3eca554b1867a06ac683feda362 (diff) | |
parent | 8ace8a56cdc75bba5fcfc65fc65545de4e99e824 (diff) | |
download | bundler-5ebdd9969a72daf457270fe927d6cae46ca37a58.tar.gz |
Merge #6899
6899: Windows CI: Azure Pipelines r=colby-swandale a=janpio
### What was the end-user problem that led to this PR?
When I wanted to start to work on #6841 by adding a few tests, I quickly learned that bundler's test suite does not pass on Windows: #6868
### What was your diagnosis of the problem?
I decided to start working on fixing this, and created a few issues already: https://github.com/bundler/bundler/search?q=%22%5BWindows+test+failure%5D%22&unscoped_q=%22%5BWindows+test+failure%5D%22&type=Issues
But it become clear to me, that the only way to really track the improvement was to add CI for Windows - otherwise opening PRs with improvements would not really make sense.
### What is your fix for the problem, implemented in this PR?
This PR first makes it possible to run the test suite on Windows at all by "hiding" a bit of code behind `Gem.win_platform?` (`Spec::Manpages.setup` made it super complicated to run on Windows - and is not really necessary to run the test suite).
It also works around a strange bug concerning `thor`'s (a vendored dependency) use of `readline` which crashes in strange ways on Windows (see #6902). And it adds applies a patch to the `readline` implementation used on CI (via RubyInstaller ruby) that otherwise blocks the tests (see #6907).
Then it adds CI configuration for Azure Pipelines, a free for OSS CI platform. I configured the Azure Pipelines build to create a JUnit compatible report if the test suite and display it in the "Tests" tab of the build.
### Why did you choose this fix out of the possible options?
I think disabling this code for Windows is a valid choice to get the ball rolling, later this will undone and the underlying problem will be fixed.
I chose the workarounds for #6902 and #6907 as I couldn't find a proper bugfix yet - so this will be one of the things to be fixed using Windows CI.
Azure Pipelines is a great CI platform for Windows (and later even multiple platforms if we choose to also run the tests on Linux and macOS).
I chose not to adapt the `rake travis` task (yet) because it is _much_ more complex than the "simple" `bin/rspec` test suite run which I could directly execute in the CI scripts of Azure Pipelines.
Co-authored-by: Jan Piotrowski <piotrowski+git@gmail.com>
Co-authored-by: Jan Piotrowski <piotrowski+github@gmail.com>
Diffstat (limited to 'spec')
-rw-r--r-- | spec/spec_helper.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 9355bfb33f..7cc363087c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -41,7 +41,7 @@ end $debug = false -Spec::Manpages.setup +Spec::Manpages.setup unless Gem.win_platform? Spec::Rubygems.setup FileUtils.rm_rf(Spec::Path.gem_repo1) ENV["RUBYOPT"] = "#{ENV["RUBYOPT"]} -r#{Spec::Path.spec_dir}/support/hax.rb" |