Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test Aruba with childprocess support on Windows #40

Closed
msassak opened this issue Dec 22, 2010 · 7 comments
Closed

Test Aruba with childprocess support on Windows #40

msassak opened this issue Dec 22, 2010 · 7 comments

Comments

@msassak
Copy link
Member

msassak commented Dec 22, 2010

childprocess v0.1.6 contains support for stdin under Windows. Let's use this ticket to coordinate testing Aruba with childprocess on Windows. See my childprocess branch here: https://www.github.com/msassak/aruba/tree/childprocess to get started.

@aknuds1
Copy link
Contributor

aknuds1 commented Dec 22, 2010

I should be able to do some testing over Christmas.

@aknuds1
Copy link
Contributor

aknuds1 commented Dec 27, 2010

I've now run the Cucumber tests of your childprocess branch (revision: v0.1.7-129-gef6a1ef), on Ruby 1.8.7/Windows 7. 10 out of 53 scenarios fail as you can see from this Cucumber summary:


Failing Scenarios:
cucumber features\exit_statuses.feature:27 # Scenario: Try to run something that doesn't exist
cucumber features\flushing.feature:19 # Scenario: Tons of interactive output
cucumber features\interactive.feature:7 # Scenario: Running ruby interactively
cucumber features\interactive.feature:23 # Scenario: Running a native binary interactively
cucumber features\interactive.feature:32 # Scenario: Stop processes before checking for filesystem changes
See: http://github.com/aslakhellesoy/aruba/issues#issue/17 for context
cucumber features\output.feature:7 # Scenario: Run unknown command
cucumber features\output.feature:18 # Scenario: Detect subset of one-line output
cucumber features\output.feature:124 # Scenario: Detect output from all processes
cucumber features\output.feature:135 # Scenario: Detect stdout from all processes
cucumber features\output.feature:142 # Scenario: Detect stderr from all processes

53 scenarios (10 failed, 43 passed)
153 steps (10 failed, 11 skipped, 132 passed)

@timothyekl
Copy link
Contributor

I recently gave a Cucumber/Aruba demo in a university course, and we ran into trouble on Windows testing with stdin (Aruba 0.3.6, childprocess 0.1.8). As a temporary workaround, I set @process.io.stdin.sync = true inside the stdin function, so that it read:

def stdin
  wait_for_io do
    @process.io.stdin.sync = true
    @process.io.stdin
  end
end

There's probably a better place to put that (and likely a better fix), but it seemed to let students on Windows continue testing. The full test we were writing is available in a question on StackOverflow.

@msassak
Copy link
Member Author

msassak commented May 8, 2011

@lithium3141 Good information to know. Does patching this cause the features to pass on Windows? If you have a branch, I can test it on OS X (and assume it would work on Linux), but I don't have access to a Windows box.

@timothyekl
Copy link
Contributor

@msassak Yes it does - in the demo, we had to support both Mac and Windows, and we were able to confirm the patch I suggested works on both platforms (including 32- and 64-bit variants of Windows 7). I don't have a branch at present, but if you'd like me to create one, I can.

@msassak
Copy link
Member Author

msassak commented May 9, 2011

@lithium3141 A patch would be great. Thanks!

@timothyekl
Copy link
Contributor

@msassak Pull requested. Happy to help :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants