Created
October 27, 2009 21:06
-
-
Save josephwilk/219959 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
joseph-wilks-mac-pro:cucumber josephwilk$ bin/cucumber features/wire_protocol.feature -v --format pretty | |
Using the default profile... | |
Code: | |
* features/support/env.rb | |
Failed to load 'simplest' programming language for file features/support/env.rb.simplest: no such file to load -- cucumber/simplest_support/simplest_language | |
* features/support/env.rb.simplest [NOT SUPPORTED] | |
* features/support/fake_wire_server.rb | |
Features: | |
* features/wire_protocol.feature | |
Parsing feature files took 0m0.377s | |
Code: | |
Failed to load 'html' programming language for file features/html_formatter/a.html: no such file to load -- cucumber/html_support/html_language | |
* features/html_formatter/a.html [NOT SUPPORTED] | |
* features/step_definitions/cucumber_steps.rb | |
* features/step_definitions/extra_steps.rb | |
* features/step_definitions/simplest_steps.rb | |
* features/step_definitions/wire_steps.rb | |
@wire | |
Feature: Wire Protocol | |
In order to be allow Cucumber to touch my app in intimate places | |
As a developer on platform which doesn't support Ruby | |
I want a low-level protocol which Cucumber can use to run steps within my app | |
# | |
# Cucumber's wire protocol is an implementation of Cucumber's internal 'programming language' abstraction, | |
# and allows step definitions to be implemented and invoked on any platform. | |
# | |
# Communication is over a TCP socket, which Cucumber connects to when it finds a definition file with the | |
# .wire extension in the step_definitions folder (or other load path). | |
# | |
# There are currently two messages which Cucumber sends over the wire: | |
# | |
# * step_matches : this is used to find out whether the wire end has a definition for a given step | |
# * invoke : this is used to ask for a step definition to be invoked | |
# | |
# Message packets are formatted as JSON-encoded strings, with a newline character signalling the end of a | |
# packet. These messages are described below, with examples. | |
# | |
Background: # features/wire_protocol.feature:23 | |
Given a standard Cucumber project directory structure # features/step_definitions/cucumber_steps.rb:7 | |
And a file named "features/wired.feature" with: # features/step_definitions/cucumber_steps.rb:26 | |
""" | |
Scenario: Wired | |
Given we're all wired | |
""" | |
And a file named "features/step_definitions/some_remote_place.wire" with: # features/step_definitions/cucumber_steps.rb:26 | |
""" | |
host: localhost | |
port: 98989 | |
""" | |
# | |
# step_matches | |
# | |
# When the features have been parsed, Cucumber will send a step_matches message to ask the wire end | |
# if it can match a step name. This happens for each of the steps in each of the features. | |
# The wire end replies with a step_match array, containing the IDs of any step definitions that could | |
# be invoked for the given step name. | |
Scenario: Dry run finds no step match # features/wire_protocol.feature:47 | |
Given there is a wire server running on port 98989 which understands the following protocol: # features/step_definitions/wire_steps.rb:1 | |
| request | response | | |
| ["step_matches",{"name_to_match":"we're all wired"}] | ["step_matches",[]] | | |
./features/support/fake_wire_server.rb:10:in `initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
from ./features/support/fake_wire_server.rb:10:in `open' | |
from ./features/support/fake_wire_server.rb:10:in `run' | |
from ./features/step_definitions/wire_steps.rb:6 | |
from ./features/step_definitions/wire_steps.rb:4:in `fork' | |
from ./features/step_definitions/wire_steps.rb:4 | |
from ./features/support/env.rb:84:in `chdir' | |
from ./features/support/env.rb:84:in `in_current_dir' | |
from ./features/step_definitions/wire_steps.rb:3 | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/rb_support/rb_step_definition.rb:55:in `invoke' | |
from ./bin/../lib/cucumber/step_match.rb:23:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:58:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:99:in `visit_step' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:15:in `accept' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `each' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:93:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/scenario.rb:45:in `accept' | |
from ./bin/../lib/cucumber/step_mother.rb:191:in `before_and_after' | |
from ./bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
from ./bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
from ./bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
from ./bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
from ./bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
from bin/cucumber:9 | |
When I run cucumber --dry-run -f progress features # features/step_definitions/cucumber_steps.rb:50 | |
And it should pass with # features/step_definitions/cucumber_steps.rb:68 | |
""" | |
U | |
1 scenario (1 undefined) | |
1 step (1 undefined) | |
""" | |
Failed with exit status 1 | |
STDOUT: | |
STDERR: | |
getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `initialize' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `new' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `socket' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
/opt/local/lib/ruby/1.8/timeout.rb:62:in `timeout' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:18:in `call_remote' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/request_handler.rb:11:in `execute' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:55:in `make_request' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:8:in `step_matches' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:21:in `step_matches' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:21:in `map' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:21:in `step_matches' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:148:in `step_match' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:147:in `map' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:147:in `step_match' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_invocation.rb:81:in `find_step_match!' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_invocation.rb:54:in `invoke' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_invocation.rb:37:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:99:in `visit_step' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_collection.rb:15:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_collection.rb:14:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_collection.rb:14:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:93:in `visit_steps' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:45:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:191:in `before_and_after' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/cucumber:9 | |
(RuntimeError) | |
./features/step_definitions/cucumber_steps.rb:63:in `/^it should (fail|pass)$/' | |
features/wire_protocol.feature:52:in `And it should pass with' | |
# When a step match is returned, it contains an identifier for the step definition to be used | |
# later when referring to this step definition again if it needs to be invoked. The identifier | |
# can take any form (as long as it's within a string) and is simply used for the wire end's own | |
# reference. | |
# The step match also contains any argument values as parsed out by the wire end's own regular | |
# expression or other argument matching process. | |
Scenario: Dry run finds a step match # features/wire_protocol.feature:67 | |
Given there is a wire server running on port 98989 which understands the following protocol: # features/step_definitions/wire_steps.rb:1 | |
| request | response | | |
| ["step_matches",{"name_to_match":"we're all wired"}] |./features/support/fake_wire_server.rb:10:in `initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
["step_matches",[{"id":"1", "args":[]}]] | from ./features/support/fake_wire_server.rb:10:in `open' | |
from ./features/support/fake_wire_server.rb:10:in `run' | |
from ./features/step_definitions/wire_steps.rb:6 | |
from ./features/step_definitions/wire_steps.rb:4:in `fork' | |
from ./features/step_definitions/wire_steps.rb:4 | |
from ./features/support/env.rb:84:in `chdir' | |
from ./features/support/env.rb:84:in `in_current_dir' | |
from ./features/step_definitions/wire_steps.rb:3 | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/rb_support/rb_step_definition.rb:55:in `invoke' | |
from ./bin/../lib/cucumber/step_match.rb:23:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:58:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:99:in `visit_step' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:15:in `accept' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `each' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:93:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/scenario.rb:45:in `accept' | |
from ./bin/../lib/cucumber/step_mother.rb:191:in `before_and_after' | |
from ./bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
from ./bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
from ./bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
from ./bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
from ./bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
from bin/cucumber:9 | |
When I run cucumber --dry-run -f progress features # features/step_definitions/cucumber_steps.rb:50 | |
And it should pass with # features/step_definitions/cucumber_steps.rb:68 | |
""" | |
- | |
1 scenario (1 skipped) | |
1 step (1 skipped) | |
""" | |
Failed with exit status 1 | |
STDOUT: | |
STDERR: | |
getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `initialize' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `new' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `socket' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
/opt/local/lib/ruby/1.8/timeout.rb:62:in `timeout' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:18:in `call_remote' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/request_handler.rb:11:in `execute' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:55:in `make_request' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:8:in `step_matches' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:21:in `step_matches' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:21:in `map' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:21:in `step_matches' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:148:in `step_match' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:147:in `map' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:147:in `step_match' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_invocation.rb:81:in `find_step_match!' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_invocation.rb:54:in `invoke' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_invocation.rb:37:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:99:in `visit_step' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_collection.rb:15:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_collection.rb:14:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/step_collection.rb:14:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:93:in `visit_steps' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:45:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:191:in `before_and_after' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/cucumber:9 | |
(RuntimeError) | |
./features/step_definitions/cucumber_steps.rb:63:in `/^it should (fail|pass)$/' | |
features/wire_protocol.feature:72:in `And it should pass with' | |
# | |
# invoke | |
# | |
# Assuming a step_match was returned for a given step name, when it's time to invoke that | |
# step definition, Cucumber will send an invoke message. | |
# The message contains the ID of the step definition, as returned by the wire end from the | |
# step_matches call, along with the arguments that were parsed from the step name during the | |
# same step_matches call. | |
# The wire end will reply with either a step_failed or a success message. | |
Scenario: Invoke a step definition which passes # features/wire_protocol.feature:92 | |
Given there is a wire server running on port 98989 which understands the following protocol: # features/step_definitions/wire_steps.rb:1 | |
| request | response | | |
| ["step_matches",{"name_to_match":"we're all wired"}] | ["step_matches",[{"id":"1", "args":[]}]] | | |
./features/support/fake_wire_server.rb:10:in `initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
from ./features/support/fake_wire_server.rb:10:in `open' | |
from ./features/support/fake_wire_server.rb:10:in `run' | |
from ./features/step_definitions/wire_steps.rb:6 | |
from ./features/step_definitions/wire_steps.rb:4:in `fork' | |
from ./features/step_definitions/wire_steps.rb:4 | |
from ./features/support/env.rb:84:in `chdir' | |
from ./features/support/env.rb:84:in `in_current_dir' | |
from ./features/step_definitions/wire_steps.rb:3 | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/rb_support/rb_step_definition.rb:55:in `invoke' | |
from ./bin/../lib/cucumber/step_match.rb:23:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:58:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:99:in `visit_step' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:15:in `accept' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `each' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:93:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
| ["begin_scenario",null] | from ./bin/../lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/scenario.rb:45:in `accept' | |
from ./bin/../lib/cucumber/step_mother.rb:191:in `before_and_after' | |
from ./bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
from ./bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
from ./bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
from ./bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
from ./bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
from bin/cucumber:9 | |
["success",null] | | |
| ["invoke",{"id":"1","args":[]}] | ["success",null] | | |
| ["end_scenario",null] | ["success",null] | | |
When I run cucumber -f progress --backtrace features # features/step_definitions/cucumber_steps.rb:50 | |
And it should pass with # features/step_definitions/cucumber_steps.rb:68 | |
""" | |
. | |
1 scenario (1 passed) | |
1 step (1 passed) | |
""" | |
Failed with exit status 1 | |
STDOUT: | |
STDERR: | |
getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `initialize' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `new' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `socket' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
/opt/local/lib/ruby/1.8/timeout.rb:62:in `timeout' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:18:in `call_remote' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/request_handler.rb:11:in `execute' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:55:in `make_request' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:35:in `begin_scenario' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/language_support/language_methods.rb:12:in `before' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:209:in `before' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `before' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:190:in `before_and_after' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/cucumber:9 | |
(RuntimeError) | |
./features/step_definitions/cucumber_steps.rb:63:in `/^it should (fail|pass)$/' | |
features/wire_protocol.feature:100:in `And it should pass with' | |
# When a step definition fails, it can return details of the exception in the reply to invoke. These | |
# will then be passed by Cucumber to the formatters for display to the user. | |
# | |
Scenario: Invoke a step definition which fails # features/wire_protocol.feature:112 | |
Given there is a wire server running on port 98989 which understands the following protocol: # features/step_definitions/wire_steps.rb:1 | |
| request | response | | |
| ["step_matches",{"name_to_match":"we're all wired"}] | ["step_matches",[{"id":"1", "args":[]}]] | | |
./features/support/fake_wire_server.rb:10:in `initialize' | ["begin_scenario",null] |: getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
from ./features/support/fake_wire_server.rb:10:in `open' | |
from ./features/support/fake_wire_server.rb:10:in `run' | |
from ./features/step_definitions/wire_steps.rb:6 | |
from ./features/step_definitions/wire_steps.rb:4:in `fork' | |
from ./features/step_definitions/wire_steps.rb:4 | |
from ./features/support/env.rb:84:in `chdir' | |
from ./features/support/env.rb:84:in `in_current_dir' | |
from ./features/step_definitions/wire_steps.rb:3 | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/rb_support/rb_step_definition.rb:55:in `invoke' | |
from ./bin/../lib/cucumber/step_match.rb:23:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:58:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:99:in `visit_step' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:15:in `accept' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `each' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:93:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/scenario.rb:45:in `accept' | |
from ./bin/../lib/cucumber/step_mother.rb:191:in `before_and_after' | |
from ./bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
["success",null] | from ./bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
from ./bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
from ./bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
from ./bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
from bin/cucumber:9 | |
| ["invoke",{"id":"1","args":[]}] | ["step_failed",{"message":"The wires are down"}] | | |
| ["end_scenario",null] | ["success",null] | | |
When I run cucumber -f progress features # features/step_definitions/cucumber_steps.rb:50 | |
Then STDERR should be empty # features/step_definitions/cucumber_steps.rb:121 | |
expected: "", | |
got: "getaddrinfo: nodename nor servname provided, or not known (SocketError)\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `initialize'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `new'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `socket'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket'\n/opt/local/lib/ruby/1.8/timeout.rb:62:in `timeout'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:18:in `call_remote'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/request_handler.rb:11:in `execute'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:55:in `make_request'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:35:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/language_support/language_methods.rb:12:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:209:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:190:in `before_and_after'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:43:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:37:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:25:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:29:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:28:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:55:in `execute!'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:24:in `execute'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/cucumber:9\n" (using ==) | |
Diff: | |
@@ -1 +1,42 @@ | |
+getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `initialize' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `new' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `socket' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
+/opt/local/lib/ruby/1.8/timeout.rb:62:in `timeout' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:18:in `call_remote' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/request_handler.rb:11:in `execute' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:55:in `make_request' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:35:in `begin_scenario' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/language_support/language_methods.rb:12:in `before' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:209:in `before' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `before' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:190:in `before_and_after' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/cucumber:9 | |
(Spec::Expectations::ExpectationNotMetError) | |
./features/step_definitions/cucumber_steps.rb:122:in `/^STDERR should be empty$/' | |
features/wire_protocol.feature:120:in `Then STDERR should be empty' | |
And it should fail with # features/step_definitions/cucumber_steps.rb:68 | |
""" | |
F | |
(::) failed steps (::) | |
The wires are down (Cucumber::WireSupport::WireException) | |
features/wired.feature:2:in `Given we're all wired' | |
Failing Scenarios: | |
cucumber features/wired.feature:1 # Scenario: Wired | |
1 scenario (1 failed) | |
1 step (1 failed) | |
""" | |
# Imagine we have a step definition like: | |
# | |
# Given /we're all (.*)/ do |what_we_are| | |
# end | |
# | |
# When this step definition matches the step name in our feature, the word 'wired' will be parsed as an | |
# argument. | |
# | |
# Cucumber expects this StepArgument to be returned in the StepMatch. The keys have the following meanings: | |
# * val : the value of the string captured for that argument from the step name passed in step_matches | |
# * pos : the position within the step name that the argument was matched (used for formatter highlighting) | |
# | |
Scenario: Invoke a step definition which takes arguments (and passes) # features/wire_protocol.feature:150 | |
Given there is a wire server running on port 98989 which understands the following protocol: # features/step_definitions/wire_steps.rb:1 | |
| request | response | | |
| ["step_matches",{"name_to_match":"we're all wired"}] | ["step_matches",[{"id":"1", "args":[{"val":"wired", "pos":10}]}]] |./features/support/fake_wire_server.rb:10:in `initialize' | |
: getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
from ./features/support/fake_wire_server.rb:10:in `open' | |
from ./features/support/fake_wire_server.rb:10:in `run' | |
from ./features/step_definitions/wire_steps.rb:6 | |
from ./features/step_definitions/wire_steps.rb:4:in `fork' | |
from ./features/step_definitions/wire_steps.rb:4 | |
from ./features/support/env.rb:84:in `chdir' | |
from ./features/support/env.rb:84:in `in_current_dir' | |
from ./features/step_definitions/wire_steps.rb:3 | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/rb_support/rb_step_definition.rb:55:in `invoke' | |
from ./bin/../lib/cucumber/step_match.rb:23:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:58:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:99:in `visit_step' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:15:in `accept' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `each' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:93:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/scenario.rb:45:in `accept' | |
from ./bin/../lib/cucumber/step_mother.rb:191:in `before_and_after' | |
from ./bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
from ./bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
from ./bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
| ["begin_scenario",null] | from ./bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
from ./bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
from ./bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
from bin/cucumber:9 | |
["success",null] | | |
| ["invoke",{"id":"1","args":["wired"]}] | ["success",null] | | |
| ["end_scenario",null] | ["success",null] | | |
When I run cucumber -f progress --backtrace features # features/step_definitions/cucumber_steps.rb:50 | |
Then STDERR should be empty # features/step_definitions/cucumber_steps.rb:121 | |
expected: "", | |
got: "getaddrinfo: nodename nor servname provided, or not known (SocketError)\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `initialize'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `new'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `socket'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket'\n/opt/local/lib/ruby/1.8/timeout.rb:62:in `timeout'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:18:in `call_remote'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/request_handler.rb:11:in `execute'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:55:in `make_request'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:35:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/language_support/language_methods.rb:12:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:209:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:190:in `before_and_after'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:43:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:37:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:25:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:29:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:28:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:55:in `execute!'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:24:in `execute'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/cucumber:9\n" (using ==) | |
Diff: | |
@@ -1 +1,42 @@ | |
+getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `initialize' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `new' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `socket' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
+/opt/local/lib/ruby/1.8/timeout.rb:62:in `timeout' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:18:in `call_remote' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/request_handler.rb:11:in `execute' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:55:in `make_request' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:35:in `begin_scenario' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/language_support/language_methods.rb:12:in `before' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:209:in `before' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `before' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:190:in `before_and_after' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
+/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/cucumber:9 | |
(Spec::Expectations::ExpectationNotMetError) | |
./features/step_definitions/cucumber_steps.rb:122:in `/^STDERR should be empty$/' | |
features/wire_protocol.feature:158:in `Then STDERR should be empty' | |
And it should pass with # features/step_definitions/cucumber_steps.rb:68 | |
""" | |
. | |
1 scenario (1 passed) | |
1 step (1 passed) | |
""" | |
Scenario: Unexpected response # features/wire_protocol.feature:169 | |
Given there is a wire server running on port 98989 which understands the following protocol: # features/step_definitions/wire_steps.rb:1 | |
| request | response | | |
| ["begin_scenario",null] | ["yikes"] | | |
./features/support/fake_wire_server.rb:10:in `initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError) | |
from ./features/support/fake_wire_server.rb:10:in `open' | |
from ./features/support/fake_wire_server.rb:10:in `run' | |
from ./features/step_definitions/wire_steps.rb:6 | |
from ./features/step_definitions/wire_steps.rb:4:in `fork' | |
from ./features/step_definitions/wire_steps.rb:4 | |
from ./features/support/env.rb:84:in `chdir' | |
from ./features/support/env.rb:84:in `in_current_dir' | |
from ./features/step_definitions/wire_steps.rb:3 | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:48:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering' | |
from ./bin/../lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec' | |
from ./bin/../lib/cucumber/rb_support/rb_step_definition.rb:55:in `invoke' | |
from ./bin/../lib/cucumber/step_match.rb:23:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:58:in `invoke' | |
from ./bin/../lib/cucumber/ast/step_invocation.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:99:in `visit_step' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:98:in `visit_step' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:15:in `accept' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `each' | |
from ./bin/../lib/cucumber/ast/step_collection.rb:14:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:93:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:92:in `visit_steps' | |
from ./bin/../lib/cucumber/ast/scenario.rb:45:in `accept' | |
from ./bin/../lib/cucumber/step_mother.rb:191:in `before_and_after' | |
from ./bin/../lib/cucumber/ast/scenario.rb:43:in `accept' | |
from ./bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor' | |
from ./bin/../lib/cucumber/ast/scenario.rb:37:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element' | |
from ./bin/../lib/cucumber/ast/feature.rb:25:in `accept' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `each' | |
from ./bin/../lib/cucumber/ast/feature.rb:24:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature' | |
from ./bin/../lib/cucumber/ast/features.rb:29:in `accept' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:17:in `each' | |
from ./bin/../lib/cucumber/ast/features.rb:28:in `accept' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast' | |
from ./bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features' | |
from ./bin/../lib/cucumber/cli/main.rb:55:in `execute!' | |
from ./bin/../lib/cucumber/cli/main.rb:24:in `execute' | |
from bin/cucumber:9 | |
When I run cucumber -f progress features # features/step_definitions/cucumber_steps.rb:50 | |
Then STDERR should match # features/step_definitions/cucumber_steps.rb:109 | |
""" | |
undefined method `handle_yikes' | |
""" | |
expected: /undefined method `handle_yikes'/, | |
got: "getaddrinfo: nodename nor servname provided, or not known (SocketError)\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `initialize'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `new'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `socket'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket'\n/opt/local/lib/ruby/1.8/timeout.rb:62:in `timeout'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:18:in `call_remote'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/request_handler.rb:11:in `execute'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:55:in `make_request'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:35:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/language_support/language_methods.rb:12:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:209:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:190:in `before_and_after'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:43:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:37:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:25:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:29:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:28:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:55:in `execute!'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:24:in `execute'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/cucumber:9\n" (using =~) | |
Diff: | |
@@ -1,2 +1,2 @@ | |
-/undefined method `handle_yikes'/ | |
+"getaddrinfo: nodename nor servname provided, or not known (SocketError)\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `initialize'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `new'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:38:in `socket'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket'\n/opt/local/lib/ruby/1.8/timeout.rb:62:in `timeout'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:29:in `send_data_to_socket'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/connection.rb:18:in `call_remote'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/request_handler.rb:11:in `execute'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:55:in `make_request'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_protocol.rb:35:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/wire_support/wire_language.rb:34:in `begin_scenario'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/language_support/language_methods.rb:12:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:209:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:208:in `before'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/step_mother.rb:190:in `before_and_after'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:43:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:98:in `with_visitor'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/scenario.rb:37:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:51:in `visit_feature_element'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:50:in `visit_feature_element'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:25:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/feature.rb:24:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:20:in `visit_feature'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:19:in `visit_feature'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:29:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:17:in `each'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/features.rb:28:in `accept'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:14:in `visit_features'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:158:in `broadcast'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/ast/tree_walker.rb:13:in `visit_features'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:55:in `execute!'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/../lib/cucumber/cli/main.rb:24:in `execute'\n/Users/josephwilk/Workspace/ruby/josephwilk/cucumber/bin/cucumber:9\n" | |
(Spec::Expectations::ExpectationNotMetError) | |
./features/step_definitions/cucumber_steps.rb:110:in `/^STDERR should match$/' | |
features/wire_protocol.feature:174:in `Then STDERR should match' | |
Failing Scenarios: | |
cucumber features/wire_protocol.feature:47 # Scenario: Dry run finds no step match | |
cucumber features/wire_protocol.feature:67 # Scenario: Dry run finds a step match | |
cucumber features/wire_protocol.feature:92 # Scenario: Invoke a step definition which passes | |
cucumber features/wire_protocol.feature:112 # Scenario: Invoke a step definition which fails | |
cucumber features/wire_protocol.feature:150 # Scenario: Invoke a step definition which takes arguments (and passes) | |
cucumber features/wire_protocol.feature:169 # Scenario: Unexpected response | |
6 scenarios (6 failed) | |
38 steps (6 failed, 2 skipped, 30 passed) | |
0m4.752s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment