summaryrefslogtreecommitdiff
path: root/test/ruby
AgeCommit message (Collapse)Author
2019-06-11assert_cpu_usage_low with timeout scaleNobuyoshi Nakada
* test/lib/test/unit/assertions.rb (assert_cpu_usage_low): apply the timeout scale to measuring period. this assertion is very runtime environment dependent.
2019-06-11Refined syntax error messagesNobuyoshi Nakada
2019-06-11&. is not allowed inside LHS of massignNobuyoshi Nakada
https://hackerone.com/reports/605262
2019-06-09Split test_strip_bom for each encodingNobuyoshi Nakada
2019-06-09Add tests of the encoding with BOMNobuyoshi Nakada
2019-06-07compile.c: Partially revert r63870 which caused wrong optimizationYusuke Endoh
[Bug #15906]
2019-06-05error.c: avoid infinite recursion at inspecting the frozen objectNobuyoshi Nakada
2019-06-05Test for f1f04caf60e4fc9dc3b12109e0be831f2d692810Nobuyoshi Nakada
2019-06-04Include inspect value of object in FrozenError messagesJeremy Evans
FrozenError#receiver was added recently for getting the related object programmatically. However, there are cases where FrozenError is raised and not handled, and in those cases the resulting error messages lack detail, which makes debugging the error more difficult, especially in cases where the error is not easily reproducible. This includes the inspect value of the frozen object in FrozenError messages, which should make debugging simpler.
2019-06-03Fix the error token on "invalid hex escape"Nobuyoshi Nakada
* parse.y (tok_hex): flush token after dispatching the "invalid hex escape" parse error.
2019-06-02Make size on an infinite each_slice enumerator return InfinityJeremy Evans
Fixes [Bug #15889]
2019-06-01Update String#crypt tests to work on OpenBSDJeremy Evans
Skip the webrick httpauth tests that use crypt when testing on OpenBSD. Fixes [Bug #11363]
2019-06-01Ignore warnings about mismatched indentations.Hiroshi SHIBATA
2019-06-01Ignore warnings about argument prefix with operator symbol.Hiroshi SHIBATA
2019-06-01Ignore warnings about ambiguous first argument of regexp with assert match.Hiroshi SHIBATA
2019-06-01Fix FrozenError when assigning frozen class to constantNobuyoshi Nakada
* variable.c (set_namespace_path): modules/classes can get named by assignment to constant, even if frozen. [Bug #15891]
2019-05-31Keep vm->orig_progname aliveAlan Wu
`vm->orig_progname` can be different from `vm->progname` when user code assigns to `$0`. While `vm->progname` is kept alive by the global table, nothing marked `vm->orig_progname`. [Bug #15887]
2019-05-30parse.y: continue after heredoc errorNobuyoshi Nakada
* parse.y: continue parsing the rest of the here-document starting line, after the terminator was not found.
2019-05-29parse.y: warn escaped whitespaceNobuyoshi Nakada
* parse.y (warn_space_char_code): warn whitespace characters escaped with meta/control prefix.
2019-05-28parse.y: numbered parameter symbolNobuyoshi Nakada
* parse.y (parse_atmark): numbered parameter name is not allowed as a symbol regardless the context.
2019-05-26Add FrozenError#receiverJeremy Evans
Similar to NameError#receiver, this returns the object on which the modification was attempted. This is useful as it can pinpoint exactly what is frozen. In many cases when a FrozenError is raised, you cannot determine from the context which object is frozen that you attempted to modify. Users of the current rb_error_frozen C function will have to switch to using rb_error_frozen_object or the new rb_frozen_error_raise in order to set the receiver of the FrozenError. To allow the receiver to be set from Ruby, support an optional second argument to FrozenError#initialize. Implements [Feature #15751]
2019-05-27parse.y: broke the terminator condition downNobuyoshi Nakada
* parse.y (here_document): broke the terminator condition down into each piece, the positional condition, resetting the dedented here-document indentation, and matching identifier. suppress a false warning by icc.
2019-05-26parse.y: adjust error indicatorNobuyoshi Nakada
* parse.y (parser_yylex): adjust the error indicator of unexpected fraction part. before: ~~~ 1.2.3 ^~~ ~~~ after: ~~~ 1.2.3 ^~ ~~~
2019-05-26test/ruby/test_notimp.rb: Use EnvUtil.timeout for timeout scale factorNobuyoshi Nakada
2019-05-26test/ruby/test_process.rb: Use EnvUtil.timeout for timeout scale factorYusuke Endoh
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11s-sunc/ruby-master/log/20190526T052508Z.fail.html.gz
2019-05-26test/lib/envutil.rb (EnvUtil.timeout): added.Yusuke Endoh
It is a wrapper for Timeout.timeout with the scale factor applied.
2019-05-26Fix scanner event at invalid syntaxNobuyoshi Nakada
* parse.y (parser_yyerror, parser_compile_error): revert r67224 (e5d10cda07b23682e5e4e64d1324e4d3247d4785) "Flush erred token".
2019-05-26test/ruby/test_rubyoptions.rb (test_script_from_stdin): scale timeoutYusuke Endoh
for Solaris. https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10s/ruby-master/log/20190525T131909Z.fail.html.gz
2019-05-25Avoid to show warning message with unused variable.Hiroshi SHIBATA
2019-05-24Mixed encoding error can continue to parseNobuyoshi Nakada
2019-05-24test/ruby/test_gc.rb (test_gc_stress_at_startup): extend time timeoutYusuke Endoh
It fails on some CI environments. https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian8/ruby-trunk/log/20190524T003006Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20190523T002505Z.fail.html.gz
2019-05-23Test GC.compact with MJIT againTakashi Kokubun
2019-05-23Add `Time#ceil`.manga_osyo
Closes: https://github.com/ruby/ruby/pull/2133
2019-05-23Adding Enumerable#filter_mapAlfonso Jiménez
[Feature #15323] Closes: https://github.com/ruby/ruby/pull/2017
2019-05-22Fix mixed encoding in heredocJeremy Evans
Heredocs are parsed line-by-line, so we need to keep track of the temporary encoding of the string. Previously, a heredoc would only detect mixed encoding errors if they were on the same line, this changes things so they will be caught on different lines. Fixes [Bug #15839]
2019-05-23Do not kick finalizers on rb_gc().Koichi Sasada
rb_gc() kicks gc_finalize_deferred(), which invokes finalizers. This means that any Ruby program can be run this point and it may be thread switching points and so on. However, it is difficult to think it invokes any Ruby programs. For example, `GC.compact` use `rb_gc()` to implement it, howver, any Ruby program must not be run on this timing. For this reason (it is difficult to image it run any Ruby program), I removed `gc_finalize_deferred()` line in rb_gc(). This patch solves GC.compact issue. [Bug #15809] and re-enable GC.compact test.
2019-05-23range.c (inspect_range): omit beginless "nil"Yusuke Endoh
except the special case `(nil..nil)`. ``` (1..).inspect #=> "1.." (..5).inspect #=> "..5" (nil..nil).inspect #=> "nil..nil" ``` [Bug #15745]
2019-05-23hash.c (rb_hash_s_create): Reject `Hash[[nil]]`Yusuke Endoh
The behavior of `Hash[[nil]] #=> {}` was a bug until 1.9.3, but had been remained with a warning because some programs depended upon it. Now, six years passed. We can remove the compatibility behavior. [Bug #7300]
2019-05-21re-skip tests of GC.compact.Koichi Sasada
2019-05-21enable test for GC.compact to reproduce an issue on CIKoichi Sasada
2019-05-21Do not modify shared arrayNobuyoshi Nakada
[Bug #15821]
2019-05-21Simplified the guard against old versionsNobuyoshi Nakada
2019-05-18skip a test to pass CIs.Koichi Sasada
I'm debugging [Bug #15821] but my patch introduces another issue. So I simply skip this test and re-enable it later.
2019-05-18Add test for UNTILNobuyoshi Nakada
2019-05-18Distinguish pre-condition and post-condition loopsNobuyoshi Nakada
2019-05-17skip tests for GC.compact to pass CI.Koichi Sasada
Now, GC.compact has issues which makes rubyci RED, so I skip this test and debug soon.
2019-05-17Test to disable ASCII-only optimizationNobuyoshi Nakada
Examples why ASCII-only optimization cannot apply multi-byte encodings which have 7-bit trailing bytes. Suggested by @duerst at https://github.com/ruby/ruby/pull/2187#issuecomment-492949218
2019-05-14Add object packing strategies for compactionAaron Patterson
This commit adds an alternative packing strategy for compaction. Instead of packing towards "most pinned" pages, we can pack towards "most empty" pages. The idea is that we can double the heap size, then pack all objects towards the empty side of the heap. This will ensure maximum chaos for testing / verification.
2019-05-07Avoid triggering autoload in Module#const_defined?(String)Jean Boussier
[Bug #15780]
2019-05-05Fix use of numbered parameter inside proc that is default value of optargJeremy Evans
This allows cases such as: ```ruby m ->(a = ->{@1}) {a} m.call.call(1) m2 ->(a: ->{@1}) {a} m2.call.call(2) ``` Previously, this would cause a syntax error. [Bug#15789]