[#39260] RubySpec vs CRuby's test/... — Marc-Andre Lafortune <ruby-core-mailing-list@...>

Before the release of Ruby 1.9.2 it was decided that Ruby releases

59 messages 2011/09/04
[#39276] Re: RubySpec vs CRuby's test/... — "NARUSE, Yui" <naruse@...> 2011/09/05

2011/9/5 Marc-Andre Lafortune <[email protected]>:

[#39325] Re: RubySpec vs CRuby's test/... — Charles Oliver Nutter <headius@...> 2011/09/07

I'll jump in with some context from the JRuby perspective.

[#39335] Re: RubySpec vs CRuby's test/... — "NARUSE, Yui" <naruse@...> 2011/09/07

2011/9/7 Charles Oliver Nutter <[email protected]>:

[#39365] Re: RubySpec vs CRuby's test/... — Charles Oliver Nutter <headius@...> 2011/09/08

On Wed, Sep 7, 2011 at 4:17 AM, NARUSE, Yui <[email protected]> wrote:

[#39366] Re: RubySpec vs CRuby's test/... — Yukihiro Matsumoto <matz@...> 2011/09/08

Hi,

[#39370] Re: RubySpec vs CRuby's test/... — Michael Klishin <michael.s.klishin@...> 2011/09/08

Yukihiro Matsumoto:

[#39374] Re: RubySpec vs CRuby's test/... — "NARUSE, Yui" <naruse@...> 2011/09/08

(2011/09/09 1:29), Michael Klishin wrote:

[#39376] Re: RubySpec vs CRuby's test/... — Luis Lavena <luislavena@...> 2011/09/08

On Thu, Sep 8, 2011 at 4:19 PM, NARUSE, Yui <[email protected]> wrote:

[#39379] Re: RubySpec vs CRuby's test/... — Masaya TARUI <tarui@...> 2011/09/08

Hello Luis,

[#39382] Re: RubySpec vs CRuby's test/... — Luis Lavena <luislavena@...> 2011/09/08

On Thu, Sep 8, 2011 at 5:34 PM, Masaya TARUI <[email protected]> wrote:

[#39386] Re: RubySpec vs CRuby's test/... — Charles Oliver Nutter <headius@...> 2011/09/08

On Thu, Sep 8, 2011 at 3:57 PM, Luis Lavena <[email protected]> wrote:

[#39267] [Ruby 1.9 - Bug #5273][Open] Float#round returns the wrong floats for higher precision — Marc-Andre Lafortune <ruby-core@...>

14 messages 2011/09/04

[#39435] [Ruby 1.9 - Bug #5306][Open] Application Hangs Due to Recent rb_thread_select Changes — Charlie Savage <cfis@...>

27 messages 2011/09/09

[#39498] [Ruby 1.9 - Feature #5310][Open] Integral objects — Kenta Murata <muraken@...>

13 messages 2011/09/13

[#39539] [Ruby 1.9 - Feature #5321][Open] Introducing Numeric#exact? and Numeric#inexact? — Kenta Murata <muraken@...>

26 messages 2011/09/14

[#39629] [Ruby 1.9 - Feature #5341][Open] Add SSL session reuse to Net::HTTP — Eric Hodel <[email protected]>

18 messages 2011/09/19

[#39634] [Ruby 1.9 - Bug #5343][Open] Unexpected blocking behavior when interrupt Socket#accept — Tomoyuki Chikanaga <nagachika00@...>

10 messages 2011/09/20

[#39673] [Ruby 1.9 - Bug #5353][Open] TLS v1.0 and less - Attack on CBC mode — Martin Bosslet <Martin.Bosslet@...>

13 messages 2011/09/22

[#39700] [Ruby 1.9 - Feature #5364][Open] How about new syntax: "object.\method" returns a Method instance? — Joey Zhou <yimutang@...>

20 messages 2011/09/25

[#39740] [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Alex Young <alex@...>

18 messages 2011/09/27
[#39743] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Aaron Patterson <aaron@...> 2011/09/27

On Tue, Sep 27, 2011 at 06:18:19PM +0900, Alex Young wrote:

[#39754] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Alex Young <alex@...> 2011/09/27

On 27/09/2011 19:46, Aaron Patterson wrote:

[#39807] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Eric Hodel <[email protected]> 2011/10/01

On Sep 27, 2011, at 6:52 PM, Alex Young wrote:

[#39751] [Ruby 1.9 - Bug #5375][Open] [mingw32] segfault on WinXP SP3 with 1.9.3dev@33347 — Jon Forums <redmine@...>

26 messages 2011/09/27

[#39772] ObjectSpace.reference_form(obj) #=> references_array — SASADA Koichi <ko1@...>

Hi,

13 messages 2011/09/29
[#39774] Re: ObjectSpace.reference_form(obj) #=> references_array — Nobuyoshi Nakada <nobu@...> 2011/09/29

Hi,

[#39796] [Ruby 1.9 - Bug #5384][Open] Ruby 1.9.3-RC1 Fails to Compile on Solaris — Cyrus Lopez <cyrus@...>

11 messages 2011/09/30

[ruby-core:39658] [Ruby 1.9 - Bug #5333][Third Party's Issue] Coverage library giving wrong results

From: Yusuke Endoh <mame@...>
Date: 2011-09-21 16:34:07 UTC
List: ruby-core #39658
Issue #5333 has been updated by Yusuke Endoh.

Status changed from Open to Third Party's Issue

Hello,

Some people told me that the issue reproduces on os x.  Thanks!

@nagachika, @n0kada and I investigated this issue.  As a result,
I'm sad that I'd have to say this is third party's issue.


The following patch will show the mechanism of this issue.

diff --git a/app/models/competition.rb b/app/models/competition.rb
index 9c0ee55..04f1446 100644
--- a/app/models/competition.rb
+++ b/app/models/competition.rb
@@ -1,3 +1,4 @@
+p :load
 class Competition < ActiveRecord::Base
   has_many :news
 
@@ -7,6 +8,7 @@ class Competition < ActiveRecord::Base
 private
   def cannot_end_before_it_started
     unless starts_at.nil? or ends_at.nil?
+      p :call
       errors.add(:ends_at, "can't be prior to start date") if ends_at < starts_at
     end
   end


With it applied, rake spec prints the following output (on my Ubuntu):

  $ rake spec
  (in /home/mame/work/ruby/coverage-bug)
  :load

  Competition
    GET /competitions/:id
  :load
  :call
      should display basic information

  Competition
    validations
  :call
      should require ends_at >= starts_at

  Finished in 0.55506 seconds
  2 examples, 0 failures
  ["/home/mame/work/ruby/coverage-bug/app/models/competition.rb",
   [1, 1, 1, nil, 1, 1, nil, 1, 1, 2, 2, 2, nil, nil, nil]]


So we can see the events occur in the following order on Ubuntu:
  :load -> :load -> :call -> :call

According to @nagachika, the trace on os x is:
  :load -> :call -> :call -> :load

when factory_girl is used.  Otherwise:
  :load -> :call -> :load -> :call

Reloading the same file means clearing the coverage of the file
so far.  To measure correct coverage, the event order should be:
  :load -> :call -> :call


I'm not sure which library is ill-designed, but I suspect
active_support; it seems to load app/models/competition.rb
twice via const_missing, which also causes such an unstable
(platform-dependent) event order, I guess.  You can see this
by replacing "p :load" with "p *caller" in the above patch.

Is active_support developer seeing this ticket?
Or could anyone inform them?

Thanks,

-- 
Yusuke Endoh <[email protected]>
----------------------------------------
Bug #5333: Coverage library giving wrong results
http://redmine.ruby-lang.org/issues/5333

Author: Christoph Olszowka
Status: Third Party's Issue
Priority: Normal
Assignee: Yusuke Endoh
Category: lib
Target version: 1.9.2
ruby -v: -


I'm the author of the simplecov gem, a wrapper on top of the Coverage library. You can find it on Github at https://github.com/colszowka/simplecov

I keep getting reports from users that code they have cleary tested is not reported as covered (you can find it a discussion at https://github.com/colszowka/simplecov/issues/60). This was very hard to trace back since no one was able to give me code samples so far. A couple of days ago, a user finally came up with a sample rails application where this problem was visible in conjunction with FactoryGirl. 

I tried this out using the Coverage library directly, and the result was the same: Creating the record directly reported the file as covered, doing the same with FactoryGirl reported a coverage of 0 for certain lines - even though they were executed.

I forked the application and added some instructions to the readme. You can find it at https://github.com/colszowka/coverage-bug

I verified this on the latest 1.9.2 release as well as 1.9.3-preview1:

ruby 1.9.3dev (2011-07-31 revision 32789) [x86_64-darwin11.0.0]
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.0.0]

I'm not sure why this happens in conjunction with FactoryGirl, but the code inside the if-statement is being executed in that case as well as I verified by adding a raise inside there and getting a correctly failing rspec suite.

Please let me know if you need any further information on this


-- 
http://redmine.ruby-lang.org

In This Thread