summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2020-06-18Make Module#prepend affect the iclasses of the moduleJeremy Evans
3556a834a2847e52162d1d3302d4c64390df1694 added support for Module#include to affect the iclasses of the module. It didn't add support for Module#prepend because there were bugs in the object model and GC at the time that prevented it. Those problems have been addressed in ad729a1d11c6c57efd2e92803b4e937db0f75252 and 98286e9850936e27e8ae5e4f20858cc9c13d2dde, and now adding support for it is straightforward and does not break any tests or specs. Fixes [Bug #9573] Notes: Merged: https://github.com/ruby/ruby/pull/3181
2020-06-18lib/webrick/httpservlet/filehandler.rb: always handle a path as UTF-8Yusuke Endoh
https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200618T113134Z.fail.html.gz ``` 1) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200618-84004-1t0dh8f/ruby/test/webrick/utils.rb:72]: exceptions on 2 threads: webrick log start: [2020-06-18 22:18:07] ERROR `/??.txt' not found. webrick log end Filesystem encoding is Windows-31J. <"200"> expected but was <"404">. ```
2020-06-18Add Hash#except ENV#except [Feature #15822]Timo Schilling
2020-06-18Read in ASCII-8BIT to get rid of invalid encoding errorNobuyoshi Nakada
2020-06-18test/webrick/test_filehandler.rb: implicitly fall back to UTF-8Yusuke Endoh
https://ci.appveyor.com/project/ruby/ruby/builds/33588714/job/hcgin7xo3sarr0r2 ``` 2) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/a/ruby/ruby/src/test/webrick/utils.rb:72]: exceptions on 1 threads: U+3042 to WINDOWS-1252 in conversion from UTF-8 to WINDOWS-1252 ```
2020-06-18test/webrick/test_filehandler.rb: remove unused variableYusuke Endoh
2020-06-18test/webrick/test_filehandler.rb: no `.encode("filesystem")` if US-ASCIIYusuke Endoh
http://ci.rvm.jp/logfiles/brlog.trunk-theap-asserts.20200618-002305 ``` I, [2020-06-18T00:28:11.661066 #31625] INFO -- : 1) Failure: I, [2020-06-18T00:28:11.661157 #31625] INFO -- : WEBrick::TestFileHandler#test_cjk_in_path [/tmp/ruby/v3/src/trunk-theap-asserts/test/webrick/utils.rb:72]: I, [2020-06-18T00:28:11.661216 #31625] INFO -- : exceptions on 1 threads: I, [2020-06-18T00:28:11.661269 #31625] INFO -- : U+3042 from UTF-8 to US-ASCII ```
2020-06-18test/webrick/test_filehandler.rb: Second try to fix the CI errorYusuke Endoh
93e6fa1d319d19ce7fba37e4b9924862447b9f38 failed to fix the issue. I suspect that the request path must be encoded as filesystem encoding.
2020-06-17Remove obsoleted opt_call_c_function insn (#3232)Takashi Kokubun
* Remove obsoleted opt_call_c_function insn * Keep opt_call_c_function with DEFINE_INSN_IF Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2020-06-17test/rubygems/test_gem_package.rb: Skip a test when TMPDIR is too longYusuke Endoh
to suppress the following failure: https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200617T130007Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20200617T131443Z.fail.html.gz ``` 1) Failure: TestGemPackage#test_extract_symlink_parent_doesnt_delete_user_dir [/export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/test/rubygems/test_gem_package.rb:620]: --- expected +++ actual @@ -1 +1 @@ -"installing into parent path /export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/tmp/test_rubygems_15916/extract/user/dir of /export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/tmp/test_rubygems_15916/extract/subdir is not allowed" +"installing into parent path link/dir of /export/home/chkbuild/chkbuild-gcc/tmp/build/20200617T130007Z/ruby/tmp/test_rubygems_15916/extract/subdir is not allowed" ``` These CI environments use very long TMPDIR for some reason. The test case creates a directory in TMPDIR and attempts to add a symbolic link to the path into a tarball. However, tar format limits the maximum length up to 99, so the path is truncated. This truncation makes the path check of `Gem::Package#install_location` pass through, and then the check of `#mkdir_p_safe` raises an error. The error message is slightly different from the expected value, so the test fails. I'm unsure what to do, so I tentatively skip the test when TMPDIR is long. I'll create a ticket into rubygems bug tracker.
2020-06-17Speed up setup test by not installing docsDavid Rodríguez
This also makes this test consistent with the other tests in this file. Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-17Skip `test_gem_package_task` if `rake` not presentDavid Rodríguez
Instead of erroring. Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-17Simplify handling of a `LoadError`David Rodríguez
The `LoadError` has a `path` reader in all supported rubies. Notes: Merged: https://github.com/ruby/ruby/pull/3213
2020-06-17Show filesystem encoding in failure messageKazuhiro NISHIYAMA
`test_cjk_in_path` failed on mswinci yet. https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200616T192319Z.fail.html.gz ``` 1) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200617-120024-1brdn58/ruby/test/webrick/utils.rb:72]: exceptions on 2 threads: webrick log start: [2020-06-17 06:12:53] ERROR `/あ.txt' not found. webrick log end. <"200"> expected but was <"404">. --- <[]> expected but was <["[2020-06-17 06:12:53] ERROR `/\xE3\x81\x82.txt' not found.\n"]>. ```
2020-06-16Check argument to ObjectSpace._id2refNobuyoshi Nakada
Ensure that the argument is an Integer or implicitly convert to, before dereferencing as a Bignum. Addressed a regression in b99833baec2. Reported by u75615 at https://hackerone.com/reports/898614
2020-06-15Exit with non-zero status on disabled gem system update.Josef Šimánek
Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Add Gem.disable_system_update_message to disable gem update --system if needed.Josef Šimánek
Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Remove encoding magic commentsDavid Rodríguez
They are no longer needed since ruby 2.0. Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Deprecate `Gem::Util.silent_system`David Rodríguez
There's better tools for this job. Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Replace `Gem::Util.silent_system` with better toolsDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Use space inside block braces everywhereDavid Rodríguez
To make rubygems code style consistent with bundler. Notes: Merged: https://github.com/ruby/ruby/pull/3229
2020-06-15Revert "Revert "[rubygems/rubygems] Remove unneeded global teardown""David Rodríguez
This reverts commit ac2c07e98373bb62be618001c897fa9d5809d8a4. Notes: Merged: https://github.com/ruby/ruby/pull/3211
2020-06-15Revert "Revert "[rubygems/rubygems] Remove unneeded teardown""David Rodríguez
This reverts commit ceacb06311cf150cd3682b277bbe6cf7e7bbbc30. Notes: Merged: https://github.com/ruby/ruby/pull/3211
2020-06-14Try using longer read_timeout for --jit-waitTakashi Kokubun
failure on TestFTP. When we skip a test, the place to hang (long wait for compilation) just moves to another test and it doesn't seem to finish. http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3003055
2020-06-14Introduce find pattern [Feature #16828]Kazuki Tsujimoto
2020-06-13Skip test_getbinaryfile_command_injection on --jit-waitTakashi Kokubun
Timeout-based test often fails with --jit-wait as a false positive. Like other tests in the TestFTP, let me skip this as well. http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3001181 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3000134 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2999923 http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2998857
2020-06-12Revert "[ruby/fileutils] Make verbose output go to stdout instead of stderr"Nobuyoshi Nakada
This reverts commit 7cddb844e6d51f954c6669341b9cc656bd7d3492, because the test of rake 13.0.1 is depending on the previous behavior.
2020-06-12[ruby/fileutils] Fix #install with "X" mode optionNobuyoshi Nakada
`FileUtils#install` methed raises an unexpected `TypeError`, when called with `mode:` option which has `"X"`. ``` $ ruby -rfileutils -e 'FileUtils.install("tmp/a", "tmp/b", mode: "o+X")' /opt/local/lib/ruby/2.7.0/fileutils.rb:942:in `directory?': no implicit conversion of File::Stat into String (TypeError) from /opt/local/lib/ruby/2.7.0/fileutils.rb:942:in `block (3 levels) in symbolic_modes_to_i' from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `each_char' from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `each' from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `inject' from /opt/local/lib/ruby/2.7.0/fileutils.rb:933:in `block (2 levels) in symbolic_modes_to_i' from /opt/local/lib/ruby/2.7.0/fileutils.rb:931:in `each' from /opt/local/lib/ruby/2.7.0/fileutils.rb:931:in `each_slice' from /opt/local/lib/ruby/2.7.0/fileutils.rb:931:in `block in symbolic_modes_to_i' from /opt/local/lib/ruby/2.7.0/fileutils.rb:926:in `each' from /opt/local/lib/ruby/2.7.0/fileutils.rb:926:in `inject' from /opt/local/lib/ruby/2.7.0/fileutils.rb:926:in `symbolic_modes_to_i' from /opt/local/lib/ruby/2.7.0/fileutils.rb:973:in `fu_mode' from /opt/local/lib/ruby/2.7.0/fileutils.rb:883:in `block in install' from /opt/local/lib/ruby/2.7.0/fileutils.rb:1588:in `block in fu_each_src_dest' from /opt/local/lib/ruby/2.7.0/fileutils.rb:1604:in `fu_each_src_dest0' from /opt/local/lib/ruby/2.7.0/fileutils.rb:1586:in `fu_each_src_dest' from /opt/local/lib/ruby/2.7.0/fileutils.rb:877:in `install' from -e:1:in `<main>' ``` In spite of that `symbolic_modes_to_i` considers the `File::Stat` `path` case at the beginning, in `"X"` case, `path` is passed to `FileTest.directory?` method which requires a `String`. In such case, the mode in `path` should be examined instead. https://github.com/ruby/fileutils/commit/af675af6b2
2020-06-12[ruby/fileutils] Make verbose output go to stdout instead of stderrJeremy Evans
Verbose output is not error output, and should be sent to stdout and not stderr. Fixes Ruby bug 4436 https://github.com/ruby/fileutils/commit/563a383025
2020-06-12prevent memory allocation for GC testsKoichi Sasada
We observed test failures on test_latest_gc_info with random order CI. http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/2998078l0ll To solve it, use a pre-allocated hash object and rehearsal.
2020-06-11Make mutating the result of SortedSet#to_a not affect the setJeremy Evans
Fixes [Bug #15834] Notes: Merged: https://github.com/ruby/ruby/pull/3215
2020-06-11Prohibit setting class variable on frozen module through inheritanceAlan Wu
Setting class varibles goes through the ancestor list which can contain iclasses. Iclasses share a lot of information with the module they are made from, but not the frozen status. Check the frozen status of the module instead of the iclass. Notes: Merged: https://github.com/ruby/ruby/pull/3203
2020-06-11Warn when passing a non-literal block to Kernel#lambdaJeremy Evans
Implements [Feature #15973] Notes: Merged: https://github.com/ruby/ruby/pull/3209
2020-06-11Fix error in `remove_entry`Kazuhiro NISHIYAMA
When `LANG=C`, dir is `UTF-8` and `base` is 'ASCII-8BIT` in `FileUtils::Entry_#join`. So `Encoding::CompatibilityError` occurred and files are not removed. https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200611T060002Z.fail.html.gz ``` 1) Error: WEBrick::TestFileHandler#test_cjk_in_path: Errno::ENOTEMPTY: Directory not empty @ dir_s_rmdir - /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/tmp/???20200611-1887828-3nn72a /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1460:in `rmdir' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1460:in `block in remove_dir1' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1471:in `platform_support' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1459:in `remove_dir1' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1452:in `remove' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:780:in `block in remove_entry' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1509:in `ensure in postorder_traverse' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:1509:in `postorder_traverse' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/fileutils.rb:778:in `remove_entry' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/lib/tmpdir.rb:97:in `mktmpdir' /home/chkbuild/chkbuild/tmp/build/20200611T060002Z/ruby/test/webrick/test_filehandler.rb:292:in `test_cjk_in_path' ```
2020-06-11[ruby/logger] Let Logger#reopen not raise on nil log devicesLourens Naudé
https://github.com/ruby/logger/commit/da7bf844e5
2020-06-11[ruby/logger] Let File::NULL ("/dev/null", "NUL" etc.) be considered a nil ↵Lourens Naudé
log device https://github.com/ruby/logger/commit/b42a1b99aa
2020-06-11[ruby/webrick] Fix httpd error in CJK directoryKazuhiro NISHIYAMA
[Bug #16753] https://github.com/ruby/webrick/commit/83cf440858
2020-06-10Make proc/Proc.new without block an error instead of warningJeremy Evans
The warning for these was added in 2.7. Notes: Merged: https://github.com/ruby/ruby/pull/3208
2020-06-10ENV.delete should return the result of block on non-existing keyNobuyoshi Nakada
Fixes [Bug #16173] Co-Authored-By: Burdette Lamar <burdettelamar@yahoo.com> Co-Authored-By: Jeremy Evans <code@jeremyevans.net> Notes: Merged: https://github.com/ruby/ruby/pull/3206
2020-06-10[rubygems/rubygems] Use parenthesis for clarity for ternary conditionBenoit Daloze
https://github.com/rubygems/rubygems/commit/d1247472b9
2020-06-10[rubygems/rubygems] Increase timeouts in test_gem_stream_ui.rbBenoit Daloze
* 0.1s is really short and fails in CI: #3622 https://github.com/rubygems/rubygems/commit/d8495ae1c1
2020-06-09Work around infinite loop when overriding method visibility in prepended ↵Jeremy Evans
module (#3201) For ZSUPER methods with no defined class for the method entry, start the next lookup at the superclass of the origin class of the method owner, instead of the superclass of the method owner. Fixes [Bug #16942] Notes: Merged-By: jeremyevans <code@jeremyevans.net>
2020-06-09Improved assertionsNobuyoshi Nakada
2020-06-09[ruby/gdbm] Workaround for GitHub ActionsHiroshi SHIBATA
https://github.com/ruby/gdbm/commit/f42103fe93
2020-06-09Return seconds slept after Thread.scheduler wait_sleepnicholas a. evans
Kernel#sleep should still return seconds slept, even when using a Thread.scheduler. The return value of Scheduler#wait_sleep can be ignored. Notes: Merged: https://github.com/ruby/ruby/pull/3198
2020-06-09disable GC on a testKoichi Sasada
CI fails with GC while `foo{}`, so that disable GC for this script.
2020-06-07Differentiate `...` in lambda argumentsNobuyoshi Nakada
2020-06-06Add leading arguments support to arguments forwardingJeremy Evans
The idFWD_KWREST sections may be wrong. However, the existing idFWD_KWREST sections for ... without leading arguments are already broken. Implements [Feature #16378] Notes: Merged: https://github.com/ruby/ruby/pull/3190
2020-06-06Make test for no method error more reliableYuki Nishijima
This test should not depend on the bahaviour of the did_you_mean gem.
2020-06-06Sync did_you_meanYuki Nishijima
Notes: Merged: https://github.com/ruby/ruby/pull/3135