aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby
Commit message (Collapse)AuthorAgeFilesLines
* Skip test_validate_gemspec unless git installedKazuhiro NISHIYAMA2019-11-111-0/+1
|
* Revert "Warn EOF char in comment"NARUSE, Yui2019-11-112-15/+0
| | | | This reverts commit 69ec3f70fab0c1c537c68fb135cc315181b1d750.
* Revert "Elaborated EOF char message a little"NARUSE, Yui2019-11-112-4/+4
| | | | This reverts commit 6eaac7cfac668d6669be694fd7b723c4982ed218.
* Elaborated EOF char message a littleNobuyoshi Nakada2019-11-112-4/+4
|
* Warn EOF char in commentNobuyoshi Nakada2019-11-112-0/+15
|
* Fixed embedded document with EOF charNobuyoshi Nakada2019-11-111-0/+9
|
* Prefer assert_syntax_error and assert_valid_syntaxNobuyoshi Nakada2019-11-112-268/+143
|
* Fix uplevel of test_jitTakashi Kokubun2019-11-101-3/+3
|
* Disallow omission of parentheses/brackets in single line pattern matching ↵Kazuki Tsujimoto2019-11-101-1/+7
| | | | [Feature #16182]
* Test opt_invokebuiltin_delegate_leave in test_jitTakashi Kokubun2019-11-091-0/+9
|
* Support RB_BUILTIN in ISeq#to_aTakashi Kokubun2019-11-092-2/+9
|
* Test invokebuiltin in test_jitTakashi Kokubun2019-11-091-5/+15
| | | | ISeq#to_a is commented out because it's broken now
* Extend sleep duration for SolarisTakashi Kokubun2019-11-091-1/+1
|
* Fix passing actual object_id to finalizerJohn Hawthorn2019-11-081-0/+8
| | | | | | | | | | Previously we were passing the memory_id. This was broken previously if compaction was run (which changes the memory_id) and now that object_id is a monotonically increasing number it was always broken. This commit fixes this by defering removal from the object_id table until finalizers have run (for objects with finalizers) and also copying the SEEN_OBJ_ID flag onto the zombie objects.
* Fix typoKazuki Tsujimoto2019-11-081-1/+1
|
* Define Struct#deconstruct_keysKazuki Tsujimoto2019-11-082-0/+36
|
* use builtin for TracePoint.Koichi Sasada2019-11-081-37/+101
| | | | Define TracePoint in trace_point.rb and use __builtin_ syntax.
* Add a counter for compactionAaron Patterson2019-11-071-0/+6
| | | | | Keep track of the number of times the compactor ran. I would like to use this as a way to keep track of inline cache reference updates.
* Use a monotonically increasing number for object_idJohn Hawthorn2019-11-072-90/+8
| | | | | | | | | | | | | | | | | This changes object_id from being based on the objects location in memory (or a nearby memory location in the case of a conflict) to be based on an always increasing number. This number is a Ruby Integer which allows it to overflow the size of a pointer without issue (very unlikely to happen in real programs especially on 64-bit, but a nice guarantee). This changes obj_to_id_tbl and id_to_obj_tbl to both be maps of Ruby objects to Ruby objects (previously they were Ruby object to C integer) which simplifies updating them after compaction as we can run them through gc_update_table_refs. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
* Disallow duplicated pattern variableKazuki Tsujimoto2019-11-071-8/+59
|
* Revert "Use a monotonically increasing number for object_id"Aaron Patterson2019-11-062-8/+90
| | | | This reverts commit bd2b314a05ae9192b3143e1e678a37c370d8a9ce.
* Use a monotonically increasing number for object_idJohn Hawthorn2019-11-062-90/+8
| | | | | | | | | | | | | | | | | This changes object_id from being based on the objects location in memory (or a nearby memory location in the case of a conflict) to be based on an always increasing number. This number is a Ruby Integer which allows it to overflow the size of a pointer without issue (very unlikely to happen in real programs especially on 64-bit, but a nice guarantee). This changes obj_to_id_tbl and id_to_obj_tbl to both be maps of Ruby objects to Ruby objects (previously they were Ruby object to C integer) which simplifies updating them after compaction as we can run them through gc_update_table_refs. Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
* Numbered parameter is an ID_LOCAL now [Bug #16293]Nobuyoshi Nakada2019-11-061-0/+1
|
* Numbered parameter cannot appear outside block now [Bug #16293]Nobuyoshi Nakada2019-11-061-0/+3
|
* Prohibit calling undefined allocator [Bug #16297]Nobuyoshi Nakada2019-11-061-0/+8
|
* Undefine MatchData.allocate [Feature #16294]Nobuyoshi Nakada2019-11-061-0/+5
|
* Added assertions for linebreakNobuyoshi Nakada2019-11-031-0/+5
|
* Revert nil error and adding deprecation messageKenichi Kamiya2019-11-031-2/+2
|
* Allow only one argument for keyword_init structAlan Wu2019-10-311-0/+1
| | | | | | | | | | | | | | | ``` irb(main):001:0> RUBY_VERSION => "2.6.5" irb(main):002:0> S = Struct.new(:foo, keyword_init: true) => S(keyword_init: true) irb(main):003:0> S.new({foo: 23424}, 234) # I don't think this is intentional => #<struct S foo=23424> irb(main):004:0> ``` Tightening this up should inform users when they are confused about whether a struct is `keyword_init`.
* Restore `in_kwarg` flag properlyNobuyoshi Nakada2019-10-291-0/+1
|
* fix bug in keyword + protected combination卜部昌平2019-10-281-0/+16
| | | | Test included for the situation formerly was not working.
* Raise on end-exclusive ranges [Feature #14784]Nobuyoshi Nakada2019-10-261-6/+6
| | | | | Raises an error on end-exclusive ranges unless endless, regardless the receiver.
* Fixed range argument condition [Feature #14784]Nobuyoshi Nakada2019-10-251-7/+14
| | | | | Allows a beginless/endless range, and an end-exclusive range unless the receiver is smaller than its end.
* skip tests that do not work on GC.stress卜部昌平2019-10-251-0/+9
| | | | | These tests rely on GC.stat and GC.last_gc_info, which are not stable when GC.stress is true. Skip them for that case.
* Handle case where ruby2_keywords method splats to ruby2_keywords methodJeremy Evans2019-10-241-0/+26
| | | | | | Previously, the keyword hash was duped (which results in a regular hash), but the dup was not marked as a keyword hash, causing the hash not to be marked as keyword hash even though it should be.
* retry tailcall optimization (#2529)wanabe2019-10-251-0/+15
| | | Sorry, f62f90367fc3bce6714e7c34cbd040e14e43fe07 is push miss.
* Duplicate hash when converting keyword hash to keywordsJeremy Evans2019-10-241-0/+8
| | | | | | | This mirrors the behavior when manually splatting a hash. This mirrors the changes made in setup_parameters_complex in 6081ddd6e6f2297862b3c7e898d28a76b8f9240b, so that splatting to a non-iseq method works the same as splatting to an iseq method.
* Define arguments forwarding as `ruby2_keywords` styleNobuyoshi Nakada2019-10-251-4/+14
| | | | | | | | | | | | Get rid of these redundant and useless warnings. ``` $ ruby -e 'def bar(a) a; end; def foo(...) bar(...) end; foo({})' -e:1: warning: The last argument is used as the keyword parameter -e:1: warning: for `foo' defined here -e:1: warning: The keyword argument is passed as the last hash parameter -e:1: warning: for `bar' defined here ```
* Assert no-kwrest caseNobuyoshi Nakada2019-10-251-1/+16
|
* Assert no-block caseNobuyoshi Nakada2019-10-251-2/+11
|
* Set method locationsNobuyoshi Nakada2019-10-251-2/+2
|
* Arguments forwarding is not allowed in lambda [Feature #16253]Nobuyoshi Nakada2019-10-251-0/+2
|
* Revert "Fix Fiber#transfer"Koichi Sasada2019-10-241-4/+6
| | | | | | This reverts commit fa8ac91e957a076f6df1adaecad7896817138009. Previous behavior is intentional.
* Use dedicated assertion methods for warning and syntax errorNobuyoshi Nakada2019-10-231-23/+15
|
* test/ruby/test_exception typo fixMSP-Greg2019-10-221-1/+1
|
* Fix Fiber#transferJeremy Evans2019-10-211-6/+4
| | | | | | | | | | | | | Fiber#transfer previously made it impossible to resume the fiber if it was transferred to (no resuming the target of Fiber#transfer). However, the documentation specifies that you cannot resume a fiber that has transferred to another fiber (no resuming the source of Fiber#transfer), unless control is transferred back. Fix the code by setting the transferred flag on the current/source fiber, and unsetting the transferred flag on the target fiber. Fixes [Bug #9664] Fixes [Bug #12555]
* Arguments forwarding [Feature #16253]Nobuyoshi Nakada2019-10-221-0/+40
|
* bignum.c (estimate_initial_sqrt): prevent integer overflowYusuke Endoh2019-10-211-0/+3
| | | | | `Integer.sqrt(0xffff_ffff_ffff_ffff ** 2)` caused assertion failure because of integer overflow. [ruby-core:95453] [Bug #16269]
* Pass the called keyword arguments if `keyword_init`Nobuyoshi Nakada2019-10-211-0/+4
|
* DidYouMean can be an empty stub module [Bug #16263]Nobuyoshi Nakada2019-10-211-1/+1
|