summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2021-11-16[ruby/date] `Date._<format>(nil)` should return an empty HashJean Boussier
Fix: https://github.com/ruby/date/issues/39 This is how versions previous to 3.2.1 behaved and Active Support currently rely on this behavior. https://github.com/rails/rails/blob/90357af08048ef5076730505f6e7b14a81f33d0c/activesupport/lib/active_support/values/time_zone.rb#L383-L384 Any Rails application upgrading to date `3.2.1` might run into unexpected errors. https://github.com/ruby/date/commit/8f2d7a0c7e
2021-11-16[ruby/date] Add length limit option for methods that parses date stringsYusuke Endoh
`Date.parse` now raises an ArgumentError when a given date string is longer than 128. You can configure the limit by giving `limit` keyword arguments like `Date.parse(str, limit: 1000)`. If you pass `limit: nil`, the limit is disabled. Not only `Date.parse` but also the following methods are changed. * Date._parse * Date.parse * DateTime.parse * Date._iso8601 * Date.iso8601 * DateTime.iso8601 * Date._rfc3339 * Date.rfc3339 * DateTime.rfc3339 * Date._xmlschema * Date.xmlschema * DateTime.xmlschema * Date._rfc2822 * Date.rfc2822 * DateTime.rfc2822 * Date._rfc822 * Date.rfc822 * DateTime.rfc822 * Date._jisx0301 * Date.jisx0301 * DateTime.jisx0301 https://github.com/ruby/date/commit/3959accef8
2021-11-16[ruby/io-wait] Disable ractor test which is meaningless on earlier versionsNobuyoshi Nakada
https://github.com/ruby/io-wait/commit/e8e1e99d4c
2021-11-16[ruby/io-wait] Use `omit` as per test-unitNobuyoshi Nakada
https://github.com/ruby/io-wait/commit/1f59f7b02f
2021-11-16Merge the master branch of rubygems repoHiroshi SHIBATA
Picked from https://github.com/rubygems/rubygems/commit/4b498709a015a94e14a3852a1841a7a3e669133d
2021-11-15Sync test_http_request.rb after fix to net-httpJeremy Evans
2021-11-16[ruby/net-http] Fix tests after change to allow HEAD to send Accept-EncodingJeremy Evans
https://github.com/ruby/net-http/commit/ca7bb8c51c
2021-11-15test/ruby/test_m17n.rb: skip a test that breaks another testYusuke Endoh
See https://bugs.ruby-lang.org/issues/18338
2021-11-15Revert "test/ruby/test_m17n.rb: Run a test under assert_separately"Yusuke Endoh
This reverts commit a698181021c11711dc56b74dacbdebc2895b5384. It failed on macos for a unknown problem. ``` 1) Error: TestM17N#test_object_inspect_external: Encoding::ConverterNotFoundError: code converter not found (US-ASCII to UTF-16BE) /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:312:in `encode' /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:312:in `inspect' /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:315:in `inspect' /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:315:in `<main>' /Users/runner/work/ruby/ruby/src/test/ruby/test_m17n.rb:299:in `test_object_inspect_external' ``` https://github.com/ruby/ruby/runs/4207871418?check_suite_focus=true
2021-11-15test/ruby/test_m17n.rb: Run a test under assert_separatelyYusuke Endoh
The test uses `Encoding.default_external = Encoding::UTF_16BE`, which may add a wrongly UTF_16BE-encoded path to $LOADED_FEATURES (depending on the order of tests). Unfortunately this breaks another test: http://ci.rvm.jp/results/trunk-test@ruby-sky1/3711615 ``` /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:11:in `===': incompatible encoding regexp match (US-ASCII regexp with UTF-16BE string) (Encoding::CompatibilityError) ``` According to @naruse-san, we don't pay effort to such a case, so this change just avoids the issue by running the test in question under another process. Co-Authored-By: Koichi Sasada <ko1@atdot.net>
2021-11-14show encoding for each pathKoichi Sasada
2021-11-14test/io/console/test_io_console.rb: dump debug output to stderrYusuke Endoh
make test-all in parallel mode seems to hide stdout
2021-11-12test/ruby/test_jit.rb: suppress a false-positive warningYusuke Endoh
It reports "opt_regexpmatch2 insn is not included", but actually it is included. This is due to a known bug of ISeq#to_a on which this check depends. https://bugs.ruby-lang.org/issues/18269
2021-11-12test/io/console/test_io_console.rb: add debug codeYusuke Endoh
to debug the following failure http://ci.rvm.jp/results/trunk-test@ruby-sky1/3708240 ``` /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `===': incompatible encoding regexp match (US-ASCII regexp with UTF-16BE string) (Encoding::CompatibilityError) /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `each' /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `grep' /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:10:in `<class:TestIO_Console>' /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb:9:in `<top (required)>' <internal:/tmp/ruby/v3/src/trunk-test/lib/rubygems/core_ext/kernel_require.rb>:85:in `require' <internal:/tmp/ruby/v3/src/trunk-test/lib/rubygems/core_ext/kernel_require.rb>:85:in `require' /tmp/ruby/v3/src/trunk-test/tool/lib/test/unit/parallel.rb:122:in `run' /tmp/ruby/v3/src/trunk-test/tool/lib/test/unit/parallel.rb:211:in `<main>' running file: /tmp/ruby/v3/src/trunk-test/test/io/console/test_io_console.rb ```
2021-11-12Rework implementation of `IO::Buffer.for(string)` to use string locking.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5109
2021-11-12More immutability and locking tests.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/5109
2021-11-11[Bug #18329] Fix crash when calling non-existent super methodPeter Zhu
The cme is NULL when a method does not exist, so check it before accessing the callcache. Notes: Merged: https://github.com/ruby/ruby/pull/5108
2021-11-11fix a memory leak introduced in 8bbd319Matt Valentine-House
This commit fixes a memory leak introduced in an early part of the variable width allocation project that would prevent the rb_classext_t struct from being free'd when the class is swept. Notes: Merged: https://github.com/ruby/ruby/pull/5103
2021-11-11quick fix for `test_initialize_HEAD`Koichi Sasada
https://github.com/ruby/ruby/commit/52ab9bbee918c63faad32e3851b162691b984d40 makes a failure. ``` 1) Failure: HTTPRequestTest#test_initialize_HEAD [/tmp/ruby/v3/src/trunk/test/net/http/test_http_request.rb:53]: <{"accept"=>["*/*"], "user-agent"=>["Ruby"]}> expected but was <{"accept-encoding"=>["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"], "accept"=>["*/*"], "user-agent"=>["Ruby"]}>. ``` I'm not sure it is correct, so please review later.
2021-11-11test/openssl/test_ssl: adjust certificate expiry dateKazuki Yamaguchi
test_connect_certificate_verify_failed_exception_message occasionally fails. Is it possible that OpenSSL sees a different clock from Ruby by more than 10 seconds? http://ci.rvm.jp/logfiles/brlog.trunk-random0.20211111-072828 Let's give more time after the certificate expiration date to see if this fixes the flakiness. We had similar occasional failures in test_x509store.rb before, which disappeared after ruby/ruby commit 7930a352a57c and ruby/openssl commit fb2fcbb13734.
2021-11-11[ruby/getoptlong] fixup 5f57f47572502173e2e8880f83ef7b3e2659f974Hiroshi SHIBATA
https://github.com/ruby/getoptlong/commit/5683297853
2021-11-11[ruby/getoptlong] Save the copy of `ARGV`Nobuyoshi Nakada
It refers the same object and will be replaced. https://github.com/ruby/getoptlong/commit/5f57f47572
2021-11-11[ruby/getoptlong] Write a first test of getoptlong.rbBurdette Lamar
https://github.com/ruby/getoptlong/commit/18cdb03fd4
2021-11-10[ci skip] Fix typo in test namePeter Zhu
Notes: Merged: https://github.com/ruby/ruby/pull/5102
2021-11-10Disable experimental warnings in test/runner.rbNobuyoshi Nakada
2021-11-10Mark IO::Buffer as experimental.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/4621
2021-11-10IO::Buffer for scheduler interface.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/4621
2021-11-10class.c: descendants must not cause GC until the result array is createdYusuke Endoh
Follow up of 428227472fc6563046d8138aab17f07bef6af753. The previous fix uses `rb_ary_new_from_values` to create the result array, but it may trigger the GC. This second try is to create the result array by `rb_ary_new_capa` before the second iteration, and assume that `rb_ary_push` does not trigger GC. This assumption is very fragile, so should be improved in future. [Bug #18282] [Feature #14394] Notes: Merged: https://github.com/ruby/ruby/pull/5097
2021-11-09[rubygems/rubygems] Remove more unused stuff from make command parsingDavid Rodríguez
https://github.com/rubygems/rubygems/commit/eba7d173d4
2021-11-09[rubygems/rubygems] This method is never passed a blockDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d79ade274b
2021-11-09[rubygems/rubygems] Fix assert_contains_make_command on make defined by ↵Jun Aruga
environment variable. The `parse_make_command_line` in `assert_contains_make_command` fails to get the make targets correctly, when the make command is set with make options by environment variable such as `export make='make -j2'` at lib/rubygems/ext/builder.rb::make. So, we include the make options (eg, -XX) as a part of the command to fix the case. Note that this commit still doesn't fix the case of `export make='make -j 2'`. https://github.com/rubygems/rubygems/commit/7730ef3fa0
2021-11-09[rubygems/rubygems] Improve error message when make command doesn't matchDavid Rodríguez
https://github.com/rubygems/rubygems/commit/8c2725e9a6
2021-11-09test/ruby/test_iseq.rb: Prevent a warningYusuke Endoh
http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20211109T063003Z.log.html.gz ``` [ 9898/21145] TestISeq#test_super_with_block_and_kwrest/home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_iseq.rb:1: warning: method redefined; discarding old touch /home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_iseq.rb:1: warning: previous definition of touch was here = 0.00 s ```
2021-11-09test/ruby/test_enum.rb: Prevent a warningYusuke Endoh
http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20211109T063003Z.log.html.gz ``` [ 1960/21145] TestEnumerable#test_to_a_keywords/home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_enum.rb:138: warning: method redefined; discarding old each /home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_enum.rb:11: warning: previous definition of each was here = 0.00 s ```
2021-11-09class.c: calculate the length of Class.descendants in advanceYusuke Endoh
GC must not be triggered during callback of rb_class_foreach_subclass. To prevent GC, we can not use rb_ary_push. Instead, this changeset calls rb_class_foreach_subclass twice: first counts the subclasses, then allocates a buffer (which may cause GC and reduce subclasses, but not increase), and finally stores the subclasses to the buffer. [Bug #18282] [Feature #14394] Notes: Merged: https://github.com/ruby/ruby/pull/5070
2021-11-09test/readline/test_readline.rb: skip a test on i686-linuxYusuke Endoh
... because readline library (or libtinfo) seems to cause SEGV internally even with Readline 8.1. This SEGV is caught as SystemStackError, which leads to a test failure. http://rubyci.s3.amazonaws.com/debian-i386/ruby-master/log/20211109T030008Z.fail.html.gz ``` 1) Failure: TestReadline#test_interrupt_in_other_thread [/home/chkbuild/chkbuild/tmp/build/20211109T030008Z/ruby/test/readline/test_readline.rb:568]: Unknown failure with exit status pid 13097 exit 1 Log: ** START **Readline::VERSION is 8.1. /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `readline': stack level too deep (SystemStackError) from /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `block in <main>' /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `readline': stack level too deep (SystemStackError) from /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `block in <main>' ```
2021-11-09test/ruby/test_fiber.rb: Extend timeout on SolarisYusuke Endoh
The test usually takes 200 sec. on Solaris, so the timeout of 300 sec. looks too short.
2021-11-08[Feature #18290] Remove tests that test use of rb_gc_force_recyclePeter Zhu
Remove tests that assume objects get force recycled. Notes: Merged: https://github.com/ruby/ruby/pull/5096
2021-11-07Refine the error message for hidden variablesNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5035
2021-11-07rb_id_serial_to_id: return unregistered ID as an internal IDNobuyoshi Nakada
```ruby def foo(*); ->{ super }; end ``` This code makes anonymous parameters which is not registered as an ID. The problem is that when Ractors try to scan `getlocal` instructions, it puts the Symbol corresponding to the parameter in to a hash. Since it is not registered, we end up with a strange exception. This commit wraps the unregistered ID in an internal ID so that we get the same exception for `...` as `*`. Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Co-Authored-By: John Hawthorn <john@hawthorn.email> Notes: Merged: https://github.com/ruby/ruby/pull/5035
2021-11-05YJIT: Implement checkkeyword (#5083)John Hawthorn
Co-authored-by: John Crepezzi <john.crepezzi@gmail.com> Co-authored-by: John Crepezzi <john.crepezzi@gmail.com> Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2021-11-05Delegate keywords from Enumerable#to_a to #eachJeremy Evans
Fixes [Bug #18289] Notes: Merged: https://github.com/ruby/ruby/pull/5086
2021-11-05[rubygems/rubygems] Fix `ruby setup.rb` command when `--prefix` is passedDavid Rodríguez
https://github.com/rubygems/rubygems/commit/8d04092f6e
2021-11-05[rubygems/rubygems] Bin dir should fall inside destdirDavid Rodríguez
Since that's what happens in real life when `--destdir` is passed. https://github.com/rubygems/rubygems/commit/55637bdc8a
2021-11-05[rubygems/rubygems] Remove unnecessary test setupDavid Rodríguez
The method being unit tested here doesn't use `RbConfig::CONFIG["bindir"]`. https://github.com/rubygems/rubygems/commit/d3f092ad14
2021-11-05[rubygems/rubygems] Simplify `--destdir` testDavid Rodríguez
https://github.com/rubygems/rubygems/commit/0571fd1ec6
2021-11-05[rubygems/rubygems] Refactor setup tests to not always pass `--prefix`David Rodríguez
Standard usage should be tested by default. I will add a test for `--prefix` once I fix that option since it's not working correctly at the moment. https://github.com/rubygems/rubygems/commit/50a7e34586
2021-11-05Skip TestIRB::TestInit#test_recovery_sigint on SolarisYusuke Endoh
The test randomly gets stuck on Solaris: http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20211105T060014Z.fail.html.gz ``` 1) Error: TestIRB::TestInit#test_recovery_sigint: Timeout::Error: execution of assert_in_out_err expired timeout (100.0 sec) pid 3195 killed by SIGTERM (signal 15) | Switch to inspect mode. | exit | ``` I investigated the issue but I couldn't figure it out. This random failure is noisy, which makes it difficult to track the CI. So I skip the test on Soalris. Contribution is welcome.
2021-11-05Add the test of `Dir.glob` when `sort: true` is given explicitlyNobuyoshi Nakada
2021-11-05[rubygems/rubygems] Don't apply `--destdir` twice when running `setup.rb`Alyssa Ross
Prior to this patch, if I ran: ruby setup.rb --destdir /foo Then Bundler files would be written into /foo/foo, because destdir was being prepended, even though `bundler_spec.bin_dir` already included destdir. https://github.com/rubygems/rubygems/commit/9e857ffb52