#263 √ resolved
Rick DeNatale

Freshly checked out rspec fails rake pre_commit

Reported by Rick DeNatale | January 31st, 2008 @ 04:37 AM

I noted this in ticket http://rspec.lighthouseapp.com/p...

A freshly checked out version of rspec fails pre-commit.

Here's the full output:

---------------------
shadowfax:~/rspec-clean rick$ rake pre_commit
(in /Users/rick/rspec-clean)
(in /Users/rick/rspec-clean/rspec)
** Invoke pre_commit (first_time)
** Execute pre_commit
** Invoke examples (first_time)
** Execute examples
.....................................PPP...................................................................................

Pending:
pending example (using pending method) should be reported as "PENDING: for some reason" (for some reason)
pending example (with no block) should be reported as "PENDING: Not Yet Implemented" (Not Yet Implemented)
pending example (with block for pending) should have a failing block, passed to pending, reported as "PENDING: for some reason" (for some reason)

Finished in 0.051188 seconds

123 examples, 0 failures, 3 pending
** Invoke verify_rcov (first_time)
** Invoke spec (first_time)
** Invoke clobber_spec (first_time)
** Execute clobber_spec
** Execute spec
Profiling enabled.
.....P..................................................................................................................................................P........................................................P......P.....................F.F...F.F..........................................................................................................................................................................................................................................................................................................................................P............................................P................................................................................................................................................................................................................................................................P................................................................................................................................................................P

    Given given.
    And no match (PENDING).

    When when.
    And no match (PENDING).

    Then then.
    And no match (PENDING)..........................................................................

    When step
    And step........................................................................................................................................................


Top 10 slowest examples:
1.0283810 SpecParser should find spec name for 'specify' at same line
1.0249090 SpecParser should find spec name for 'it' at end of spec line
1.0208700 SpecParser should find context and described and example for type with modifications
1.0140200 SpecParser should find context and spec name for type
0.9809300 SpecParser should find example
0.9771130 SpecParser should find example group
0.9684020 SpecParser should find nothing outside a context
0.9635120 SpecParser should find nearest example name between examples
0.9592350 SpecParser should find context and description for type
0.9589420 SpecParser should find spec name for 'it' at same line

Pending:
Autotest::Rspec selection of rspec command (windows compatibility issues) should use the ALT_SEPARATOR if it is non-nil (autotest got re-worked so this is failing for the moment)
Enumerable as the parent of nested example groups should be included in examples because it is a module (need to make sure nested groups know the described type)
Object#should should raise error if it receives no argument and it is not used as a left side of an operator (Is it even possible to catch this?)
Object#should_not should raise error if it receives no argument and it is not used as a left side of an operator (Is it even possible to catch this?)
mock failure should tell you when it receives the right message with the wrong args if you stub the method (fix bug 15719)
Spec::Mocks::Mock should fail right away when method defined as never is received (Used to pass (false positive). Which one is wrong, the spec or the actual behavior?)
OptionParser should print help to stdout if no args (A regression since 1.0.8)
Spec::Story::Runner::StoryMediator should create a given scenario step if one matches (need to untangle the dark mysteries of the story runner - something needs to get stubbed here)

1)
'ExampleGroup with test/unit/interop with failing examples should return an exit code of 256' FAILED
expected: 256,
     got: #<Process::Status: pid=10187,exited(0)> (using ==)
Diff:
@@ -1,2 +1,2 @@
-#<Process::Status: pid=10187,exited(0)>
+256

./spec/spec/interop/test/unit/spec_spec.rb:30:

2)
'ExampleGroup with test/unit/interop with example that raises an error should return an exit code of 256' FAILED
expected: 256,
     got: #<Process::Status: pid=10189,exited(0)> (using ==)
Diff:
@@ -1,2 +1,2 @@
-#<Process::Status: pid=10189,exited(0)>
+256

./spec/spec/interop/test/unit/spec_spec.rb:42:

3)
'Test::Unit::TestCase with failing test case should return an exit code of 256' FAILED
expected: 256,
     got: #<Process::Status: pid=10193,exited(0)> (using ==)
Diff:
@@ -1,2 +1,2 @@
-#<Process::Status: pid=10193,exited(0)>
+256

./spec/spec/interop/test/unit/testcase_spec.rb:30:

4)
'Test::Unit::TestCase with test case that raises an error should return an exit code of 256' FAILED
expected: 256,
     got: #<Process::Status: pid=10195,exited(0)> (using ==)
Diff:
@@ -1,2 +1,2 @@
-#<Process::Status: pid=10195,exited(0)>
+256

./spec/spec/interop/test/unit/testcase_spec.rb:42:

Finished in 23.610319 seconds

1272 examples, 4 failures, 8 pending
Running 0 scenarios

Story: foo



Story: foo



0 scenarios: 0 succeeded, 0 failed, 0 pending

Pending Steps:
1)  (): no match
2)  (): no match
3)  (): no match
Running 0 scenarios

Story: foo



Story: foo



0 scenarios: 0 succeeded, 0 failed, 0 pending

Pending Steps:
1)  (): no match
2)  (): no match
3)  (): no match
Running 0 scenarios

Story: foo



Story: foo



0 scenarios: 0 succeeded, 0 failed, 0 pending

Pending Steps:
1)  (): no match
2)  (): no match
3)  (): no match
Running 0 scenarios

Story: foo



Story: foo



0 scenarios: 0 succeeded, 0 failed, 0 pending

Pending Steps:
1)  (): no match
2)  (): no match
3)  (): no match
Running 0 scenarios

Story: foo



Story: foo



0 scenarios: 0 succeeded, 0 failed, 0 pending

Pending Steps:
1)  (): no match
2)  (): no match
3)  (): no match
** Invoke stories (first_time)
** Execute stories
/opt/local/bin/ruby stories/all.rb --colour --format plain --format html:story_server/prototype/rspec_stories.html
Running 15 scenarios

Story: autogenerated docstrings

  As an RSpec user
  I want examples to generate their own names
  So that I can reduce duplication between example names and example code

  Scenario: run passing examples with ruby

    Given the file ../../examples/pure/autogenerated_docstrings_example.rb

    When I run it with the ruby interpreter -fs

    Then the stdout should match /should equal 5/
    And the stdout should match /should be < 5/
    And the stdout should match /should include "a"/
    And the stdout should match /should respond to #size/

  Scenario: run failing examples with ruby

    Given the file ../../failing_examples/failing_autogenerated_docstrings_example.rb

    When I run it with the ruby interpreter -fs

    Then the stdout should match /should equal 2/
    And the stdout should match /should be > 5/
    And the stdout should match /should include "b"/
    And the stdout should match /should not respond to #size/

  Scenario: run passing examples with spec

    Given the file ../../examples/pure/autogenerated_docstrings_example.rb

    When I run it with the spec script -fs

    Then the stdout should match /should equal 5/
    And the stdout should match /should be < 5/
    And the stdout should match /should include "a"/
    And the stdout should match /should respond to #size/

  Scenario: run failing examples with spec

    Given the file ../../failing_examples/failing_autogenerated_docstrings_example.rb

    When I run it with the spec script -fs

    Then the stdout should match /should equal 2/
    And the stdout should match /should be > 5/
    And the stdout should match /should include "b"/
    And the stdout should match /should not respond to #size/

Story: Spec::ExampleGroup with should methods

  As an RSpec adopter accustomed to classes and methods
  I want to use should_* methods in an ExampleGroup
  So that I use RSpec with classes and methods that look more like RSpec examples

  Scenario: Run with ruby

    Given the file spec/example_group_with_should_methods.rb

    When I run it with the ruby interpreter

    Then the exit code should be 256 (FAILED)
    And the stdout should match "2 examples, 1 failure"

  Scenario: Run with spec

    Given the file spec/example_group_with_should_methods.rb

    When I run it with the spec script

    Then the exit code should be 256
    And the stdout should match "2 examples, 1 failure"

Story: Nested example groups

  As an RSpec user
  I want to nest examples groups
  So that I can better organize my examples

  Scenario: Run with ruby

    Given the file ../../examples/pure/stack_spec_with_nested_example_groups.rb

    When I run it with the ruby interpreter -fs

    Then the stdout should match /Stack \(empty\)/
    And the stdout should match /Stack \(full\)/

  Scenario: Run with ruby

    Given the file ../../examples/pure/stack_spec_with_nested_example_groups.rb

    When I run it with the spec script -fs

    Then the stdout should match /Stack \(empty\)/
    And the stdout should match /Stack \(full\)/

Story: Getting correct output

  As an RSpec user
  I want to see output only once
  So that I don't get confused

  Scenario: Run with ruby

    Given the file spec/simple_spec.rb

    When I run it with the ruby interpreter

    Then the exit code should be 0
    And the stdout should not match /\d+ tests, \d+ assertions, \d+ failures, \d+ errors/m
    And the stdout should match "1 example, 0 failures"

  Scenario: Run with CommandLine object

    Given the file spec/simple_spec.rb

    When I run it with the CommandLine object

    Then the exit code should be 0
    And the stdout should not match "Loaded suite"
    And the stdout should not match /\d+ tests, \d+ assertions, \d+ failures, \d+ errors/m
    And the stdout should match "1 example, 0 failures"

  Scenario: Tweak backtrace

    Given the file stories/failing_story.rb

    When I run it with the ruby interpreter

    Then the stdout should not match /\/lib\/spec\//

Story: Spec and test together

  As an RSpec adopter with existing Test::Unit tests
  I want to run a few specs alongside my existing Test::Unit tests
  So that I can experience a smooth, gradual migration path

  Scenario: Run with ruby

    Given the file test/spec_and_test_together.rb

    When I run it with the ruby interpreter -fs

    Then the exit code should be 256 (FAILED)
    And the stdout should match "ATest"
    And the stdout should match "Test::Unit::AssertionFailedError in 'An Example should fail with assert'"
    And the stdout should match "'An Example should fail with should' FAILED"
    And the stdout should match "10 examples, 6 failures"
    And the stdout should match /expected: 40,\s*got: 4/m
    And the stdout should match /expected: 50,\s*got: 5/m

  Scenario: Run with spec

    Given the file test/spec_and_test_together.rb

    When I run it with the spec script -fs

    Then the exit code should be 256
    And the stdout should match "Test::Unit::AssertionFailedError in 'An Example should fail with assert'"
    And the stdout should match "'An Example should fail with should' FAILED"
    And the stdout should match "10 examples, 6 failures"
    And the stdout should match /expected: 40,\s*got: 4/m
    And the stdout should match /expected: 50,\s*got: 5/m

Story: Test::Unit::TestCase extended by rspec with should methods

  As an RSpec adopter with existing Test::Unit tests
  I want to use should_* methods in a Test::Unit::TestCase
  So that I use RSpec with classes and methods that look more like RSpec examples

  Scenario: Run with ruby

    Given the file test/test_case_with_should_methods.rb

    When I run it with the ruby interpreter

    Then the exit code should be 256 (FAILED)
    And the stdout should match "5 examples, 3 failures"

  Scenario: Run with spec

    Given the file test/test_case_with_should_methods.rb

    When I run it with the spec script

    Then the exit code should be 256
    And the stdout should match "5 examples, 3 failures"

15 scenarios: 12 succeeded, 3 failed, 0 pending

FAILURES:
    1) Spec::ExampleGroup with should methods (Run with ruby) FAILED
    RuntimeError: Did not exit with 256, but with 0. Standard error:

    ./stories/resources/steps/running_rspec.rb:29:in `the exit code should be $exit_code'
stories/all.rb:3

    2) Spec and test together (Run with ruby) FAILED
    RuntimeError: Did not exit with 256, but with 0. Standard error:

    ./stories/resources/steps/running_rspec.rb:29:in `the exit code should be $exit_code'
stories/all.rb:3

    3) Test::Unit::TestCase extended by rspec with should methods (Run with ruby) FAILED
    RuntimeError: Did not exit with 256, but with 0. Standard error:

    ./stories/resources/steps/running_rspec.rb:29:in `the exit code should be $exit_code'
stories/all.rb:3
** Execute verify_rcov
Coverage: 100.0% (threshold: 100.0%)
** Invoke spec_html (first_time)
** Execute spec_html


    Given given
    And no match (PENDING)

    When when
    And no match (PENDING)

    Then then
    And no match (PENDING)

    When step
    And steprake aborted!
Command ruby -I"/Users/rick/rspec-clean/rspec/lib" "/Users/rick/rspec-clean/rspec/bin/spec" "spec/autotest/discover_spec.rb" "spec/autotest/rspec_spec.rb" "spec/spec/example/configuration_spec.rb" "spec/spec/example/example_group_class_definition_spec.rb" "spec/spec/example/example_group_factory_spec.rb" "spec/spec/example/example_group_methods_spec.rb" "spec/spec/example/example_group_spec.rb" "spec/spec/example/example_matcher_spec.rb" "spec/spec/example/example_methods_spec.rb" "spec/spec/example/example_runner_spec.rb" "spec/spec/example/example_spec.rb" "spec/spec/example/nested_example_group_spec.rb" "spec/spec/example/pending_module_spec.rb" "spec/spec/example/predicate_matcher_spec.rb" "spec/spec/example/shared_example_group_spec.rb" "spec/spec/example/subclassing_example_group_spec.rb" "spec/spec/expectations/differs/default_spec.rb" "spec/spec/expectations/extensions/object_spec.rb" "spec/spec/expectations/fail_with_spec.rb" "spec/spec/extensions/main_spec.rb" "spec/spec/interop/test/unit/spec_spec.rb" "spec/spec/interop/test/unit/testcase_spec.rb" "spec/spec/interop/test/unit/testsuite_adapter_spec.rb" "spec/spec/matchers/be_close_spec.rb" "spec/spec/matchers/be_spec.rb" "spec/spec/matchers/change_spec.rb" "spec/spec/matchers/description_generation_spec.rb" "spec/spec/matchers/eql_spec.rb" "spec/spec/matchers/equal_spec.rb" "spec/spec/matchers/exist_spec.rb" "spec/spec/matchers/handler_spec.rb" "spec/spec/matchers/has_spec.rb" "spec/spec/matchers/have_spec.rb" "spec/spec/matchers/include_spec.rb" "spec/spec/matchers/match_spec.rb" "spec/spec/matchers/matcher_methods_spec.rb" "spec/spec/matchers/mock_constraint_matchers_spec.rb" "spec/spec/matchers/operator_matcher_spec.rb" "spec/spec/matchers/raise_error_spec.rb" "spec/spec/matchers/respond_to_spec.rb" "spec/spec/matchers/satisfy_spec.rb" "spec/spec/matchers/simple_matcher_spec.rb" "spec/spec/matchers/throw_symbol_spec.rb" "spec/spec/mocks/any_number_of_times_spec.rb" "spec/spec/mocks/argument_expectation_spec.rb" "spec/spec/mocks/at_least_spec.rb" "spec/spec/mocks/at_most_spec.rb" "spec/spec/mocks/bug_report_10260_spec.rb" "spec/spec/mocks/bug_report_11545_spec.rb" "spec/spec/mocks/bug_report_15719_spec.rb" "spec/spec/mocks/bug_report_7611_spec.rb" "spec/spec/mocks/bug_report_7805_spec.rb" "spec/spec/mocks/bug_report_8165_spec.rb" "spec/spec/mocks/bug_report_8302_spec.rb" "spec/spec/mocks/failing_mock_argument_constraints_spec.rb" "spec/spec/mocks/mock_ordering_spec.rb" "spec/spec/mocks/mock_space_spec.rb" "spec/spec/mocks/mock_spec.rb" "spec/spec/mocks/multiple_return_value_spec.rb" "spec/spec/mocks/null_object_mock_spec.rb" "spec/spec/mocks/once_counts_spec.rb" "spec/spec/mocks/options_hash_spec.rb" "spec/spec/mocks/partial_mock_spec.rb" "spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb" "spec/spec/mocks/passing_mock_argument_constraints_spec.rb" "spec/spec/mocks/precise_counts_spec.rb" "spec/spec/mocks/record_messages_spec.rb" "spec/spec/mocks/stub_spec.rb" "spec/spec/mocks/twice_counts_spec.rb" "spec/spec/package/bin_spec_spec.rb" "spec/spec/runner/class_and_argument_parser_spec.rb" "spec/spec/runner/command_line_spec.rb" "spec/spec/runner/drb_command_line_spec.rb" "spec/spec/runner/execution_context_spec.rb" "spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb" "spec/spec/runner/formatter/failing_examples_formatter_spec.rb" "spec/spec/runner/formatter/html_formatter_spec.rb" "spec/spec/runner/formatter/profile_formatter_spec.rb" "spec/spec/runner/formatter/progress_bar_formatter_spec.rb" "spec/spec/runner/formatter/snippet_extractor_spec.rb" "spec/spec/runner/formatter/spec_mate_formatter_spec.rb" "spec/spec/runner/formatter/specdoc_formatter_spec.rb" "spec/spec/runner/formatter/story/html_formatter_spec.rb" "spec/spec/runner/formatter/story/plain_text_formatter_spec.rb" "spec/spec/runner/heckle_runner_spec.rb" "spec/spec/runner/heckler_spec.rb" "spec/spec/runner/noisy_backtrace_tweaker_spec.rb" "spec/spec/runner/option_parser_spec.rb" "spec/spec/runner/options_spec.rb" "spec/spec/runner/output_one_time_spec.rb" "spec/spec/runner/quiet_backtrace_tweaker_spec.rb" "spec/spec/runner/reporter_spec.rb" "spec/spec/runner/resources/a_spec.rb" "spec/spec/runner/spec_parser_spec.rb" "spec/spec/runner_spec.rb" "spec/spec/story/extensions/main_spec.rb" "spec/spec/story/extensions_spec.rb" "spec/spec/story/given_scenario_spec.rb" "spec/spec/story/runner/plain_text_story_runner_spec.rb" "spec/spec/story/runner/scenario_collector_spec.rb" "spec/spec/story/runner/scenario_runner_spec.rb" "spec/spec/story/runner/story_mediator_spec.rb" "spec/spec/story/runner/story_parser_spec.rb" "spec/spec/story/runner/story_runner_spec.rb" "spec/spec/story/runner_spec.rb" "spec/spec/story/scenario_spec.rb" "spec/spec/story/step_group_spec.rb" "spec/spec/story/step_mother_spec.rb" "spec/spec/story/step_spec.rb" "spec/spec/story/story_spec.rb" "spec/spec/story/world_spec.rb" "spec/spec/translator_spec.rb" --format html:../doc/output/report.html --backtrace failed
./lib/spec/rake/spectask.rb:184:in `define'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1003:in `verbose'
./lib/spec/rake/spectask.rb:153:in `define'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in `call'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in `execute'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `each'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `execute'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:508:in `invoke_with_call_chain'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in `synchronize'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in `invoke_with_call_chain'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:494:in `invoke'
/Users/rick/rspec-clean/rspec/pre_commit/lib/pre_commit/pre_commit.rb:9:in `rake_invoke'
/Users/rick/rspec-clean/rspec/pre_commit/lib/pre_commit/core.rb:10:in `website'
/Users/rick/rspec-clean/rspec/pre_commit/lib/pre_commit/core.rb:4:in `pre_commit'
/Users/rick/rspec-clean/rspec/rakefile:162
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in `call'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in `execute'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `each'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in `execute'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:508:in `invoke_with_call_chain'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in `synchronize'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in `invoke_with_call_chain'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:494:in `invoke'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1931:in `invoke_task'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `each'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in `top_level'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1903:in `top_level'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1881:in `run'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in `standard_exception_handling'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in `run'
/opt/local/lib/ruby/gems/1.8/gems/rake-0.8.1/bin/rake:31
/opt/local/bin/rake:19:in `load'
/opt/local/bin/rake:19
rake aborted!
RSpec Core pre_commit failed
/Users/rick/rspec-clean/rakefile:9
(See full trace by running task with --trace)
shadowfax:~/rspec-clean rick$ 

---------------------

Comments and changes to this ticket

  • David Chelimsky

    David Chelimsky January 31st, 2008 @ 05:44 AM

      • → State changed from “new” to “open”

    Everything's passing for me on a fresh checkout. What rspec revision? What OS?

  • Rick DeNatale

    Rick DeNatale January 31st, 2008 @ 05:49 AM

    Okay, lighthouse is up, at least intermittently.

    It's OSX Tiger

    Here's the SVN info

    shadowfax:~/rspec-clean rick$ svn info

    Path: .

    URL: http://rspec.rubyforge.org/svn/t...

    Repository Root: http://rspec.rubyforge.org/svn

    Repository UUID: 410327ef-2207-0410-a325-f78bbcb22a5a

    Revision: 3268

    Node Kind: directory

    Schedule: normal

    Last Changed Author: btakita

    Last Changed Rev: 3268

    Last Changed Date: 2008-01-28 19:07:57 -0500 (Mon, 28 Jan 2008)

  • David Chelimsky

    David Chelimsky January 31st, 2008 @ 05:52 AM

    Ruby version? Patch level?

    $ ruby -v
    ruby 1.8.6 (2007-09-24 patchlevel 111) [universal-darwin9.0]
    
  • Rick DeNatale

    Rick DeNatale January 31st, 2008 @ 05:55 AM

    shadowfax:~/rspec-clean rick$ ruby -v

    ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.10.2]

  • Gerrit Kaiser

    Gerrit Kaiser February 1st, 2008 @ 09:39 PM

    gerrit@vega:~/Development/rspec-trunk> svn info && ruby --version

    Path: .

    URL: svn://rubyforge.org/var/svn/rspec/trunk

    Repository Root: svn://rubyforge.org/var/svn/rspec

    Repository UUID: 410327ef-2207-0410-a325-f78bbcb22a5a

    Revision: 3281

    Node Kind: directory

    Schedule: normal

    Last Changed Author: dchelimsky

    Last Changed Rev: 3278

    Last Changed Date: 2008-01-31 23:29:22 +1100 (Thu, 31 Jan 2008)

    ruby 1.8.6 (2007-09-24 patchlevel 111) [universal-darwin9.0]

    The (numerous) error messages I get: http://pastie.textmate.org/priva...

  • David Chelimsky

    David Chelimsky February 1st, 2008 @ 10:23 PM

      • → Assigned user changed from “” to “David Chelimsky”
      • → State changed from “open” to “resolved”

    gerrit - you gotta update ZenTest to the latest. I emailed the rspec-users and rspec-devel lists about this. I'll add a note to the website also.

  • Gerrit Kaiser

    Gerrit Kaiser February 5th, 2008 @ 07:02 AM

    okay, that fixed it, thanks. I'm still getting multiple errors, but these might be due to my rather slow machine: Timeout::Error (execution expired) in spec_parser_spec.rb

  • Ian White

    Ian White February 5th, 2008 @ 11:02 AM

    I'm getting the errors mentioned above, with a fresh checkout.

    my env:

    ZenTest (3.9.1)

    ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.9.1]

    The errors are all in the interop suite

    1)

    'ExampleGroup with test/unit/interop with failing examples should return an exit code of 256' FAILED

    expected: 256,

    got: # (using ==)

    Diff:

    @@ -1,2 +1,2 @@

    -#

    +256

    ./spec/spec/interop/test/unit/spec_spec.rb:30:

    2)

    'ExampleGroup with test/unit/interop with example that raises an error should return an exit code of 256' FAILED

    expected: 256,

    got: # (using ==)

    Diff:

    @@ -1,2 +1,2 @@

    -#

    +256

    ./spec/spec/interop/test/unit/spec_spec.rb:42:

    3)

    'Test::Unit::TestCase with failing test case should return an exit code of 256' FAILED

    expected: 256,

    got: # (using ==)

    Diff:

    @@ -1,2 +1,2 @@

    -#

    +256

    ./spec/spec/interop/test/unit/testcase_spec.rb:30:

    4)

    'Test::Unit::TestCase with test case that raises an error should return an exit code of 256' FAILED

    expected: 256,

    got: # (using ==)

    Diff:

    @@ -1,2 +1,2 @@

    -#

    +256

    ./spec/spec/interop/test/unit/testcase_spec.rb:42:

  • David Chelimsky

    David Chelimsky February 5th, 2008 @ 03:28 PM

    Ian - how are you running the specs? Those examples do not get loaded by `rake` or `rake spec`.

  • Ian White

    Ian White February 5th, 2008 @ 03:35 PM

    rake pre_commit

    Full output:

    xenon:~ ian$ cd Development/rspec_trunk/

    xenon:~/Development/rspec_trunk ian$ rake pre_commit

    (in /Users/ian/Development/rspec_trunk)

    (in /Users/ian/Development/rspec_trunk/rspec)

    ** Invoke pre_commit (first_time)

    ** Execute pre_commit

    ** Invoke examples (first_time)

    ** Execute examples

    .....................................PPP...................................................................................

    Pending:

    pending example (using pending method) should be reported as "PENDING: for some reason" (for some reason)

    pending example (with no block) should be reported as "PENDING: Not Yet Implemented" (Not Yet Implemented)

    pending example (with block for pending) should have a failing block, passed to pending, reported as "PENDING: for some reason" (for some reason)

    Finished in 0.049007 seconds

    123 examples, 0 failures, 3 pending

    ** Invoke verify_rcov (first_time)

    ** Invoke spec (first_time)

    ** Invoke clobber_spec (first_time)

    ** Execute clobber_spec

    ** Execute spec

    Profiling enabled.

    ..................................................................................................................................................P........................................................P......P.....................F.F...F.F..........................................................................................................................................................................................................................................................................................................................................P............................................P................................................................................................................................................................................................................................................................P................................................................................................................................................................P

    Given given.

    And no match (PENDING).

    When when.

    And no match (PENDING).

    Then then.

    And no match (PENDING)..........................................................................

    When step

    And step........................................................................................................................................................

    Top 10 slowest examples:

    1.0266430 SpecParser should find example group

    1.0239720 SpecParser should find spec name for 'specify' at same line

    1.0192040 SpecParser should find spec name for 'it' at same line

    1.0059590 SpecParser should find context name for type

    0.9888630 SpecParser should find context and description for type

    0.9813930 SpecParser should find context for 'describe' above all specs

    0.9632370 SpecParser should find nearest example name between examples

    0.9623160 SpecParser should find context and description for type with modifications

    0.9594600 SpecParser should find nested example

    0.9556500 SpecParser should find spec name for 'it' at end of spec line

    Pending:

    Enumerable as the parent of nested example groups should be included in examples because it is a module (need to make sure nested groups know the described type)

    Object#should should raise error if it receives no argument and it is not used as a left side of an operator (Is it even possible to catch this?)

    Object#should_not should raise error if it receives no argument and it is not used as a left side of an operator (Is it even possible to catch this?)

    mock failure should tell you when it receives the right message with the wrong args if you stub the method (fix bug 15719)

    Spec::Mocks::Mock should fail right away when method defined as never is received (Used to pass (false positive). Which one is wrong, the spec or the actual behavior?)

    OptionParser should print help to stdout if no args (A regression since 1.0.8)

    Spec::Story::Runner::StoryMediator should create a given scenario step if one matches (need to untangle the dark mysteries of the story runner - something needs to get stubbed here)

    1)

    'ExampleGroup with test/unit/interop with failing examples should return an exit code of 256' FAILED

    expected: 256,

    got: # (using ==)

    Diff:

    @@ -1,2 +1,2 @@

    -#

    +256

    ./spec/spec/interop/test/unit/spec_spec.rb:30:

    2)

    'ExampleGroup with test/unit/interop with example that raises an error should return an exit code of 256' FAILED

    expected: 256,

    got: # (using ==)

    Diff:

    @@ -1,2 +1,2 @@

    -#

    +256

    ./spec/spec/interop/test/unit/spec_spec.rb:42:

    3)

    'Test::Unit::TestCase with failing test case should return an exit code of 256' FAILED

    expected: 256,

    got: # (using ==)

    Diff:

    @@ -1,2 +1,2 @@

    -#

    +256

    ./spec/spec/interop/test/unit/testcase_spec.rb:30:

    4)

    'Test::Unit::TestCase with test case that raises an error should return an exit code of 256' FAILED

    expected: 256,

    got: # (using ==)

    Diff:

    @@ -1,2 +1,2 @@

    -#

    +256

    ./spec/spec/interop/test/unit/testcase_spec.rb:42:

    Finished in 23.243807 seconds

    1266 examples, 4 failures, 7 pending

    rake aborted!

  • David Chelimsky

    David Chelimsky February 5th, 2008 @ 03:45 PM

    Interesting. What Ruby version?

  • Ian White

    Ian White February 5th, 2008 @ 04:05 PM

    ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.9.1]

Please Login or create a free account to add a new comment.

You can update this ticket by sending an email to from your email client. (help)

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

Behaviour Driven Development for Ruby.

Shared Ticket Bins