[#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:39365] Re: RubySpec vs CRuby's test/...

From: Charles Oliver Nutter <headius@...>
Date: 2011-09-08 15:29:54 UTC
List: ruby-core #39365
On Wed, Sep 7, 2011 at 4:17 AM, NARUSE, Yui <naruse@airemix.jp> wrote:
> I don't think RubySpec (RSpec syntax) is beautiful.
> I want to write assertion with declarative.
>
> For example I can't find which is the expectation 4 or 5.
> Fixnum#div coerces self and the given argument to Floats and returns
> self divided by other as Fixnum FAILED
> Expected 4
> =C2=A0to equal 5

I think this is part of the language barrier I sympathize with. It's a
very terse way to say "I expected 5, but the code returned 4". I agree
it might be a bit clearer to say "Expected 5 but got 4", but this is
mostly a language issue; as written, it is correct, if confusing for
you (and others).

I'm starting to feel like the RubySpec resistance boils down to "it
has too much English in it."

> What you want to say seems MRI's test-all doesn't have implementation gua=
rds.
>
> But minitest has `skip` and we use it for platform dependent tests.
> People can request test-all to add such skips but I didn't see such reque=
st.

If test/unit could do something similar to mspec's guards, I would be
happy with that. Working on RubySpec has taught me that we really need
per-test guards, as in individual test methods. RubySpec accomplishes
this by splitting specs up into isolated examples for each aspect of
behavior, rather than test/* which often tests many things in a given
method.

However, I don't see any easy path toward accomplishing this. The
current tests are structured with the expectation that an
implementation must pass them en masse, and there's no way to break
that up.

For example...there are many test files for core classes that include
SAFE level checks. JRuby will never pass those, since we have opted to
leave SAFE unimplemented and fall back on JVM security. There's no
easy way to filter out just the SAFE tests, which means we either have
to comment them out and keep a local copy (that gets outdated) or
build a complicated harness that can tell test/unit to skip certain
test methods. That's what I get out of the box with RubySpec, so even
though JRuby doesn't pass everything, we can maintain at some level
and avoid regressing as we move forward.

I propose a challenge: Show me how to get the current test/* tests to
run on JRuby *green* without modifying JRuby. In other words, show me
how to run MRI's tests on JRuby while filtering anything that doesn't
currently pass. If that's not possible, how can JRuby make use of the
test/* suite without already passing everything? And if JRuby can't
make use of test/*, test/* is the wrong way to test Ruby.

- Charlie

In This Thread