summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2019-08-14Make Range#=== operate like cover? instead of include? for string rangesJeremy Evans
Previously, Range#=== treated string ranges that were not endless or beginless the same as include?, instead of the same as cover?. I think this was an oversight in 989e07c0f2fa664a54e52a475c2fcc145f06539d, as the commit message did not indicate this behavior was desired. This also makes some previously dead code no longer dead. Previously, the conditionals were doing this: if (RB_TYPE_P(beg, T_STRING) if (NIL_P(beg)) # can never be true This restructures it so at the NIL_P(beg) check, beg could possibly be nil (beginless ranges). Fixes [Bug #15449]
2019-08-14Implement Range#minmaxJeremy Evans
Range#minmax was previous not implemented, so calling #minmax on range was actually calling Enumerable#minmax. This is a simple implementation of #minmax by just calling range_min and range_max. Fixes [Bug #15867] Fixes [Bug #15807]
2019-08-14Remove support for nil::ConstantJeremy Evans
This was an intentional bug added in 1.9. The approach taken here is to add a second operand to the getconstant instruction for whether nil should be allowed and treated as current scope. Fixes [Bug #11718]
2019-08-14Don't accidentally name anonymous module/classAlan Wu
b00f280d4b9569e7153365d7e1c522b3d6b3c6cf introduced an accidental behavior change in that defining a module/class under `m` gives `m` a name when `m` is anonymous. `ruby -ve 'Module.new { class self::A; end; p name }'` outputs a name similar to `Module#inspect` when it should output `nil` like in Ruby 2.6.x. * variable.c: Use `make_temporary_path` instead of `save_temporary_path` when getting the name of the parent module. * variable.c (rb_set_class_path): Delegate to `rb_set_class_path_string` instead of duplicating the logic. [Bug #16097] Notes: Merged: https://github.com/ruby/ruby/pull/2337
2019-08-14change Proc#to_s format ('@...' -> ' ...') (#2362)Koichi Sasada
Now Proc#to_s returns "#<Proc:0x00000237a0f5f170@t.rb:1>". However, it is convenient to select a file name by (double-)clicking on some terminals by separating ' ' instead of '@' like "#<Proc:0x00000237a0f5f170 t.rb:1>" [Feature #16101]
2019-08-14[ruby/stringio] Supported BOMNobuyoshi Nakada
https://github.com/ruby/stringio/commit/b249631c43
2019-08-14[ruby/stringio] stringio: encoding supportNobuyoshi Nakada
https://github.com/ruby/stringio/commit/7b20075ab0
2019-08-13UTF LE is fixed at least the first 2 bytesNobuyoshi Nakada
* io.c (io_strip_bom): if the first 2 bytes are 0xFF0xFE, it should be a little-endian UTF, 16 or 32. [Bug #16099]
2019-08-12date_parse.c: avoid copyingNobuyoshi Nakada
* ext/date/date_parse.c (date_zone_to_diff): get rid of copying the whole argument string.
2019-08-12Add another test for frame omitted inliningTakashi Kokubun
2019-08-11Use capture_output instead of capture_io.Hiroshi SHIBATA
It's preparation for migrating test-unit on upstream.
2019-08-11Adjust indent [ci skip]Nobuyoshi Nakada
2019-08-10Warn instance variable `E`Nobuyoshi Nakada
It is not dumped, as it is a short alias for `:encoding`.
2019-08-09Fix parsing of mutiple assignment with rescue modifierJeremy Evans
Single assignment with rescue modifier applies rescue to the RHS: a = raise rescue 1 # a = (raise rescue 1) Previously, multiple assignment with rescue modifier applied rescue to the entire expression: a, b = raise rescue [1, 2] # (a, b = raise) rescue [1, 2] This makes multiple assignment with rescue modifier consistent with single assignment with rescue modifier, applying rescue to the RHS: a, b = raise rescue [1, 2] # a, b = (raise rescue [1, 2]) Implements [Feature #8239] Fixes [Bug #8279]
2019-08-09restore timeoutKoichi Sasada
2019-08-09extend timeout to debug.Koichi Sasada
2019-08-09double memory limit on MJIT.Koichi Sasada
On test with MJIT, sometimes it fails like: http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2189967
2019-08-09introduce RCLASS_CLONED flag for inline cache.Koichi Sasada
Methods on duplicated class/module refer same constant inline cache (IC). Constant access lookup should be done for cloned class/modules but inline cache doesn't check it. To check it, this patch introduce new RCLASS_CLONED flag which are set when if class/module is cloned (both orig and dst). [Bug #15877]
2019-08-09Iseq#to_binary: Add support for NoMatchingPatternError and TypeErrorAlan Wu
Binary dumping the iseq for `case foo in []; end` used to crash as there was no handling for these exception classes. Pattern matching generates these classes as operands to `putobject`. [Bug #16088] Closes: https://github.com/ruby/ruby/pull/2325
2019-08-09Should require without wrapper moduleNobuyoshi Nakada
2019-08-08Reduce unnecessary EXEC_TAG in requireNobuyoshi Nakada
2019-08-08solve "duplicate :raise event" in require too [Bug #15877]Nobuyoshi Nakada
2019-08-08solve "duplicate :raise event" [Bug #15877]Koichi Sasada
Without this patch, "raise" event invoked twice when raise an exception in "load"ed script. This patch by danielwaterworth (Daniel Waterworth). [Bug #15877]
2019-08-08Aliases capture_output to capture_io for test-unit compatiblity.Hiroshi SHIBATA
2019-08-07Fix Date#step testNobuyoshi Nakada
The document states that "the limit should be a date object".
2019-08-06Revert "Don't echo results of assignment expressions"aycabta
This reverts commit 1ee88c51b3c319b74b69540e111e4a1c24833cad.
2019-08-06Don't echo results of assignment expressionsSteven Willis
2019-08-06Removing duplicated assertions on test_array.rb - MINUS methodEspartaco Palma
Closes: https://github.com/ruby/ruby/pull/1790
2019-08-06Improve same directory detection in FileUtilsJustin Collins
Closes: https://github.com/ruby/ruby/pull/1425
2019-08-06Give up stabilizing TestProcess on Travis osxTakashi Kokubun
They have been too unstable. Revert "Extend sleep before sending USR1 in TestProcess" This reverts commit aaf69a8ba866193863a7eafe5c6044844bd71bc3. Revert "Extend sleep before sending USR1 in TestProcess" This reverts commit 076f3fcf11a061394d3d5f8c671512df1e983023.
2019-08-05[rubygems/rubygems] Use the standard RUBY_ENGINE_VERSION instead of ↵Benoit Daloze
JRUBY_VERSION * RUBY_ENGINE and RUBY_ENGINE_VERSION are defined on every modern Ruby. * There is no such constant as TRUFFLERUBY_VERSION or RBX_VERSION. https://github.com/rubygems/rubygems/commit/431d0aefdd
2019-08-05[rubygems/rubygems] Fix error handling of #with_engine_versionBenoit Daloze
* If settings constants fail, show that exception instead of getting another one due to variables being unset and hiding the real cause. https://github.com/rubygems/rubygems/commit/f38cd67874
2019-08-05[rubygems/rubygems] Cleanup after testing `rake package`David Rodríguez
Sometimes it happens to me that my local tests start failing because I pull some file removals or renames into my local copy, and those are still present on my last copy of pkg/. In those cases, the test about `rake package` will fail with something like the following: ```` Failure: TestRakePackage#test_builds_ok [/home/deivid/Code/rubygems/test/rubygems/test_rake_package.rb:13]: Expected `rake package` to work, but got errors: ``` cd pkg/rubygems-update-3.1.0.pre1 WARNING: See http://guides.rubygems.org/specification-reference/ for help rake aborted! Gem::InvalidSpecificationException: ["test/rubygems/test_rake_package.rb"] are not files Tasks: TOP => package => gem => pkg/rubygems-update-3.1.0.pre1.gem (See full trace by running task with --trace) ``` If you have added or removed files, make sure you run `rake update_manifest` to update the `Manifest.txt` accordingly. Expected: true Actual: false ```` So, make sure, package is always built from scratch. https://github.com/rubygems/rubygems/commit/4e2cc9eb26
2019-08-05[rubygems/rubygems] Revert cadb66037d9b58c80fc795f39384d533229a1f73bronzdoc
https://github.com/rubygems/rubygems/commit/5c3158d975
2019-08-05Expand the timeout of `test_pstore_files_are_accessed_as_binary_files`NAKAMURA Usaku
Sometimes causes timeout error on mswin CI
2019-08-05Check if signaledNobuyoshi Nakada
2019-08-05Refined assertion messagesNobuyoshi Nakada
2019-08-05Fixed assertionNobuyoshi Nakada
The regexp should be expected to match the error message.
2019-08-04Extend sleep before sending USR1 in TestProcessTakashi Kokubun
just like 076f3fcf11a061394d3d5f8c671512df1e983023. This test also hanged on Travis osx https://travis-ci.org/ruby/ruby/jobs/567547060
2019-08-04Revert "Skip test_race_exception on MJIT for now"Takashi Kokubun
This reverts commit 7a75baa6e294473f02da512c99f7ef1f76b2d83c. Revert "Defer skip to avoid errors on ensure" This reverts commit adfc8d6dbadbccef27d6ec78022650840c7604cc. because 76e2370f132f83c16c9de39a0a9356579f364527 is hoped to fix the problem.
2019-08-04[ruby/rexml] xpath: add missing value conversions for equality and ↵Kouhei Sutou
relational expressions GitHub: fix #18 Reported by Mirko Budszuhn. Thanks!!! https://github.com/ruby/rexml/commit/0dca2a2ba0
2019-08-04[ruby/rexml] xpath number: fix a bug that false is converted to NaNKouhei Sutou
GitHub: fix #18 It must be 0. Reported by Mirko Budszuhn. Thanks!!! https://github.com/ruby/rexml/commit/b48f3afa3b
2019-08-04[ruby/rexml] xpath local_name: fix a bug that nil is returned for ↵Kouhei Sutou
nonexistent case It must be an empty string. https://github.com/ruby/rexml/commit/81bc7cd4f5
2019-08-04[ruby/rexml] xpath boolean: implementKouhei Sutou
https://github.com/ruby/rexml/commit/feb8ddb1ec
2019-08-04[ruby/rexml] xpath: fix a bug for equality or relational expressionsKouhei Sutou
GitHub: fix #17 There is a bug when they are used against node set. They should return boolean value but they returned node set. Reported by Mirko Budszuhn. Thanks!!! https://github.com/ruby/rexml/commit/a02bf38440
2019-08-04[ruby/rexml] Message less confusing error to human (#16)ujihisa
* Message less confusing error to human * Problem: Following error message is not helpful, because you have to reason that '' actually means it's in the top-level, and the 'div' (not '</div>') is an end tag require "rexml/parsers/lightparser" REXML::Parsers::LightParser.new('</div>').parse #=> Missing end tag for '' (got 'div') * Solution: add a special case in error handling just to change the error message require "rexml/parsers/lightparser" REXML::Parsers::LightParser.new('</div>').parse #=> Unexpected top-level end tag (got 'div') * Refactor by removing unnecessary `md` check * Thanks @a_matsuda to review this at asakusa.rb! https://github.com/ruby/rexml/commit/f6528d4477
2019-08-04[ruby/rexml] test: compare with real elementKouhei Sutou
https://github.com/ruby/rexml/commit/9f2908de2e
2019-08-04[ruby/rexml] Fix crash with nil XPath variables (#13)Alyssa Ross
Patch by Alyssa Ross. Thanks!!! https://github.com/ruby/rexml/commit/2a53c54f58
2019-08-04[ruby/rexml] Fix attribute's default namespace behaviorKouhei Sutou
NOTE: It's a backward incompatible change. If we have any serious problems with this change, we may revert this change. The XML namespace specification says the default namespace doesn't apply to attribute names but it does in REXML without this change: https://www.w3.org/TR/xml-names/#uniqAttrs > the default namespace does not apply to attribute names REXML reports a parse error for the following XML that is described as a valid XML in the XML nsmaspace specification without this change: <!-- http://www.w3.org is bound to n1 and is the default --> <x xmlns:n1="http://www.w3.org" xmlns="http://www.w3.org" > <good a="1" b="2" /> <good a="1" n1:a="2" /> </x> If attribute doesn't have prefix, the attribute should return "" for both #prefix and #namespace. https://github.com/ruby/rexml/commit/9e4fd552bc
2019-08-04[ruby/rexml] xpath: fix a bug that no namespace attribute isn't matched with ↵Kouhei Sutou
prefix [ruby-list:50733] Reported by Yasuhiro KIMURA. Thanks!!! https://github.com/ruby/rexml/commit/8f3c5c176a