<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/spec/ruby/core, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Skip failing tests with mingw platform</title>
<updated>2025-05-22T09:32:10+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-05-22T06:27:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5862be0e89260e597d3dd3d350e7ecb40ee62cce'/>
<id>5862be0e89260e597d3dd3d350e7ecb40ee62cce</id>
<content type='text'>
https://github.com/ruby/ruby/actions/runs/15159221855/job/42621232822?pr=13397

```
  1)
  File.atime returns the last access time for the named file with microseconds FAILED
  Expected 0 == 123456
  to be truthy but was false
  D:/a/ruby/ruby/src/spec/ruby/core/file/atime_spec.rb:26:in `block (3 levels) in &lt;top (required)&gt;'
  D:/a/ruby/ruby/src/spec/ruby/core/file/atime_spec.rb:3:in `&lt;top (required)&gt;'

  2)
  File.ctime returns the change time for the named file (the time at which directory information about the file was changed, not the file itself) with microseconds. FAILED
  Expected 0 &gt; 0
  to be truthy but was false
  D:/a/ruby/ruby/src/spec/ruby/core/file/ctime_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;'
  D:/a/ruby/ruby/src/spec/ruby/core/file/ctime_spec.rb:3:in `&lt;top (required)&gt;'

  3)
  File.utime sets the access and modification time of each file FAILED
  Expected 2025-05-21 10:30:54 +0000
  to be within 2025-05-21 10:30:54 +0000 +/- 0.0001
  D:/a/ruby/ruby/src/spec/ruby/core/file/utime_spec.rb:25:in `block (2 levels) in &lt;top (required)&gt;'
  D:/a/ruby/ruby/src/spec/ruby/core/file/utime_spec.rb:3:in `&lt;top (required)&gt;'

  4)
  File.mtime returns the modification Time of the file with microseconds FAILED
  Expected 0 == 123456
  to be truthy but was false
  D:/a/ruby/ruby/src/spec/ruby/core/file/mtime_spec.rb:25:in `block (3 levels) in &lt;top (required)&gt;'
  D:/a/ruby/ruby/src/spec/ruby/core/file/mtime_spec.rb:3:in `&lt;top (required)&gt;'
```

It may be fixed with https://github.com/ruby/ruby/commit/7aea269b89bd7024bcacb7fe7d4ddb0be2f215af.
But Ruby 3.2 is now security maintenance status. We can't backport it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/ruby/actions/runs/15159221855/job/42621232822?pr=13397

```
  1)
  File.atime returns the last access time for the named file with microseconds FAILED
  Expected 0 == 123456
  to be truthy but was false
  D:/a/ruby/ruby/src/spec/ruby/core/file/atime_spec.rb:26:in `block (3 levels) in &lt;top (required)&gt;'
  D:/a/ruby/ruby/src/spec/ruby/core/file/atime_spec.rb:3:in `&lt;top (required)&gt;'

  2)
  File.ctime returns the change time for the named file (the time at which directory information about the file was changed, not the file itself) with microseconds. FAILED
  Expected 0 &gt; 0
  to be truthy but was false
  D:/a/ruby/ruby/src/spec/ruby/core/file/ctime_spec.rb:21:in `block (3 levels) in &lt;top (required)&gt;'
  D:/a/ruby/ruby/src/spec/ruby/core/file/ctime_spec.rb:3:in `&lt;top (required)&gt;'

  3)
  File.utime sets the access and modification time of each file FAILED
  Expected 2025-05-21 10:30:54 +0000
  to be within 2025-05-21 10:30:54 +0000 +/- 0.0001
  D:/a/ruby/ruby/src/spec/ruby/core/file/utime_spec.rb:25:in `block (2 levels) in &lt;top (required)&gt;'
  D:/a/ruby/ruby/src/spec/ruby/core/file/utime_spec.rb:3:in `&lt;top (required)&gt;'

  4)
  File.mtime returns the modification Time of the file with microseconds FAILED
  Expected 0 == 123456
  to be truthy but was false
  D:/a/ruby/ruby/src/spec/ruby/core/file/mtime_spec.rb:25:in `block (3 levels) in &lt;top (required)&gt;'
  D:/a/ruby/ruby/src/spec/ruby/core/file/mtime_spec.rb:3:in `&lt;top (required)&gt;'
```

It may be fixed with https://github.com/ruby/ruby/commit/7aea269b89bd7024bcacb7fe7d4ddb0be2f215af.
But Ruby 3.2 is now security maintenance status. We can't backport it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Partly reverted from 449899b38314d0ecbe61e42d34398bdf2561b8e9</title>
<updated>2024-11-06T06:35:34+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-11-06T03:36:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2ad331acf6b7990361ead9d03382f4198206610a'/>
<id>2ad331acf6b7990361ead9d03382f4198206610a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Pend some tests because these are not working with macOS 15 and Xcode 16</title>
<updated>2024-11-06T06:35:34+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-07-12T03:35:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e548ff67ea1a769d79aece363fe93ce113b3a07c'/>
<id>e548ff67ea1a769d79aece363fe93ce113b3a07c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix `String#index` to clear MatchData when a regexp is passed</title>
<updated>2024-05-14T07:29:21+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2024-05-09T09:56:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=449899b38314d0ecbe61e42d34398bdf2561b8e9'/>
<id>449899b38314d0ecbe61e42d34398bdf2561b8e9</id>
<content type='text'>
[Bug #20421]

The bug was fixed in Ruby 3.3 via 9dcdffb8bf8a3654fd78bf1a58b30c8e13888a7a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #20421]

The bug was fixed in Ruby 3.3 via 9dcdffb8bf8a3654fd78bf1a58b30c8e13888a7a
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 8d1109c03bacc952b6218af2e4ae9b74c9855273:</title>
<updated>2023-11-21T13:01:54+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-11-21T13:01:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ba0de58de3bc891507f2d1dfffbe4ad632fdcd5c'/>
<id>ba0de58de3bc891507f2d1dfffbe4ad632fdcd5c</id>
<content type='text'>
	Added assertion values for Amazon Linux 2023

	---
	 spec/ruby/core/file/utime_spec.rb | 8 +++++---
	 1 file changed, 5 insertions(+), 3 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Added assertion values for Amazon Linux 2023

	---
	 spec/ruby/core/file/utime_spec.rb | 8 +++++---
	 1 file changed, 5 insertions(+), 3 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) d4c720a91bc7bb9ff31810e1720acffb939f7a2f: [Backport #19845]</title>
<updated>2023-09-30T04:30:08+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-09-30T04:30:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e7ab923b880ac75862cf9c287ac8ecbcd8ed1a31'/>
<id>e7ab923b880ac75862cf9c287ac8ecbcd8ed1a31</id>
<content type='text'>
	Fix support for dynamic keys. (#8273)

	* Skip RBS test.
	---
	 cont.c                               |  8 +++-----
	 spec/ruby/core/fiber/storage_spec.rb | 14 ++++++++++++++
	 tool/rbs_skip_tests                  |  2 ++
	 3 files changed, 19 insertions(+), 5 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Fix support for dynamic keys. (#8273)

	* Skip RBS test.
	---
	 cont.c                               |  8 +++-----
	 spec/ruby/core/fiber/storage_spec.rb | 14 ++++++++++++++
	 tool/rbs_skip_tests                  |  2 ++
	 3 files changed, 19 insertions(+), 5 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 1a149aab776aa6741628eb35482eff1ded197fd2,fb17c833f542222afdf482924877d43aa577782d,60f22ebf86248388b41b4ec751d16700f2b4b621: [Backport #19533]</title>
<updated>2023-07-17T07:07:39+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-07-17T07:07:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5328c58c7d00540f4f56749aaeefb68761bd7eba'/>
<id>5328c58c7d00540f4f56749aaeefb68761bd7eba</id>
<content type='text'>
	Extract range type check functions

	---
	 range.c | 55 ++++++++++++++++++++++++++++++++++++-------------------
	 1 file changed, 36 insertions(+), 19 deletions(-)

	[Bug #19533] Fix infinite range inclusion with numeric value

	---
	 range.c                 | 10 +++++++---
	 test/ruby/test_range.rb |  2 ++
	 2 files changed, 9 insertions(+), 3 deletions(-)

	[Bug #19533] Add spec of infinite range inclusion

	---
	 spec/ruby/core/range/case_compare_spec.rb | 6 ++++++
	 1 file changed, 6 insertions(+)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Extract range type check functions

	---
	 range.c | 55 ++++++++++++++++++++++++++++++++++++-------------------
	 1 file changed, 36 insertions(+), 19 deletions(-)

	[Bug #19533] Fix infinite range inclusion with numeric value

	---
	 range.c                 | 10 +++++++---
	 test/ruby/test_range.rb |  2 ++
	 2 files changed, 9 insertions(+), 3 deletions(-)

	[Bug #19533] Add spec of infinite range inclusion

	---
	 spec/ruby/core/range/case_compare_spec.rb | 6 ++++++
	 1 file changed, 6 insertions(+)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) ec14861f0d7a1e99d3e6667dee2f4c9cc426d5f3:</title>
<updated>2023-06-25T03:37:14+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-06-25T03:37:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0c00fb5d92dbd87bfdde393d1e3bece9b457d17c'/>
<id>0c00fb5d92dbd87bfdde393d1e3bece9b457d17c</id>
<content type='text'>
	Update to ruby/spec@7e680fa

	---
	 spec/ruby/core/dir/home_spec.rb      | 5 +++--
	 spec/ruby/core/process/spawn_spec.rb | 2 +-
	 2 files changed, 4 insertions(+), 3 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Update to ruby/spec@7e680fa

	---
	 spec/ruby/core/dir/home_spec.rb      | 5 +++--
	 spec/ruby/core/process/spawn_spec.rb | 2 +-
	 2 files changed, 4 insertions(+), 3 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) cd5e6cc0ea48353c88d921b885b552dc76da255c,bbf54ec334fe2edd7669a944d88d17efde49a412: [Backport #19307]</title>
<updated>2023-06-24T07:59:30+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-06-24T07:59:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9fca561980c6d024229d72600180b20f3f77536f'/>
<id>9fca561980c6d024229d72600180b20f3f77536f</id>
<content type='text'>
	Update to ruby/mspec@fef9b81

	---
	 spec/mspec/tool/tag_from_output.rb | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)

	Update to ruby/spec@9d69b95

	---
	 spec/ruby/core/array/keep_if_spec.rb               |   1 +
	 spec/ruby/core/array/pack/c_spec.rb                |  14 +-
	 spec/ruby/core/array/pack/shared/basic.rb          |  40 ++++
	 spec/ruby/core/array/pack/shared/float.rb          |  66 ++++++-
	 spec/ruby/core/array/pack/shared/integer.rb        |  96 +++++++--
	 spec/ruby/core/array/pack/shared/numeric_basic.rb  |  10 +-
	 spec/ruby/core/array/pack/shared/unicode.rb        |  14 +-
	 spec/ruby/core/array/pack/w_spec.rb                |  14 +-
	 spec/ruby/core/array/shared/unshift.rb             |  18 ++
	 spec/ruby/core/array/values_at_spec.rb             |   1 +
	 spec/ruby/core/array/zip_spec.rb                   |   6 +
	 spec/ruby/core/class/subclasses_spec.rb            |  22 +++
	 spec/ruby/core/dir/home_spec.rb                    |  44 +++--
	 spec/ruby/core/dir/mkdir_spec.rb                   |  18 +-
	 spec/ruby/core/enumerable/zip_spec.rb              |   5 +
	 spec/ruby/core/float/comparison_spec.rb            |  35 ++--
	 spec/ruby/core/float/divmod_spec.rb                |   2 +-
	 spec/ruby/core/float/gt_spec.rb                    |  21 ++
	 spec/ruby/core/float/gte_spec.rb                   |  21 ++
	 spec/ruby/core/float/lt_spec.rb                    |  21 ++
	 spec/ruby/core/float/lte_spec.rb                   |  21 ++
	 spec/ruby/core/float/shared/equal.rb               |  21 ++
	 spec/ruby/core/io/gets_spec.rb                     |   4 +
	 spec/ruby/core/io/lineno_spec.rb                   |   9 +-
	 spec/ruby/core/io/new_spec.rb                      |   2 +
	 spec/ruby/core/io/readline_spec.rb                 |   4 +
	 spec/ruby/core/io/readlines_spec.rb                |   4 +
	 spec/ruby/core/io/shared/each.rb                   |   4 +
	 spec/ruby/core/io/shared/new.rb                    |   2 +
	 spec/ruby/core/io/shared/pos.rb                    |   8 +-
	 spec/ruby/core/io/shared/readlines.rb              |   4 +
	 spec/ruby/core/io/sysseek_spec.rb                  |   2 +-
	 spec/ruby/core/kernel/shared/load.rb               |  31 ++-
	 spec/ruby/core/kernel/singleton_class_spec.rb      |   2 +
	 spec/ruby/core/marshal/dump_spec.rb                |  45 ++++-
	 spec/ruby/core/marshal/fixtures/classes.rb         |   4 +
	 spec/ruby/core/matchdata/values_at_spec.rb         |  73 ++++++-
	 spec/ruby/core/module/fixtures/classes.rb          |   1 +
	 spec/ruby/core/module/include_spec.rb              |   4 +-
	 spec/ruby/core/module/prepend_spec.rb              |  12 ++
	 .../ruby/core/objectspace/define_finalizer_spec.rb |  22 +++
	 spec/ruby/core/process/constants_spec.rb           |   1 +
	 spec/ruby/core/process/detach_spec.rb              |  29 +++
	 spec/ruby/core/process/spawn_spec.rb               |  10 +
	 spec/ruby/core/process/times_spec.rb               |   2 +-
	 spec/ruby/core/queue/initialize_spec.rb            |  13 +-
	 spec/ruby/core/refinement/import_methods_spec.rb   |  34 ++++
	 spec/ruby/core/refinement/include_spec.rb          |  27 +++
	 spec/ruby/core/refinement/prepend_spec.rb          |  27 +++
	 spec/ruby/core/regexp/initialize_spec.rb           |   2 +-
	 spec/ruby/core/signal/trap_spec.rb                 |  12 ++
	 spec/ruby/core/string/byteslice_spec.rb            |   6 +
	 spec/ruby/core/string/capitalize_spec.rb           |   4 +
	 spec/ruby/core/string/chars_spec.rb                |   7 +-
	 spec/ruby/core/string/chomp_spec.rb                |   4 +
	 spec/ruby/core/string/chop_spec.rb                 |   4 +
	 spec/ruby/core/string/clone_spec.rb                |   4 +
	 spec/ruby/core/string/delete_prefix_spec.rb        |   4 +
	 spec/ruby/core/string/delete_spec.rb               |   4 +
	 spec/ruby/core/string/delete_suffix_spec.rb        |   4 +
	 spec/ruby/core/string/downcase_spec.rb             |   4 +
	 spec/ruby/core/string/dump_spec.rb                 |  10 +-
	 spec/ruby/core/string/dup_spec.rb                  |   4 +
	 spec/ruby/core/string/lines_spec.rb                |   1 -
	 spec/ruby/core/string/reverse_spec.rb              |   4 +
	 spec/ruby/core/string/scan_spec.rb                 |   6 +
	 spec/ruby/core/string/scrub_spec.rb                |  10 +
	 spec/ruby/core/string/shared/each_line.rb          |   6 +
	 spec/ruby/core/string/shared/partition.rb          |  15 ++
	 spec/ruby/core/string/shared/slice.rb              |  13 +-
	 spec/ruby/core/string/shared/strip.rb              |   4 +
	 spec/ruby/core/string/shared/succ.rb               |   4 +
	 spec/ruby/core/string/split_spec.rb                |  17 +-
	 spec/ruby/core/string/squeeze_spec.rb              |   5 +
	 spec/ruby/core/string/swapcase_spec.rb             |   4 +
	 spec/ruby/core/string/undump_spec.rb               |   2 +-
	 spec/ruby/core/string/unpack/b_spec.rb             |  28 ++-
	 spec/ruby/core/string/unpack/c_spec.rb             |  14 +-
	 spec/ruby/core/string/unpack/h_spec.rb             |  28 ++-
	 spec/ruby/core/string/unpack/shared/basic.rb       |  28 ---
	 spec/ruby/core/string/unpack/shared/float.rb       |  60 +++++-
	 spec/ruby/core/string/unpack/shared/integer.rb     |  88 +++++++--
	 spec/ruby/core/string/unpack/shared/unicode.rb     |  14 +-
	 spec/ruby/core/string/unpack/w_spec.rb             |  14 +-
	 spec/ruby/core/string/unpack1_spec.rb              |  12 +-
	 spec/ruby/core/string/unpack_spec.rb               |  34 ++++
	 spec/ruby/core/string/upcase_spec.rb               |   4 +
	 spec/ruby/core/string/valid_encoding/utf_8_spec.rb | 214 +++++++++++++++++++++
	 spec/ruby/core/struct/values_at_spec.rb            |  55 +++++-
	 spec/ruby/core/symbol/shared/id2name.rb            |   7 +
	 spec/ruby/core/time/at_spec.rb                     |  16 ++
	 spec/ruby/core/time/localtime_spec.rb              |  16 +-
	 spec/ruby/core/time/new_spec.rb                    |  94 +++++++--
	 spec/ruby/core/time/shared/gmtime.rb               |   4 +-
	 spec/ruby/core/time/shared/time_params.rb          |  11 +-
	 spec/ruby/core/time/strftime_spec.rb               |  40 +++-
	 spec/ruby/core/time/utc_spec.rb                    |  41 +++-
	 spec/ruby/core/time/zone_spec.rb                   |  20 +-
	 spec/ruby/core/tracepoint/inspect_spec.rb          |   9 +
	 spec/ruby/fixtures/code/load_wrap_fixture.rb       |  12 ++
	 spec/ruby/fixtures/code/wrap_fixture.rb            |   9 -
	 spec/ruby/language/case_spec.rb                    |   4 +-
	 .../ruby/language/regexp/character_classes_spec.rb |   5 +
	 spec/ruby/library/coverage/running_spec.rb         |  20 ++
	 spec/ruby/library/date/civil_spec.rb               |   7 +-
	 spec/ruby/library/objectspace/fixtures/trace.rb    |   5 +
	 spec/ruby/library/objectspace/trace_spec.rb        |  15 ++
	 spec/ruby/library/openssl/x509/name/verify_spec.rb |   4 +-
	 spec/ruby/library/stringio/initialize_spec.rb      |  85 ++++++++
	 spec/ruby/library/stringio/new_spec.rb             |   8 +
	 spec/ruby/library/stringio/shared/write.rb         |  22 +++
	 spec/ruby/optional/capi/ext/io_spec.c              |  43 +++++
	 spec/ruby/optional/capi/io_spec.rb                 |  15 ++
	 spec/ruby/shared/rational/Rational.rb              |  48 ++---
	 114 files changed, 1963 insertions(+), 245 deletions(-)
	 create mode 100644 spec/ruby/core/marshal/fixtures/classes.rb
	 create mode 100644 spec/ruby/core/refinement/import_methods_spec.rb
	 create mode 100644 spec/ruby/core/refinement/include_spec.rb
	 create mode 100644 spec/ruby/core/refinement/prepend_spec.rb
	 create mode 100644 spec/ruby/core/string/unpack_spec.rb
	 create mode 100644 spec/ruby/core/string/valid_encoding/utf_8_spec.rb
	 create mode 100644 spec/ruby/fixtures/code/load_wrap_fixture.rb
	 delete mode 100644 spec/ruby/fixtures/code/wrap_fixture.rb
	 create mode 100644 spec/ruby/library/coverage/running_spec.rb
	 create mode 100644 spec/ruby/library/objectspace/fixtures/trace.rb
	 create mode 100644 spec/ruby/library/objectspace/trace_spec.rb
	 create mode 100644 spec/ruby/library/stringio/new_spec.rb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Update to ruby/mspec@fef9b81

	---
	 spec/mspec/tool/tag_from_output.rb | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)

	Update to ruby/spec@9d69b95

	---
	 spec/ruby/core/array/keep_if_spec.rb               |   1 +
	 spec/ruby/core/array/pack/c_spec.rb                |  14 +-
	 spec/ruby/core/array/pack/shared/basic.rb          |  40 ++++
	 spec/ruby/core/array/pack/shared/float.rb          |  66 ++++++-
	 spec/ruby/core/array/pack/shared/integer.rb        |  96 +++++++--
	 spec/ruby/core/array/pack/shared/numeric_basic.rb  |  10 +-
	 spec/ruby/core/array/pack/shared/unicode.rb        |  14 +-
	 spec/ruby/core/array/pack/w_spec.rb                |  14 +-
	 spec/ruby/core/array/shared/unshift.rb             |  18 ++
	 spec/ruby/core/array/values_at_spec.rb             |   1 +
	 spec/ruby/core/array/zip_spec.rb                   |   6 +
	 spec/ruby/core/class/subclasses_spec.rb            |  22 +++
	 spec/ruby/core/dir/home_spec.rb                    |  44 +++--
	 spec/ruby/core/dir/mkdir_spec.rb                   |  18 +-
	 spec/ruby/core/enumerable/zip_spec.rb              |   5 +
	 spec/ruby/core/float/comparison_spec.rb            |  35 ++--
	 spec/ruby/core/float/divmod_spec.rb                |   2 +-
	 spec/ruby/core/float/gt_spec.rb                    |  21 ++
	 spec/ruby/core/float/gte_spec.rb                   |  21 ++
	 spec/ruby/core/float/lt_spec.rb                    |  21 ++
	 spec/ruby/core/float/lte_spec.rb                   |  21 ++
	 spec/ruby/core/float/shared/equal.rb               |  21 ++
	 spec/ruby/core/io/gets_spec.rb                     |   4 +
	 spec/ruby/core/io/lineno_spec.rb                   |   9 +-
	 spec/ruby/core/io/new_spec.rb                      |   2 +
	 spec/ruby/core/io/readline_spec.rb                 |   4 +
	 spec/ruby/core/io/readlines_spec.rb                |   4 +
	 spec/ruby/core/io/shared/each.rb                   |   4 +
	 spec/ruby/core/io/shared/new.rb                    |   2 +
	 spec/ruby/core/io/shared/pos.rb                    |   8 +-
	 spec/ruby/core/io/shared/readlines.rb              |   4 +
	 spec/ruby/core/io/sysseek_spec.rb                  |   2 +-
	 spec/ruby/core/kernel/shared/load.rb               |  31 ++-
	 spec/ruby/core/kernel/singleton_class_spec.rb      |   2 +
	 spec/ruby/core/marshal/dump_spec.rb                |  45 ++++-
	 spec/ruby/core/marshal/fixtures/classes.rb         |   4 +
	 spec/ruby/core/matchdata/values_at_spec.rb         |  73 ++++++-
	 spec/ruby/core/module/fixtures/classes.rb          |   1 +
	 spec/ruby/core/module/include_spec.rb              |   4 +-
	 spec/ruby/core/module/prepend_spec.rb              |  12 ++
	 .../ruby/core/objectspace/define_finalizer_spec.rb |  22 +++
	 spec/ruby/core/process/constants_spec.rb           |   1 +
	 spec/ruby/core/process/detach_spec.rb              |  29 +++
	 spec/ruby/core/process/spawn_spec.rb               |  10 +
	 spec/ruby/core/process/times_spec.rb               |   2 +-
	 spec/ruby/core/queue/initialize_spec.rb            |  13 +-
	 spec/ruby/core/refinement/import_methods_spec.rb   |  34 ++++
	 spec/ruby/core/refinement/include_spec.rb          |  27 +++
	 spec/ruby/core/refinement/prepend_spec.rb          |  27 +++
	 spec/ruby/core/regexp/initialize_spec.rb           |   2 +-
	 spec/ruby/core/signal/trap_spec.rb                 |  12 ++
	 spec/ruby/core/string/byteslice_spec.rb            |   6 +
	 spec/ruby/core/string/capitalize_spec.rb           |   4 +
	 spec/ruby/core/string/chars_spec.rb                |   7 +-
	 spec/ruby/core/string/chomp_spec.rb                |   4 +
	 spec/ruby/core/string/chop_spec.rb                 |   4 +
	 spec/ruby/core/string/clone_spec.rb                |   4 +
	 spec/ruby/core/string/delete_prefix_spec.rb        |   4 +
	 spec/ruby/core/string/delete_spec.rb               |   4 +
	 spec/ruby/core/string/delete_suffix_spec.rb        |   4 +
	 spec/ruby/core/string/downcase_spec.rb             |   4 +
	 spec/ruby/core/string/dump_spec.rb                 |  10 +-
	 spec/ruby/core/string/dup_spec.rb                  |   4 +
	 spec/ruby/core/string/lines_spec.rb                |   1 -
	 spec/ruby/core/string/reverse_spec.rb              |   4 +
	 spec/ruby/core/string/scan_spec.rb                 |   6 +
	 spec/ruby/core/string/scrub_spec.rb                |  10 +
	 spec/ruby/core/string/shared/each_line.rb          |   6 +
	 spec/ruby/core/string/shared/partition.rb          |  15 ++
	 spec/ruby/core/string/shared/slice.rb              |  13 +-
	 spec/ruby/core/string/shared/strip.rb              |   4 +
	 spec/ruby/core/string/shared/succ.rb               |   4 +
	 spec/ruby/core/string/split_spec.rb                |  17 +-
	 spec/ruby/core/string/squeeze_spec.rb              |   5 +
	 spec/ruby/core/string/swapcase_spec.rb             |   4 +
	 spec/ruby/core/string/undump_spec.rb               |   2 +-
	 spec/ruby/core/string/unpack/b_spec.rb             |  28 ++-
	 spec/ruby/core/string/unpack/c_spec.rb             |  14 +-
	 spec/ruby/core/string/unpack/h_spec.rb             |  28 ++-
	 spec/ruby/core/string/unpack/shared/basic.rb       |  28 ---
	 spec/ruby/core/string/unpack/shared/float.rb       |  60 +++++-
	 spec/ruby/core/string/unpack/shared/integer.rb     |  88 +++++++--
	 spec/ruby/core/string/unpack/shared/unicode.rb     |  14 +-
	 spec/ruby/core/string/unpack/w_spec.rb             |  14 +-
	 spec/ruby/core/string/unpack1_spec.rb              |  12 +-
	 spec/ruby/core/string/unpack_spec.rb               |  34 ++++
	 spec/ruby/core/string/upcase_spec.rb               |   4 +
	 spec/ruby/core/string/valid_encoding/utf_8_spec.rb | 214 +++++++++++++++++++++
	 spec/ruby/core/struct/values_at_spec.rb            |  55 +++++-
	 spec/ruby/core/symbol/shared/id2name.rb            |   7 +
	 spec/ruby/core/time/at_spec.rb                     |  16 ++
	 spec/ruby/core/time/localtime_spec.rb              |  16 +-
	 spec/ruby/core/time/new_spec.rb                    |  94 +++++++--
	 spec/ruby/core/time/shared/gmtime.rb               |   4 +-
	 spec/ruby/core/time/shared/time_params.rb          |  11 +-
	 spec/ruby/core/time/strftime_spec.rb               |  40 +++-
	 spec/ruby/core/time/utc_spec.rb                    |  41 +++-
	 spec/ruby/core/time/zone_spec.rb                   |  20 +-
	 spec/ruby/core/tracepoint/inspect_spec.rb          |   9 +
	 spec/ruby/fixtures/code/load_wrap_fixture.rb       |  12 ++
	 spec/ruby/fixtures/code/wrap_fixture.rb            |   9 -
	 spec/ruby/language/case_spec.rb                    |   4 +-
	 .../ruby/language/regexp/character_classes_spec.rb |   5 +
	 spec/ruby/library/coverage/running_spec.rb         |  20 ++
	 spec/ruby/library/date/civil_spec.rb               |   7 +-
	 spec/ruby/library/objectspace/fixtures/trace.rb    |   5 +
	 spec/ruby/library/objectspace/trace_spec.rb        |  15 ++
	 spec/ruby/library/openssl/x509/name/verify_spec.rb |   4 +-
	 spec/ruby/library/stringio/initialize_spec.rb      |  85 ++++++++
	 spec/ruby/library/stringio/new_spec.rb             |   8 +
	 spec/ruby/library/stringio/shared/write.rb         |  22 +++
	 spec/ruby/optional/capi/ext/io_spec.c              |  43 +++++
	 spec/ruby/optional/capi/io_spec.rb                 |  15 ++
	 spec/ruby/shared/rational/Rational.rb              |  48 ++---
	 114 files changed, 1963 insertions(+), 245 deletions(-)
	 create mode 100644 spec/ruby/core/marshal/fixtures/classes.rb
	 create mode 100644 spec/ruby/core/refinement/import_methods_spec.rb
	 create mode 100644 spec/ruby/core/refinement/include_spec.rb
	 create mode 100644 spec/ruby/core/refinement/prepend_spec.rb
	 create mode 100644 spec/ruby/core/string/unpack_spec.rb
	 create mode 100644 spec/ruby/core/string/valid_encoding/utf_8_spec.rb
	 create mode 100644 spec/ruby/fixtures/code/load_wrap_fixture.rb
	 delete mode 100644 spec/ruby/fixtures/code/wrap_fixture.rb
	 create mode 100644 spec/ruby/library/coverage/running_spec.rb
	 create mode 100644 spec/ruby/library/objectspace/fixtures/trace.rb
	 create mode 100644 spec/ruby/library/objectspace/trace_spec.rb
	 create mode 100644 spec/ruby/library/stringio/new_spec.rb
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) d2520b7b76759118071a16e6bca22726a5de9fb4: [Backport #19439]</title>
<updated>2023-03-08T05:46:30+00:00</updated>
<author>
<name>NARUSE, Yui</name>
<email>naruse@airemix.jp</email>
</author>
<published>2023-03-08T05:46:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4e4a4e42b284d9309a7e51c97058093539e7a843'/>
<id>4e4a4e42b284d9309a7e51c97058093539e7a843</id>
<content type='text'>
	Marshal.load: restore instance variables on Regexp

	[Bug #19439]

	The instance variables were restore on the Regexp source,
	not the regexp itself.

	Unfortunately we have a bit of a chicken and egg problem.

	The source holds the encoding, and the encoding need to be set on
	the source to be able to instantiate the Regexp.

	So the instance variables have to be read on the `source`.
	To correct this we transfert the instance variables after
	instantiating the Regexp.

	The only way to avoid this would be to read the instance variable
	twice and rewind.
	---
	 marshal.c                             | 20 ++++++++++++++++++--
	 spec/ruby/core/marshal/shared/load.rb | 11 +++++++++++
	 2 files changed, 29 insertions(+), 2 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Marshal.load: restore instance variables on Regexp

	[Bug #19439]

	The instance variables were restore on the Regexp source,
	not the regexp itself.

	Unfortunately we have a bit of a chicken and egg problem.

	The source holds the encoding, and the encoding need to be set on
	the source to be able to instantiate the Regexp.

	So the instance variables have to be read on the `source`.
	To correct this we transfert the instance variables after
	instantiating the Regexp.

	The only way to avoid this would be to read the instance variable
	twice and rewind.
	---
	 marshal.c                             | 20 ++++++++++++++++++--
	 spec/ruby/core/marshal/shared/load.rb | 11 +++++++++++
	 2 files changed, 29 insertions(+), 2 deletions(-)
</pre>
</div>
</content>
</entry>
</feed>
