You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@buildr.apache.org by Rhett Sutphin <r-...@northwestern.edu> on 2009/02/17 00:10:28 UTC

Buildr::TestFramework::TestResult::Error and BUILDR-252

Hi,

I just noticed/reported BUILDR-252 ( https://issues.apache.org/jira/browse/BUILDR-252 
  ).  I'm trying to figure out how to fix it.

The basic problem is pretty obvious --  
Buildr::TestFramework::TestResult::Error.guard attempts to  
call .dump_yaml with only one argument when two are required.  When  
that's fixed, though, the problem isn't resolved.  The dump_yaml code  
takes the exception that it is passed and overwrites the target file  
with it.  In the case of the rspec test framework, the file it is  
passed is the generated runner script.

So if there's an exception while executing the runner script, the  
runner script is overwritten with the backtrace for the exception.   
This doesn't seem right to me.  As far as I can tell, the test run  
then ends and buildr doesn't do anything with the backtrace -- it  
reports that the build was successful whether or not there were  
failing specs.

I'd like to fix this, but I'm not sure what the intended behavior is.   
Any hints would be welcome.

Thanks,
Rhett

Re: Buildr::TestFramework::TestResult::Error and BUILDR-252

Posted by Victor Hugo Borja <vi...@gmail.com>.
You're right, bbd.rb+271 should be runner.result instead of runner.file.

The results yaml should be used by buildr to report the user which specs
failed.

On Mon, Feb 16, 2009 at 5:10 PM, Rhett Sutphin
<r-...@northwestern.edu>wrote:

> Hi,
>
> I just noticed/reported BUILDR-252 (
> https://issues.apache.org/jira/browse/BUILDR-252 ).  I'm trying to figure
> out how to fix it.
>
> The basic problem is pretty obvious --
> Buildr::TestFramework::TestResult::Error.guard attempts to call .dump_yaml
> with only one argument when two are required.  When that's fixed, though,
> the problem isn't resolved.  The dump_yaml code takes the exception that it
> is passed and overwrites the target file with it.  In the case of the rspec
> test framework, the file it is passed is the generated runner script.
>
> So if there's an exception while executing the runner script, the runner
> script is overwritten with the backtrace for the exception.  This doesn't
> seem right to me.  As far as I can tell, the test run then ends and buildr
> doesn't do anything with the backtrace -- it reports that the build was
> successful whether or not there were failing specs.
>
> I'd like to fix this, but I'm not sure what the intended behavior is.  Any
> hints would be welcome.
>
> Thanks,
> Rhett
>



-- 
vic

Quaerendo invenietis.