[#107765] [Ruby master Bug#18605] Fails to run on (newer) 32bit Windows with ucrt — "lazka (Christoph Reiter)" <noreply@...>

Issue #18605 has been reported by lazka (Christoph Reiter).

8 messages 2022/03/03

[#107769] [Ruby master Misc#18609] keyword decomposition in enumerable (question/guidance) — "Ethan (Ethan -)" <noreply@...>

Issue #18609 has been reported by Ethan (Ethan -).

10 messages 2022/03/04

[#107784] [Ruby master Feature#18611] Promote best practice for combining multiple values into a hash code — "chrisseaton (Chris Seaton)" <noreply@...>

Issue #18611 has been reported by chrisseaton (Chris Seaton).

12 messages 2022/03/07

[#107791] [Ruby master Bug#18614] Error (busy loop) inTestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home — duerst <noreply@...>

Issue #18614 has been reported by duerst (Martin D端rst).

7 messages 2022/03/08

[#107794] [Ruby master Feature#18615] Use -Werror=implicit-function-declaration by deault for building C extensions — "Eregon (Benoit Daloze)" <noreply@...>

Issue #18615 has been reported by Eregon (Benoit Daloze).

11 messages 2022/03/08

[#107832] [Ruby master Bug#18622] const_get still looks in Object, while lexical constant lookup no longer does — "Eregon (Benoit Daloze)" <noreply@...>

Issue #18622 has been reported by Eregon (Benoit Daloze).

16 messages 2022/03/10

[#107847] [Ruby master Bug#18625] ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter — "Eregon (Benoit Daloze)" <noreply@...>

Issue #18625 has been reported by Eregon (Benoit Daloze).

13 messages 2022/03/11

[#107886] [Ruby master Feature#18630] Introduce general `IO#timeout` and `IO#timeout=`for all (non-)blocking operations. — "ioquatix (Samuel Williams)" <noreply@...>

Issue #18630 has been reported by ioquatix (Samuel Williams).

28 messages 2022/03/14

[#108026] [Ruby master Feature#18654] Enhancements to prettyprint — "kddeisz (Kevin Newton)" <noreply@...>

Issue #18654 has been reported by kddeisz (Kevin Newton).

9 messages 2022/03/22

[#108039] [Ruby master Feature#18655] Merge `IO#wait_readable` and `IO#wait_writable` into core — "byroot (Jean Boussier)" <noreply@...>

Issue #18655 has been reported by byroot (Jean Boussier).

10 messages 2022/03/23

[#108056] [Ruby master Bug#18658] Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x) — "schneems (Richard Schneeman)" <noreply@...>

Issue #18658 has been reported by schneems (Richard Schneeman).

19 messages 2022/03/24

[#108075] [Ruby master Bug#18663] Autoload doesn't work with fiber context switch. — "ioquatix (Samuel Williams)" <noreply@...>

Issue #18663 has been reported by ioquatix (Samuel Williams).

10 messages 2022/03/25

[#108117] [Ruby master Feature#18668] Merge `io-nonblock` gems into core — "Eregon (Benoit Daloze)" <noreply@...>

Issue #18668 has been reported by Eregon (Benoit Daloze).

22 messages 2022/03/30

[ruby-core:107885] Re: Fwd: [ruby-cvs:91197] 8f59482f5d (master): add some tests for Unicode Version 14.0.0

From: Martin J. Dürst <duerst@...>
Date: 2022-03-13 23:52:39 UTC
List: ruby-core #107885
Hello Benoit,

Many thanks for your help.

On 2022-03-13 21:15, Benoit Daloze wrote:
> It's simply the guard is incorrect, it needs to say ">= 3.1 and < 3.2", so
> `ruby_version_is "3.1"..."3.2" do`,
> not just `ruby_version_is "3.1" do` which means ">= 3.1" (so includes 3.2,
> 3.3, etc).
> I thought it'd be pretty obvious from the previous guards, but apparently
> not.

Sorry, but very much not so. In all the previous guards, there is either 
more than one version in the textual description, and the 
`ruby_version_is` method takes a range, or the textual description 
mentions only one version, and the `ruby_version_is` method takes a 
single parameter. So there is no way to conclude, or even guess, from 
the available examples that
    ruby_version_is "3.1"
actually means "for Ruby 3.1 and higher" rather than "for Ruby 3.1".

In addition to that, there's the issue of the meaning of the word "is". 
The meaning of the word "is" is rarely disputed (the most famous 
instance of when that has happened may be with ex-president Clinton, see 
e.g. 
https://slate.com/news-and-politics/1998/09/bill-clinton-and-the-meaning-of-is.html).


> We might change the usages from `ruby_version_is "3.1" do` to
> `ruby_version_is "3.1"... do` to make this clearer in the future.

What we have do do is not only change the arguments to the 
`ruby_version` method from "3.1" to "3.1"..., but we have to make sure 
that 'is' actually means 'is'. So `ruby_version_is "3.1"` should only 
use its block when the version *is* actually 3.1(.x), not for any past 
or future versions. Code that doesn't say what it does, but says 
something else, is just bad code. And it's even worse if on the next 
line, it says exactly the same thing (it "is 13.1 for Ruby 3.1") again. 
And this is worsened by the fact that this is spec (as opposed to test), 
where supposedly words are used to mean what they they mean so that 
everything is easily readable and understandable.

So to summarize: Two instances of telling me the check is exactly for 
3.1, and no examples that would make me suspect it means anything else.

I strongly suggest the meaning of `ruby_version_is` be changed so that 
it *means* what it *says*. I'll submit a bug report if you want. I also 
suggest that a new method, maybe called "ruby_version_is_or_later" 
(proposals for better names appreciated).

As a quick band-aid, I'm changing
   ruby_version_is "3.2" do
     it "is 14.0.0 for Ruby 3.2" do
       RbConfig::CONFIG['UNICODE_VERSION'].should == "14.0.0"
     end
   end
to
   ruby_version_is "3.2" do
     it "is 14.0.0 for Ruby 3.2 or later" do
       RbConfig::CONFIG['UNICODE_VERSION'].should == "14.0.0"
     end
   end
Note the addition of "or later" in the textual description. This way, at 
least the text says what the spec does, even if the code still doesn't 
really do so (yet, I hope). I also have added a comment to make sure 
this doesn't get missed again.

Regards,   Martin.


> On Sun, Mar 13, 2022 at 2:16 AM Martin J. Dürst <duerst@it.aoyama.ac.jp>
> wrote:
> 
>> Hello Benoit, others,
>>
>> Some CI checks fail as below (see e.g.
>> https://github.com/ruby/ruby/runs/5524900743?check_suite_focus=true)
>> with a version mismatch.
>> My understanding was that we are now on Ruby 3.2, so it's unclear why in
>> these tests, Ruby thinks it's still Ruby 3.1. When I checked before
>> submitting with `make check`, there were no such errors.
>>
>> Regards,   Martin.
>>
>>     1)
>>     RbConfig::CONFIG['UNICODE_EMOJI_VERSION'] is 13.1 for Ruby 3.1 FAILED
>>     Expected "14.0" == "13.1"
>>     to be truthy but was false
>>
>> /home/runner/work/ruby/ruby/src/spec/ruby/library/rbconfig/unicode_emoji_version_spec.rb:25:in
>>
>> `block (3 levels) in <top (required)>'
>>
>> /home/runner/work/ruby/ruby/src/spec/ruby/library/rbconfig/unicode_emoji_version_spec.rb:4:in
>>
>> `<top (required)>'
>>
>>     2)
>>     RbConfig::CONFIG['UNICODE_VERSION'] is 13.0.0 for Ruby 3.1 FAILED
>>     Expected "14.0.0" == "13.0.0"
>>     to be truthy but was false
>>
>> /home/runner/work/ruby/ruby/src/spec/ruby/library/rbconfig/unicode_version_spec.rb:25:in
>>
>> `block (3 levels) in <top (required)>'
>>
>> /home/runner/work/ruby/ruby/src/spec/ruby/library/rbconfig/unicode_version_spec.rb:4:in
>>
>> `<top (required)>'
>>
>>     Finished in 46.945332 seconds
>>
>>     3823 files, 30988 examples, 131590 expectations, 2 failures, 0
>> errors, 0 tagged
>>     make: *** [uncommon.mk:865: yes-test-spec] Error 1
>>     Error: Process completed with exit code 2.
>>
>> On 2022-03-13 10:05, Martin J. Dürst wrote:
>>> To everybody taking care of continuous integration:
>>>
>>> Please note that your CI may need new cached data files for Unicode
>>> Version 14.0.0 / Emoji Version 14.0. These files do not get downloaded
>>> in a usual compilation of Ruby to avoid lots of unneeded network traffic.
>>>
>>> Regards,   Martin.
>>>
>>>
>>> -------- Forwarded Message --------
>>> Subject: [ruby-cvs:91197] 8f59482f5d (master): add some tests for
>>> Unicode Version 14.0.0
>>> Date: Sun, 13 Mar 2022 09:41:37 +0900 (JST)
>>> From: Martin Dürst <duerst@it.aoyama.ac.jp>
>>> To: ruby-cvs@ruby-lang.org
>>>
>>> Martin Dürst    2022-03-12 21:33:51 +0900 (Sat, 12 Mar 2022)
>>>
>>>     New Revision: 8f59482f5d
>>>
>>>     https://github.com/ruby/ruby/commit/8f59482f5d
>>>
>>>     Log:
>>>       add some tests for Unicode Version 14.0.0
>>>
>>>     Modified files:
>>>       test/ruby/test_regexp.rb
>>>       test/ruby/test_string.rb.
>>>
>>> Unsubscribe: <mailto:ruby-core-request@ruby-lang.org
>> ?subject=unsubscribe>
>>> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>
>>
>>
> 

-- 
Prof. Dr.sc. Martin J. Dürst
Department of Intelligent Information Technology
College of Science and Engineering
Aoyama Gakuin University
Fuchinobe 5-1-10, Chuo-ku, Sagamihara
252-5258 Japan

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next