test-kitchen / busser-rspec

Run RSpec tests through busser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Windows fails to install gems

dhoer opened this issue · comments

The test-kitchen rspec for selenium_test is successful on ubuntu, centos, and mac, but not windows. I tried ffi 1.9.8, 1.9.9, and 1.9.10 and all get the same results. Any ideas on how I can get past this point?
Thanks in advance.

https://github.com/dhoer/chef-selenium/tree/master/test/integration/selenium_test/rspec

selenium$ kitchen verify windows
-----> Starting Kitchen (v1.4.2)
-----> Verifying <selenium-test-windows-2012r2>...
       Preparing files for transfer
-----> Busser installation detected (busser)
       Installing Busser plugins: busser-rspec busser-serverspec
       Plugin rspec already installed
       Plugin serverspec already installed
       Removing C:/Users/vagrant/AppData/Local/Temp/verifier/suites/rspec
       Removing C:/Users/vagrant/AppData/Local/Temp/verifier/suites/serverspec
       Transferring files to <selenium-test-windows-2012r2>
-----> Running rspec test suite
         run  PATH=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\OpenSSH\bin;C:\opscode\chef\bin:C:/Users/vagrant/AppData/Local/Temp/verifier/gems/bin; bundle install --local || bundle install from "."
$$$$$$ C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find ffi-1.9.9 in any of the sources (Bundler::GemNotFound)
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler/spec_set.rb:85:in `map!'
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler/spec_set.rb:85:in `materialize'
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler/definition.rb:140:in `specs'
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler/definition.rb:185:in `specs_for'
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler/definition.rb:174:in `requested_specs'
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler/environment.rb:18:in `requested_specs'
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler/runtime.rb:13:in `setup'
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler.rb:127:in `setup'
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/bundler-1.10.6/lib/bundler/setup.rb:18:in `<top (required)>'
$$$$$$  from C:/opscode/chef/embedded/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:135:in `require'
$$$$$$  from C:/opscode/chef/embedded/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
$$$$$$  from C:/opscode/chef/embedded/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:144:in `require'
$$$$$$  from C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/busser-rspec-0.7.4/lib/busser/rspec/runner.rb:20:in `<main>'
$$$$$$ !!!!!! Ruby Script [C:/Users/vagrant/AppData/Local/Temp/verifier/gems/gems/busser-rspec-0.7.4/lib/busser/rspec/runner.rb -I C:/Users/vagrant/AppData/Local/Temp/verifier/suites/rspec -I C:/Users/vagrant/AppData/Local/Temp/verifier/suites/rspec/lib C:/Users/vagrant/AppData/Local/Temp/verifier/suites/rspec] exit code was 1
>>>>>> Verify failed on instance <selenium-test-windows-2012r2>.
>>>>>> Please see .kitchen/logs/selenium-test-windows-2012r2.log for more details
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: WinRM exited (1) for command: [
$env:BUSSER_ROOT = "$env:TEMP\verifier"
$env:GEM_HOME = "$env:TEMP\verifier\gems"
$env:GEM_PATH = "$env:TEMP\verifier\gems"
$env:GEM_CACHE = "$env:TEMP\verifier\gems\cache"

& $env:TEMP\verifier\bin\busser.bat test
]
>>>>>> ----------------------

I suspect it is an issue with busser serverspec putting in the wrong path separator on windows.

Code that puts in the incorrect path separator
https://github.com/test-kitchen/busser-rspec/blob/master/lib/busser/runner_plugin/rspec.rb#L43

Output below contains a colon (unix) instead of semicolon (windows) in one of the path separators

Running rspec test suite
  run  PATH=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\OpenSSH\bin;C:\opscode\chef\bin:C:/Users/vagrant/AppData/Local/Temp/verifier/gems/bin; bundle install --local || bundle install from "."

Fix in pull request: #10