summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2019-11-11Fixed embedded document with EOF charNobuyoshi Nakada
2019-11-11Prefer assert_syntax_error and assert_valid_syntaxNobuyoshi Nakada
2019-11-10Fix uplevel of test_jitTakashi Kokubun
2019-11-10qsymbols and symbols should be colored as SymbolTakashi Kokubun
2019-11-10Colorize on_symbols_beg (%I)Takashi Kokubun
2019-11-10Colorize string quotes as boldTakashi Kokubun
like pry
2019-11-10Disallow omission of parentheses/brackets in single line pattern matching ↵Kazuki Tsujimoto
[Feature #16182]
2019-11-09Test opt_invokebuiltin_delegate_leave in test_jitTakashi Kokubun
2019-11-09Support RB_BUILTIN in ISeq#to_aTakashi Kokubun
2019-11-09Test invokebuiltin in test_jitTakashi Kokubun
ISeq#to_a is commented out because it's broken now
2019-11-09Extend sleep duration for SolarisTakashi Kokubun
2019-11-09Remove unneeded exec bits from some filesDavid Rodríguez
I noticed that some files in rubygems were executable, and I could think of no reason why they should be. In general, I think ruby files should never have the executable bit set unless they include a shebang, so I run the following command over the whole repo: ```bash find . -name '*.rb' -type f -executable -exec bash -c 'grep -L "^#!" $1 || chmod -x $1' _ {} \; ``` Notes: Merged: https://github.com/ruby/ruby/pull/2662
2019-11-09Fix typosKazuki Tsujimoto
2019-11-08Fix passing actual object_id to finalizerJohn Hawthorn
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. Notes: Merged: https://github.com/ruby/ruby/pull/2658
2019-11-08Fix typoKazuki Tsujimoto
2019-11-08Define Struct#deconstruct_keysKazuki Tsujimoto
2019-11-08use builtin for TracePoint.Koichi Sasada
Define TracePoint in trace_point.rb and use __builtin_ syntax. Notes: Merged: https://github.com/ruby/ruby/pull/2655
2019-11-07Add a counter for compactionAaron Patterson
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.
2019-11-07Use a monotonically increasing number for object_idJohn Hawthorn
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>
2019-11-07Disallow duplicated pattern variableKazuki Tsujimoto
2019-11-06Revert "Use a monotonically increasing number for object_id"Aaron Patterson
This reverts commit bd2b314a05ae9192b3143e1e678a37c370d8a9ce.
2019-11-06Use a monotonically increasing number for object_idJohn Hawthorn
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> Notes: Merged: https://github.com/ruby/ruby/pull/2638
2019-11-06Numbered parameter is an ID_LOCAL now [Bug #16293]Nobuyoshi Nakada
2019-11-06Numbered parameter cannot appear outside block now [Bug #16293]Nobuyoshi Nakada
2019-11-06Prohibit calling undefined allocator [Bug #16297]Nobuyoshi Nakada
2019-11-06Undefine MatchData.allocate [Feature #16294]Nobuyoshi Nakada
2019-11-05Assert return value of Readline.readline only if Ruby is before 2.7aycabta
2019-11-05Revert "[EXPERIMENTAL] Make Symbol#to_s return a frozen String [Feature #16150]"NARUSE, Yui
This reverts commit 6ffc045a817fbdf04a6945d3c260b55b0fa1fd1e.
2019-11-04[ruby/racc] Strip trailing whitespaces at the last line of actionsNobuyoshi Nakada
https://github.com/ruby/racc/commit/a887ebe529
2019-11-03Added assertions for linebreakNobuyoshi Nakada
2019-11-03Revert nil error and adding deprecation messageKenichi Kamiya
Notes: Merged: https://github.com/ruby/ruby/pull/2637
2019-11-01[ruby/date] Add more timezone abbreviationsJeremy Evans
This gets the time zone abbreviations from https://www.timeanddate.com/time/zones/, and adds unambiguous time zones not already present in zonetab.list. See bin/update-abbr for the program used. This regenerates zonetab.h using prereq.mk (requires gperf). Only one test line is added, just to make sure a new time zone abbreviation is picked up. Fixes Ruby Bug 16286 https://github.com/ruby/date/commit/702e8b3033
2019-10-31[ruby/zlib] Fix setting mtime to zero in GzipWriterAlan Wu
Before this change, it was not possible to write out zero for the timestamp part of a Gzip file's header, as calling GzipWriter#mtime with zero was ignored. Judging from the docs for `GzipWriter#mtime=`, it should be possible to indicate that no timestamp is available by calling the method with zero. https://github.com/ruby/zlib/commit/310be39cac
2019-10-31[ruby/stringio] Remove taint supportJeremy Evans
Ruby 2.7 deprecates taint and it no longer has an effect. The lack of taint support should not cause a problem in previous Ruby versions. https://github.com/ruby/stringio/commit/60ee9ccd95
2019-10-31[ruby/date] Revert "Simplify #inspect"Jeremy Evans
This reverts commit af01edd7d8575f544f647dbe8cde5b6ae535d459. Revert requested by Yui Naruse. https://github.com/ruby/date/commit/875d563557
2019-10-31[ruby/date] introduce Date::Error, raise Date::Error for everyglaszig
"invalid <anything>" type of exception https://github.com/ruby/date/commit/3e55c09ba4
2019-10-31[ruby/zlib] Remove taint supportJeremy Evans
Ruby 2.7 deprecates taint and it no longer has an effect. The lack of taint support should not cause a problem in previous Ruby versions. https://github.com/ruby/zlib/commit/21711ed0ce
2019-10-31Also ignore mswin platformHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/2635
2019-10-31Ignore test_racc_command with linux platformHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/2635
2019-10-31Try to run assert_output_unchanged with racc testsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/2635
2019-10-31Allow only one argument for keyword_init structAlan Wu
``` 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`. Notes: Merged: https://github.com/ruby/ruby/pull/2634
2019-10-30Regenerate the output results for test fixtures of raccHiroshi SHIBATA
2019-10-29Fix tests for CVE-2018-6914Nobuyoshi Nakada
Since the current working directory is not involved in `Tempfile` and `Dir.mktmpdir` (except for the last resort), it is incorrect to derive the traversal path from it. Also, since the rubyspec temporary directory is created under the build directory, this is not involved in the target method. Fixed sporadic errors in test-spec.
2019-10-29test/rubygems/test_gem.rb: early failure when there is /tmp/GemfileYusuke Endoh
Some test cases in rubygems assume that /tmp/Gemfile does not exist. If it does, they fail with very difficult-to-understand message: ``` [ 149/2108] TestGemBundlerVersionFinder#test_bundler_version_with_bundle_update_bundler = 0.00 1) Failure: TestGemBundlerVersionFinder#test_bundler_version_with_bundle_update_bundler [/home/mame/work/ruby/test/rubygems/test_gem_bundler_version_finder.rb:38]: Expected Gem::Version.new("2.0.2") to be nil. ``` I spent one hour to debug this issue. To prevent the same accident, this change makes the test suite stop when /tmp/Gemfile explicitly.
2019-10-29Revert "Revert "[ruby/rdoc] Use omit of test-unit instead of skip of minitest""Yusuke Endoh
This reverts commit ca5812fe4516a10cc687281f9e47e1a08449f1ab. Now tool/lib/minitest provides "omit", so it should work.
2019-10-29Revert "[ruby/rdoc] Use omit of test-unit instead of skip of minitest"Yusuke Endoh
This reverts commit b4da6fc1c277190bbd10e795ebf3be45772038e8. `make test-all` uses minitest, which led to "undefined method `omit'"
2019-10-29[ruby/rdoc] Use Dir.glob to convert short path of Dir.tmpdir to long pathaycabta
https://github.com/ruby/rdoc/commit/ba16e44572
2019-10-29[ruby/rdoc] Support different drive latters in include pathsaycabta
https://github.com/ruby/rdoc/commit/946d2592e2
2019-10-29[ruby/rdoc] Use omit of test-unit instead of skip of minitestaycabta
https://github.com/ruby/rdoc/commit/1c5bf2ae1d
2019-10-29Restore `in_kwarg` flag properlyNobuyoshi Nakada