[rspec-devel] Build Breaking?

Brian Takita brian.takita at gmail.com
Sat Jan 6 18:05:21 EST 2007


On 1/6/07, David Chelimsky <dchelimsky at gmail.com> wrote:
>
> On 1/6/07, David Chelimsky <dchelimsky at gmail.com> wrote:
> > On 1/6/07, David Chelimsky <dchelimsky at gmail.com> wrote:
> > > On 1/6/07, Brian Takita <brian.takita at gmail.com> wrote:
> > > > I changed BaseTextFormatter
> > > >
> > > >         def backtrace_line(line)
> > > >           line.sub(Dir.pwd, '.').sub(/\A([^:]+:\d+)$/, '\\1:')
> > > >         end
> > > >
> > > > This spec seems OS specific...
> > > >
> > > >  /usr/local/bin/ruby
> > > >
> /home/btakita/workspace/rspec/rspec/spec/spec/runner/formatter/html_formatter_spec.rb
> > >
> > > Try standing in /home/btakita/workspace/rspec/rspec. That's where it's
> > > intended to be run from.
> >

> To clarify - you won't have to add the pwd replace if you run it from
> > the rspec root (rspec/rspec in this case).
> >


I ran rake from the rspec directory. Thats why Dir.pwd was the correct
directory.  Like you mentioned, it seems to be a difference in Ruby 1.8.5

> >
> > > >
> > > > F
> > > >
> > > > 1)
> > > > 'HtmlFormatter should produce HTML identical to the one we designed
> > > > manually' FAILED
> > > >  "<?xml version=\"1.0\"
> > > > encoding=\"iso-8859-1\"?>\n<!DOCTYPE html\n     PUBLIC
> > > > \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n     \"
> > > > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html
> > > > xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\"
> > > > lang=\"en\">\n<head>\n  <title>RSpec results</title>\n  <meta
> > > > http-equiv=\"Content-Type\" content=\"text/html;
> charset=iso-8859-1\" />\n
> > > > <meta http-equiv=\"Expires\" content=\"-1\" />\n  <meta
> > > > http-equiv=\"Pragma\" content=\"no-cache\" />\n  <script
> > > > type=\"text/javascript\">\n  function moveProgressBar(percentDone)
> {\n
> > > > document.getElementById(\"header\").style.width = percentDone
> +\"%\";\n  }\n
> > > >  function makeRed(element_id) {\n
> > > > document.getElementById(element_id).style.background =
> '#C40D0D';\n  }\n
> > > > </script>\n  <style type=\"text/css\">\n  body {\n    margin: 0;
> padding:
> > > > 0;\n    background: #fff;\n  }\n\n  #header {\n    background:
> #65C400;
> > > > color: #fff;\n  }\n\n  h1 {\n    margin: 0 0 10px;\n    padding:
> 10px;\n
> > > > font: bold 18px \"Lucida Grande\", Helvetica,
> sans-serif;\n  }\n\n  #summary
> > > > {\n    margin: 0; padding: 5px 10px;\n    font: bold 10px \"Lucida
> Grande\",
> > > > Helvetica, sans-serif;\n    text-align: right;\n    position:
> absolute;\n
> > > > top: 0px;\n    right: 0px;\n  }\n\n  #summary p {\n    margin: 0 0
> 2px;\n
> > > > }\n\n  #summary #totals {\n    font-size: 14px;\n  }\n\n  .context
> {\n
> > > > margin: 0 10px 5px;\n    background: #fff;\n  }\n\n  dl
> {\n    margin: 0;
> > > > padding: 0 0 5px;\n    font: normal 11px \"Lucida Grande\",
> Helvetica,
> > > > sans-serif;\n  }\n\n  dt {\n    padding: 3px;\n    background:
> #65C400;\n
> > > > color: #fff;\n    font-weight: bold;\n  }\n\n  dd {\n    margin: 5px
> 0 5px
> > > > 5px;\n    padding: 3px 3px 3px 18px;\n  }\n\n  dd.spec.passed {\n
> > > > border-left: 5px solid #65C400;\n    border-bottom: 1px solid
> #65C400;\n
> > > > background: #DBFFB4; color: #3D7700;\n  }\n\n  dd.spec.failed {\n
> > > > border-left: 5px solid #C20000;\n    border-bottom: 1px solid
> #C20000;\n
> > > > color: #C20000; background: #FFFBD3;\n  }\n\n  div.backtrace{\n    color:
> > > > #000;\n    font-size: 12px;\n  }\n\n  a {\n    color:
> #BE5C00;\n  }\n
> > > > </style>\n</head>\n<body>\n\n<div id=\"header\">\n
> > > > <h1>RSpec Results</h1>\n\n  <div id=\"summary\">\n    <p
> > > > id=\"duration\">&nbsp;</p>\n    <p id=\"totals\">&nbsp;</p>\n
> > > > </div>\n</div>\n\n<div id=\"results\">\n<div
> class=\"context\">\n  <dl>\n
> > > > <dt id=\"context_1\">Mocker</dt>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 7.6');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">should be able to call
> > > > mock()</span></dd>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_1');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 15.3');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should fail when expected
> > > > message not received</span>\n      <div class=\"failure\"
> > > > id=\"failure_1\">\n        <div class=\"message\"><pre>Mock 'poke
> me'
> > > > expected :poke with (any args) once, but received it 0
> times</pre></div>\n
> > > >      <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/mocking_example.rb:13:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > >
> `chdir'\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > >
> `each'\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:\n./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>\n
> > > >      </div>\n    </dd>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_1');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 23.0');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should fail when messages are
> > > > received out of order</span>\n      <div class=\"failure\"
> > > > id=\"failure_2\">\n        <div class=\"message\"><pre>Mock 'one two
> three'
> > > > received :three out of order</pre></div>\n        <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/mocking_example.rb:22:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > >
> `chdir'\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > >
> `each'\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:\n./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>\n
> > > >      </div>\n    </dd>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_1');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 30.7');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should get yelled at when
> > > > sending unexpected messages</span>\n      <div class=\"failure\"
> > > > id=\"failure_3\">\n        <div class=\"message\"><pre>Mock 'don't
> talk to
> > > > me' expected :any_message_at_all with (any args) 0 times, but
> received it
> > > > once</pre></div>\n        <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/mocking_example.rb:28:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > >
> `chdir'\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > >
> `each'\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:\n./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>\n
> > > >      </div>\n    </dd>\n  </dl>\n</div>\n<div
> class=\"context\">\n  <dl>\n
> > > > <dt id=\"context_2\">Running specs with --diff</dt>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_2');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 38.4');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should print diff of different
> > > > strings</span>\n      <div class=\"failure\"
> id=\"failure_4\">\n        <div
> > > > class=\"message\"><pre>&quot;RSpec is a\\nbehavior driven
> > > > development\\nframework for Ruby\\n&quot; should == &quot;RSpec is
> > > > a\\nbehaviour driven development\\nframework for
> Ruby\\n&quot;\nDiff:\n@@
> > > > -1,4 +1,4 @@\n RSpec is a\n-behavior driven development\n+behaviour
> driven
> > > > development\n framework for Ruby\n</pre></div>\n        <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/diffing_spec.rb:13:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > >
> `chdir'\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > >
> `each'\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:\n./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>\n
> > > >      </div>\n    </dd>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_2');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 46.1');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should print diff of different
> > > > objects' pretty representation</span>\n      <div class=\"failure\"
> > > > id=\"failure_5\">\n        <div
> > > >
> class=\"message\"><pre>&lt;Animal\nname=bob,\nspecies=giraffe\n&gt;\n
> > > > should eql
> > > > &lt;Animal\nname=bob,\nspecies=tortoise\n&gt;\n\nDiff:\n@@
> > > > -1,5 +1,5 @@\n &lt;Animal\n
> > > > name=bob,\n-species=giraffe\n+species=tortoise\n
> > > > &gt;\n</pre></div>\n        <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/diffing_spec.rb:34:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > >
> `chdir'\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > >
> `each'\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:\n./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>\n
> > > >      </div>\n    </dd>\n  </dl>\n</div>\n<div
> class=\"context\">\n  <dl>\n
> > > > <dt id=\"context_3\">A consumer of a stub</dt>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 53.8');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">should be able to stub methods
> > > > on any Object</span></dd>\n  </dl>\n</div>\n<div
> class=\"context\">\n
> > > > <dl>\n  <dt id=\"context_4\">A stubbed method on a
> class</dt>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 61.5');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">should return the stubbed
> > > > value</span></dd>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 69.2');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">should revert to the original
> > > > method after each spec</span></dd>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 76.9');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">can stub! and mock the same
> message</span></dd>\n
> > > >  </dl>\n</div>\n<div class=\"context\">\n  <dl>\n  <dt
> id=\"context_5\">A
> > > > mock</dt>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 84.6');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">can stub!</span></dd>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 92.3');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">can stub! and
> mock</span></dd>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 100.0');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">can stub! and mock the same
> message</span></dd>\n
> > > >  </dl>\n</div>\n<script type=\"text/javascript\">
> > > > document.getElementById('duration').innerHTML = \"Finished in
> <strong>x
> > > > seconds</strong>\";</script>\n<script
> > > > type=\"text/javascript\">document.getElementById('totals').innerHTML
> = \"13
> > > > specifications, 5
> > > > failures\";</script>\n</div>\n</body>\n</html>\n" should ==
> > > > "<?xml version=\" 1.0\"
> > > > encoding=\"iso-8859-1\"?>\n<!DOCTYPE html\n     PUBLIC
> > > > \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n
> > > > \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\
> > > > ">\n\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\"
> > > > lang=\"en\">\n<head>\n  <title>RSpec results</title>\n  <meta
> > > > http-equiv=\"Content-Type\" content=\"text/html;
> charset=iso-8859-1\" />\n
> > > > <meta http-equiv=\"Expires\" content=\"-1\" />\n  <meta
> > > > http-equiv=\"Pragma\" content=\"no-cache\" />\n  <script
> > > > type=\"text/javascript\">\n  function moveProgressBar(percentDone)
> {\n
> > > > document.getElementById(\"header\").style.width = percentDone
> +\"%\";\n  }\n
> > > >  function makeRed(element_id) {\n
> > > > document.getElementById(element_id).style.background =
> '#C40D0D';\n  }\n
> > > > </script>\n  <style type=\"text/css\">\n  body {\n    margin: 0;
> padding:
> > > > 0;\n    background: #fff;\n  }\n\n  #header {\n    background:
> #65C400;
> > > > color: #fff;\n  }\n\n  h1 {\n    margin: 0 0 10px;\n    padding:
> 10px;\n
> > > > font: bold 18px \"Lucida Grande\", Helvetica,
> sans-serif;\n  }\n\n  #summary
> > > > {\n    margin: 0; padding: 5px 10px;\n    font: bold 10px \"Lucida
> Grande\",
> > > > Helvetica, sans-serif;\n    text-align: right;\n    position:
> absolute;\n
> > > > top: 0px;\n    right: 0px;\n  }\n\n  #summary p {\n    margin: 0 0
> 2px;\n
> > > > }\n\n  #summary #totals {\n    font-size: 14px;\n  }\n\n  .context
> {\n
> > > > margin: 0 10px 5px;\n    background: #fff;\n  }\n\n  dl
> {\n    margin: 0;
> > > > padding: 0 0 5px;\n    font: normal 11px \"Lucida Grande\",
> Helvetica,
> > > > sans-serif;\n  }\n\n  dt {\n    padding: 3px;\n    background:
> #65C400;\n
> > > > color: #fff;\n    font-weight: bold;\n  }\n\n  dd {\n    margin: 5px
> 0 5px
> > > > 5px;\n    padding: 3px 3px 3px 18px;\n  }\n\n  dd.spec.passed {\n
> > > > border-left: 5px solid #65C400;\n    border-bottom: 1px solid
> #65C400;\n
> > > > background: #DBFFB4; color: #3D7700;\n  }\n\n  dd.spec.failed {\n
> > > > border-left: 5px solid #C20000;\n    border-bottom: 1px solid
> #C20000;\n
> > > > color: #C20000; background: #FFFBD3;\n  }\n\n  div.backtrace{\n    color:
> > > > #000;\n    font-size: 12px;\n  }\n\n  a {\n    color:
> #BE5C00;\n  }\n
> > > > </style>\n</head>\n<body>\n\n<div id=\"header\">\n
> > > > <h1>RSpec Results</h1>\n\n  <div id=\"summary\">\n    <p
> > > > id=\"duration\">&nbsp;</p>\n    <p id=\"totals\">&nbsp;</p>\n
> > > > </div>\n</div>\n\n<div id=\"results\">\n<div
> class=\"context\">\n  <dl>\n
> > > > <dt id=\"context_1\">Mocker</dt>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 7.6');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">should be able to call
> > > > mock()</span></dd>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_1');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 15.3');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should fail when expected
> > > > message not received</span>\n      <div class=\"failure\"
> > > > id=\"failure_1\">\n        <div class=\"message\"><pre>Mock 'poke
> me'
> > > > expected :poke with (any args) once, but received it 0
> times</pre></div>\n
> > > >      <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/mocking_example.rb:13:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>\n
> > > >      </div>\n    </dd>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_1');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 23.0');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should fail when messages are
> > > > received out of order</span>\n      <div class=\"failure\"
> > > > id=\"failure_2\">\n        <div class=\"message\"><pre>Mock 'one two
> three'
> > > > received :three out of order</pre></div>\n        <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/mocking_example.rb:22:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>\n
> > > >      </div>\n    </dd>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_1');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 30.7');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should get yelled at when
> > > > sending unexpected messages</span>\n      <div class=\"failure\"
> > > > id=\"failure_3\">\n        <div class=\"message\"><pre>Mock 'don't
> talk to
> > > > me' expected :any_message_at_all with (any args) 0 times, but
> received it
> > > > once</pre></div>\n        <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/mocking_example.rb:28:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>\n
> > > >      </div>\n    </dd>\n  </dl>\n</div>\n<div
> > > > class=\"context\">\n  <dl>\n  <dt id=\"context_2\">Running specs
> with
> > > > --diff</dt>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_2');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 38.4');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should print diff of different
> > > > strings</span>\n      <div class=\"failure\"
> id=\"failure_4\">\n        <div
> > > > class=\"message\"><pre>&quot;RSpec is a\\nbehavior driven
> > > > development\\nframework for Ruby\\n&quot; should == &quot;RSpec is
> > > > a\\nbehaviour driven development\\nframework for
> Ruby\\n&quot;\nDiff:\n@@
> > > > -1,4 +1,4 @@\n RSpec is a\n-behavior driven development\n+behaviour
> driven
> > > > development\n framework for Ruby\n</pre></div>\n        <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/diffing_spec.rb:13:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>\n
> > > >      </div>\n    </dd>\n    <script
> > > > type=\"text/javascript\">makeRed('header');</script>\n
> > > >    <script
> > > > type=\"text/javascript\">makeRed('context_2');</script>\n
> > > >    <script type=\"text/javascript\">moveProgressBar('
> > > > 46.1');</script>\n    <dd class=\"spec failed\">\n      <span
> > > > class=\"failed_spec_name\">should print diff of different
> > > > objects' pretty representation</span>\n      <div class=\"failure\"
> > > > id=\"failure_5\">\n        <div
> > > >
> class=\"message\"><pre>&lt;Animal\nname=bob,\nspecies=giraffe\n&gt;\n
> > > > should eql
> > > > &lt;Animal\nname=bob,\nspecies=tortoise\n&gt;\n\nDiff:\n@@
> > > > -1,5 +1,5 @@\n &lt;Animal\n
> > > > name=bob,\n-species=giraffe\n+species=tortoise\n
> > > > &gt;\n</pre></div>\n        <div
> > > >
> class=\"backtrace\"><pre>./failing_examples/diffing_spec.rb:34:\n./spec/spec/runner/formatter/html_formatter_spec.rb:16:\n./spec/spec/runner/formatter/html_formatter_spec.rb:12:\n./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>\n
> > > >      </div>\n    </dd>\n  </dl>\n</div>\n<div
> class=\"context\">\n  <dl>\n
> > > > <dt id=\"context_3\">A consumer of a stub</dt>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 53.8');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">should be able to stub methods
> > > > on any Object</span></dd>\n  </dl>\n</div>\n<div
> class=\"context\">\n
> > > > <dl>\n  <dt id=\"context_4\">A stubbed method on a
> class</dt>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 61.5');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">should return the stubbed
> > > > value</span></dd>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 69.2');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">should revert to the original
> > > > method after each spec</span></dd>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 76.9');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">can stub! and mock the same
> message</span></dd>\n
> > > >  </dl>\n</div>\n<div class=\"context\">\n  <dl>\n  <dt
> id=\"context_5\">A
> > > > mock</dt>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 84.6');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">can stub!</span></dd>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 92.3');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">can stub! and
> mock</span></dd>\n    <script
> > > > type=\"text/javascript\">moveProgressBar('
> > > > 100.0');</script>\n    <dd class=\"spec passed\"><span
> > > > class=\"passed_spec_name\">can stub! and mock the same
> message</span></dd>\n
> > > >  </dl>\n</div>\n<script type=\"text/javascript\">
> > > > document.getElementById('duration').innerHTML = \"Finished in
> <strong>x
> > > > seconds</strong>\";</script>\n<script
> > > > type=\"text/javascript\">document.getElementById('totals').innerHTML
> = \"13
> > > > specifications, 5
> > > > failures\";</script>\n</div>\n</body>\n</html>\n"
> > > > Diff:
> > > >
> > > > @@ -120,11 +120,8 @@
> > > >          <div class="message"><pre>Mock 'poke me' expected :poke
> with (any
> > > > args) once, but received it 0 times</pre></div>
> > > >          <div
> > > > class="backtrace"><pre>./failing_examples/mocking_example.rb:13:
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:16:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > > `chdir'
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:12:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > > `each'
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>
> > > > +./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>
> > > >        </div>
> > > >      </dd>
> > > >      <script
> > > > type="text/javascript">makeRed('header');</script>
> > >
> > > This seems to me to be about ruby version (and what it adds to
> > > backtraces), not OS. What version of ruby are you using?
> > >
> > > >
> > > > @@ -136,11 +133,8 @@
> > > >          <div class="message"><pre>Mock 'one two three' received
> :three out
> > > > of order</pre></div>
> > > >          <div
> > > > class="backtrace"><pre>./failing_examples/mocking_example.rb:22:
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:16:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > > `chdir'
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:12:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > > `each'
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>
> > > > +./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>
> > > >        </div>
> > > >      </dd>
> > > >      <script
> > > > type="text/javascript">makeRed('header');</script>
> > > >
> > > > @@ -152,11 +146,8 @@
> > > >          <div class="message"><pre>Mock 'don't talk to me' expected
> > > > :any_message_at_all with (any args) 0 times, but received it
> > > > once</pre></div>
> > > >          <div
> > > > class="backtrace"><pre>./failing_examples/mocking_example.rb:28:
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:16:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > > `chdir'
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:12:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > > `each'
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>
> > > > +./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>
> > > >        </div>
> > > >      </dd>
> > > >    </dl>
> > > >
> > > > @@ -180,11 +171,8 @@
> > > >  </pre></div>
> > > >          <div
> > > > class="backtrace"><pre>./failing_examples/diffing_spec.rb:13:
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:16:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > > `chdir'
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:12:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > > `each'
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>
> > > > +./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>
> > > >        </div>
> > > >      </dd>
> > > >      <script
> > > > type="text/javascript">makeRed('header');</script>
> > > >
> > > > @@ -212,11 +200,8 @@
> > > >  </pre></div>
> > > >          <div
> > > > class="backtrace"><pre>./failing_examples/diffing_spec.rb:34:
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:16:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > > `chdir'
> > > >  ./spec/spec/runner/formatter/html_formatter_spec.rb:12:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > > `each'
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:11:
> > > > -./spec/spec/runner/formatter/html_formatter_spec.rb:4:</pre></div>
> > > > +./spec/spec/runner/formatter/html_formatter_spec.rb:11:</pre></div>
> > > >        </div>
> > > >      </dd>
> > > >    </dl>
> > > > ./rspec/spec/spec/runner/formatter/html_formatter_spec.rb:31:
> > > > ./rspec/spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > > `chdir'
> > > > ./rspec/spec/spec/runner/formatter/html_formatter_spec.rb:12:
> > > > ./rspec/spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > > `each'
> > > > ./rspec/spec/spec/runner/formatter/html_formatter_spec.rb:11:
> > > > ./rspec/spec/spec/runner/formatter/html_formatter_spec.rb:4:
> > > >
> > > > Finished in 0.235957 seconds
> > > >
> > > > 1 specification, 1 failure
> > > >
> > > > Process finished with exit code 0
> > > >
> > > >
> > > >
> > > > On 1/6/07, Brian Takita < brian.takita at gmail.com> wrote:
> > > > > It has to do with the backtraces.
> > > > >
> > > > > Actual:
> > > > > should fail when expected message not received
> > > > >
> > > > > Mock 'poke me' expected :poke with (any args) once, but received
> it 0
> > > > times
> > > > >
> > > > > ./failing_examples/mocking_example.rb:13:
> > > > >
> > > >
> /home/btakita/workspace/rspec/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:16:
> > > > >
> > > >
> /home/btakita/workspace/rspec/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:12:in
> > > > `chdir'
> > > > >
> > > > >
> > > > >
> > > >
> /home/btakita/workspace/rspec/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:12:
> > > > >
> > > >
> /home/btakita/workspace/rspec/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:11:in
> > > > `each'
> > > > >
> > > >
> /home/btakita/workspace/rspec/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:11:
> > > > >
> > > > >
> > > > >
> > > >
> /home/btakita/workspace/rspec/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:4:
> > > > >
> > > > > Expected:
> > > > >
> > > > > should fail when expected message not received
> > > > >
> > > > > Mock 'poke me' expected :poke with (any args) once, but received
> it 0
> > > > times
> > > > >
> > > > > ./failing_examples/mocking_example.rb:13:
> > > > > ./spec/spec/runner/formatter/html_formatter_spec.rb:16:
> > > > > ./spec/spec/runner/formatter/html_formatter_spec.rb:12:
> > > > > ./spec/spec/runner/formatter/html_formatter_spec.rb:11:
>
> This was already reported as a bug. It does seem to be related to ruby
> versions.
>
>
> http://rubyforge.org/tracker/index.php?func=detail&aid=7344&group_id=797&atid=3149


I see. What would be a good way to make this spec less brittle?
I can think of two things.
1. Make a Ruby 1.8.5 specific html file to compare against. It would need to
be genetated because the absolute path is included in the backtrace.
2. Use Hpricot to specify certain parts of the document.

> > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On 1/6/07, Brian Takita < brian.takita at gmail.com> wrote:
> > > > >
> > > > > > Hello,
> > > > > >
> > > > > > The build is breaking for me.
> > > > > >
> > > > > > 1) 'HtmlFormatter should produce HTML identical to the one we
> designed
> > > > manually' FAILED
> > > > > >
> > > > > > Is anybody else having this issue? I seem to remember getting
> this
> > > > before.
> > > > > >
> > > > > > Thanks,
> > > > > > Brian
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > rspec-devel mailing list
> > > > rspec-devel at rubyforge.org
> > > > http://rubyforge.org/mailman/listinfo/rspec-devel
> > > >
> > > >
> > >
> >
> _______________________________________________
> rspec-devel mailing list
> rspec-devel at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/rspec-devel/attachments/20070106/ed82f9df/attachment-0001.html 


More information about the rspec-devel mailing list