[#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 <ruby-core-mailing-list@marc-andre.ca>:

[#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 <headius@headius.com>:

[#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 <naruse@airemix.jp> 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 <naruse@airemix.jp> 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 <tarui@prx.jp> 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 <luislavena@gmail.com> 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 <drbrain@...7.net>

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 <drbrain@...7.net> 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:39414] Re: RubySpec vs CRuby's test/...

From: Kirk Haines <wyhaines@...>
Date: 2011-09-09 06:51:26 UTC
List: ruby-core #39414
I realize that I'm a small fish in this ocean, but for every release
of Ruby 1.8.6 that I have done, I have tested against RubySpec prior
to making the release.

Also, in my role at Engine Yard, I am often building packages for the
various Rubies (CRuby 1.8.x/1.9.x, REE, JRuby, Rubinius). Sometimes
these are straight builds. Sometimes we add patches. It depends on the
build. I try to test these builds thoroughly, and that is especially
important if it is a build that has patches applied to it. For
CRubies, this generally involves running both the test/* suite, and
RubySpec. I have found that I need to run both, because there have
been times when differing test coverage has resulted in one suite
running cleanly while the other has an unexpected failure. I have
always found that somewhat frustrating, and I have wondered for a long
time why Ruby behavioral tests are not being added directly to
RubySpec.

The benefit to doing so seems clear to me. While the testing
antecedents relied on test/* in order to regression test Ruby, back
when there was only a single implementation, the world has changed
since then. Ruby the language is bigger than any one implementation.
So while tests that are specific to MRI should clearly go in test/*,
tests which verify that an implementation has the correct Ruby
behavior would be more globally useful if they were added to RubySpec,
as that test suite is intended to support the language as a whole, and
not any one specific implementation.

If there is an untested old behavior, or a new behavior that needs a
corresponding test, placing that test in RubySpec benefits all Ruby
implementations. I've done it in the past, when working on a 1.8.6
release. That is actually what I originally got RubySpec commit access
for.

I was thinking about Urabe's comment that RubySpec only describes
current CRuby behavior, but doesn't proscribe what future behavior
should be. That sort of prescriptive behavior could be implemented
using a guard. A spec that isn't expected to pass currently, on any
version of Ruby, but that describes a behavior that is desired could
be flagged as such. Then, at such a time as an implementation of Ruby
has that behavior implemented, the guard is changed to reflect this.

I have been contemplating a role to take on with ruby-core after the
1.8.6 era closes for good. If there would be value in it, maybe I
could start working on identifying and duplicating tests that are in
test/*, but are lacking in RubySpec.

However, I struggle to understand the fundamental perspective that it
is better for Ruby (not MRI-specific) tests to go into test/* instead
of into RubySpec. Perhaps I am misunderstanding some important
component to the objections?

I understand not being comfortable with git. I will admit that I curse
git sometimes. But for all of the basic capabilities, git is trivial
to learn and to use.

I also understand not liking RSpec, and preferring the declarative
test/unit style. I prefer the test/unit style, personally. But RSpec
is also pretty trivial to learn sufficiently to make it a useful tool.

I am far from being a RubySpec expert, RSpec expert, or git expert,
but I would also offer to help anyone in ruby-core who wants to try
using RubySpec or adding a test to RubySpec, if they need someone who
has done it before to provide some assistance.


Thanks much,

Kirk Haines

In This Thread