summaryrefslogtreecommitdiff
path: root/test/ruby
AgeCommit message (Collapse)Author
2020-02-04Add the loaded feature after no exception raisedNobuyoshi Nakada
Retrying after rescued `require` should try to load the same library again. [Bug #16607] Notes: Merged: https://github.com/ruby/ruby/pull/2879
2020-02-04Do not warn CR inside string literalNobuyoshi Nakada
2020-02-04Fix inaccuracy in encoding testsLars Kanis
These tests assume Encoding.find('locale') == Encoding.find('external') and fail if they are distinct.
2020-02-03Check type of empty keyword [Bug #16603]Seiei Miyagi
Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/2874
2020-01-29skip SEGV (BUG) tests if ENV['RUBY_ON_BUG'] is given.Koichi Sasada
This environment variable can show additional message on BUG.
2020-01-29support multi-run for test/ruby/enc/test_regex_casefold.rbKoichi Sasada
should not mutate test data.
2020-01-29fix test cleanup.Koichi Sasada
should remove pathname.
2020-01-29Revert "srand() should not run in tests."Koichi Sasada
This reverts commit 4d132fa130e16eeb4af4177cfaccc00e05e2f864. There are discussions about using srand() in tests. I'll write a ticket about it and continue to discuss.
2020-01-29Revert "remove debug code."Koichi Sasada
This reverts commit 65768c80beb64a14c3e918f8ed5e41e9349025d0.
2020-01-29restore $LOADED_FEATURES.Koichi Sasada
Dir.tmpdir can return same directory because of rand() value, so we shouldn't rely on different name.
2020-01-29refactoring: use Proc and Constant.Koichi Sasada
2020-01-29ruby_reset_timezone resets leap_second_info.Tanaka Akira
[Bug #15177]
2020-01-28remove debug code.Koichi Sasada
2020-01-28srand() should not run in tests.Koichi Sasada
test_rand.rb calls srand() several times, however it change global rand-sequence (and --seeds doesn't have meaning). This patch makes such tests run in other processes. Notes: Merged: https://github.com/ruby/ruby/pull/2865
2020-01-28use Minitest::Unit.current_repeat_count to skip multi-run.Koichi Sasada
2020-01-28support multi-run for test/ruby/test_time.rbKoichi Sasada
ruby/test_time_tz.rb (not sure only this file affects) changes TZ and it seems to change internal state. This internal state change fails test_2038 and test_timegm on 2nd time execution. At this time I have no idea how to fix this issue, so I skips these tests on 2nd trial. You can try this failure with the following command without this patch. $ make test-all TESTS='--repeat-count=2 ruby/require ruby/time ruby/time_tz'
2020-01-28support multi-run for test/ruby/test_autoload.rbKoichi Sasada
Another test defines Object::A, but it will fail 2nd test.
2020-01-28support multi-run for test/ruby/test_struct.rbKoichi Sasada
Remove Structs to avoid redefinition warnings.
2020-01-28support multi-run for test/ruby/test_settracefunc.rbKoichi Sasada
need to remove Constants.
2020-01-28support multi-run for test/ruby/test_primitive.rbKoichi Sasada
need to redefine some classes.
2020-01-28support multi-run for test/ruby/test_refinement.rbKoichi Sasada
Give up to support multi-run: * test_method_should_use_refinements * test_instance_method_should_use_refinements I hope someone can revisit it.
2020-01-28support multi-run for test/ruby/test_proc.rbKoichi Sasada
Mysterious error: `remove_method(:foo) if method_defined?(:foo)` raise an exception `method `foo' not defined in #<Class:#<TestProc:0x000055d12ff154e0>>` This patch rename the method name foo to foo_arity to solve it.
2020-01-28support multi-run for test/ruby/test_module.rbKoichi Sasada
add cleanup code in some tests.
2020-01-28support multi-run for test/ruby/test_method.rbKoichi Sasada
need to restore a method.
2020-01-28support multi-run for test/ruby/test_marshal.rbKoichi Sasada
need to remove Constants.
2020-01-28support multi-run for test/ruby/test_iseq.rbKoichi Sasada
need to remove a Constant.
2020-01-28support multi-run for test/ruby/test_eval.rbKoichi Sasada
need to remove a Constant.
2020-01-28support multi-run for test/ruby/test_encoding.rbKoichi Sasada
Unique encoding name is required.
2020-01-28support multi-run for ruby/test_const.rbKoichi Sasada
need to redef Constants.
2020-01-28support multi-run for ruby/test_basicinstructions.rbKoichi Sasada
cvar should be initialized at first.
2020-01-28support multi-run for ruby/test_autoload.rbKoichi Sasada
It requires more cleanup.
2020-01-28support multiple run for test/ruby/test_array.Koichi Sasada
test-all supports multiple run with option --repeat-count=2 but test_equal_resize doesn't support it.
2020-01-27Check the encoding of `half:` optionNobuyoshi Nakada
2020-01-27Moved `GC.verify_compaction_references` to gc.rbNobuyoshi Nakada
And fixed a segfault by coercion of `Qundef`, when any keyword argument without `toward:` option is given.
2020-01-25Recheck array length after `to_str` conversionNobuyoshi Nakada
https://hackerone.com/reports/244787
2020-01-25Recheck elements type after `to_str` conversionNobuyoshi Nakada
https://hackerone.com/reports/244786
2020-01-24Do not autosplat when calling proc with empty keyword splatJeremy Evans
With the removal of the splatted argument when using an empty keyword splat, the autosplat code considered an empty keyword splat the same as no argument at all. However, that results in autosplat behavior changing dependent on the content of the splatted hash, which is not what anyone would expect or want. This change always skips an autosplat if keywords were provided. Fixes [Bug #16560] Notes: Merged: https://github.com/ruby/ruby/pull/2861
2020-01-24brace the fact that lchmod(2) can EOPNOTSUPP卜部昌平
Musl libc has this function as a tiny wrapper of fchmodat(3posix). On the other hand Linux kernel does not support changing modes of a symlink. The operation always fails with EOPNOTSUPP. This fchmodat behaviour is defined in POSIX. We have to take care of such exceptions.
2020-01-24reroute musl unistd.h weirdness卜部昌平
Musl is (of course) not glibc. Its confstr(3) does not understand _CS_GNU_LIBC_VERSION. That's fair. Problem is, its unistd.h has that constant defined for unknown reason. We cannot blindly say the libc is glibc by looking at it. Instead we have to kick it, then see if it quacks like a duck. See https://git.musl-libc.org/cgit/musl/tree/include/unistd.h
2020-01-23Remove empty keyword splats when calling even when using ruby2_keywordsJeremy Evans
Keeping empty keyword splats for ruby2_keywords methods was necessary in 2.7 to prevent the final positional hash being treated as keywords. Now that keyword argument separation has been committed, the final positional hash is never treated as keywords, so there is no need to keep empty keyword splats when using ruby2_keywords. Notes: Merged: https://github.com/ruby/ruby/pull/2857
2020-01-19Sort globbed results by default [Feature #8709]Nobuyoshi Nakada
Sort the results which matched single wildcard or character set in binary ascending order, unless `sort: false` is given. The order of an Array of pattern strings and braces are not affected. Notes: Merged: https://github.com/ruby/ruby/pull/2846
2020-01-19Fix typo s/test_ruby2_keywords_hash!/test_ruby2_keywords_hash/Ryuta Kamizono
In #2818, `Hash.ruby2_keywords!` has renamed to `Hash.ruby2_keywords_hash`. Notes: Merged: https://github.com/ruby/ruby/pull/2849
2020-01-18Removed useless sorts of lists generated from literalsNobuyoshi Nakada
2020-01-17hash.c: Add a feature to manipulate ruby2_keywords flagYusuke Endoh
It was found that a feature to check and add ruby2_keywords flag to an existing Hash is needed when arguments are serialized and deserialized. It is possible to do the same without explicit APIs, but it would be good to provide them as a core feature. https://github.com/rails/rails/pull/38105#discussion_r361863767 Hash.ruby2_keywords_hash?(hash) checks if hash is flagged or not. Hash.ruby2_keywords_hash(hash) returns a duplicated hash that has a ruby2_keywords flag, [Bug #16486] Notes: Merged: https://github.com/ruby/ruby/pull/2818
2020-01-17marshal.c: Support dump and load of a Hash with the ruby2_keywords flagYusuke Endoh
It is useful for a program that dumps and load arguments (like drb). In future, they should deal with both positional arguments and keyword ones explicitly, but until ruby2_keywords is deprecated, it is good to support the flag in marshal. The implementation is similar to String's encoding; it is dumped as a hidden instance variable. [Feature #16501] Notes: Merged: https://github.com/ruby/ruby/pull/2830
2020-01-17Added test for f38b3e8c707ebdcad05aa9485cf1760640b74fbbNobuyoshi Nakada
2020-01-16Separate numbered parameter scope in evalNobuyoshi Nakada
[Feature #16432]
2020-01-16Fixed the location of args node with numbered parameterNobuyoshi Nakada
2020-01-16Fix `String#partition`Nobuyoshi Nakada
Split with the matched part when the separator matches the empty part at the beginning. [Bug #11014]
2020-01-16`Regexp` in `MatchData` can be `nil`Nobuyoshi Nakada
`String#sub` with a string pattern defers creating a `Regexp` until `MatchData#regexp` creates a `Regexp` from the matched string. `Regexp#last_match(group_name)` accessed its content without creating the `Regexp` though. [Bug #16508]