test-kitchen/test-kitchen — pull request #287 by rarenerd (2013-12-11 14:56:40+00:00)
Title: Fix Cucumber tests on Windows

This PR works around an issue with Aruba on Windows. ChildProcess, one of Aruba's dependencies, has some issues with running batch files on Windows. Ruby executables are wrapped in a batch file so just running the 'kitchen' command in an Aruba run fails.

The workaround I chose is to switch to Aruba::InProcess. This way the CLI get run in the same process as Aruba itself skipping the whole ChildProcess issue. A positive side effect of this is that testing goes a bit faster because it doesn't spawn a process for every test.

The negative side effect of this is that becauseThor uses $0 as a basename command gets changed to 'cucumber' instead of 'kitchen' in help output. So I've tagged the tests that check for 'kitchen' in the output with @spawn. Another test that installs the kitchen-vagrant plugin also failed with InProcess so I tagged that as well. The @spawn tag uses Aruba::SpawnProcess for the tagged test.