2193 Commits
Author SHA1 Message Date
Nobuyoshi Nakada e85273c565 tool/leaked-globals: ignore function typedef [ci skip] 2024-04-15 14:05:57 +09:00
Nobuyoshi Nakada f95abc3cec Canonicalization functions were removed already
At b958e2add8
2024-04-15 14:05:57 +09:00
Nobuyoshi Nakada 682d7e3194 Ignore symbols declared in the platform header 2024-04-15 14:05:57 +09:00
Nobuyoshi Nakada 3fdc8e904b Ignore objects from the "missing" directory 2024-04-15 14:05:57 +09:00
Nobuyoshi Nakada 10b30c7d12 Get rid of \K for old BASERUBYs which have a bug in String#scan 2024-04-15 14:05:57 +09:00
Nobuyoshi Nakada 984ff9c6d6 Exclude entry points 2024-04-15 14:05:57 +09:00
Nobuyoshi Nakada cbe3a9160e Support AC_FUNC_MEMCMP 2024-04-15 14:05:57 +09:00
Hiroshi SHIBATA 78d118dcf7 Fix test-bundled-gems for Ruby 3.0 (#7936)
* pry is not needed for test-bundled-gems

* Run test-unit test without rake task to avoid yard dependency

* Use power_assert-1.2.1 to avoid pry dependency
2023-06-15 17:38:17 +00:00
Hiroshi SHIBATA 2d99ef4f74 Merge URI-0.10.2 for Ruby 3.0 (#7607)
* Merge URI-0.10.2

* Merge URI-0.10.0.2 for bundler

* Added assert_linear_performance for URI tests
2023-03-29 05:54:14 +00:00
Hiroshi SHIBATAandYuta Saito 7900a9bd38 Backport https://github.com/ruby/ruby/pull/6193
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com>
2022-09-16 15:12:47 +09:00
Hiroshi SHIBATA cdec8a29c5 Merge Bundler-2.2.33 2022-04-12 14:07:25 +09:00
nagachika 1d29740c1b merge revision(s) 5086c25f6015558877f85c3f1c014780b08fd3ce,3ff0a0b40c2e1fbdad2286f1dafe837f822d0e0d: [Backport #16936]
Properly exclude test cases.

	Lets consider the following scenario:

	~~~
	irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):001:0> p suite
	OpenSSL::TestEC
	=> OpenSSL::TestEC

	irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):002:0> p all_test_methods
	["test_ECPrivateKey", "test_ECPrivateKey_encrypted", "test_PUBKEY", "test_check_key", "test_derive_key", "test_dh_compute_key", "test_dsa_sign_asn1_FIPS186_3", "test_ec_group", "test_ec_key", "test_ec_point", "test_ec_point_add", "test_ec_point_mul", "test_generate", "test_marshal", "test_sign_verify", "test_sign_verify_raw"]
	=>
	["test_ECPrivateKey",
	 "test_ECPrivateKey_encrypted",
	 "test_PUBKEY",
	 "test_check_key",
	 "test_derive_key",
	 "test_dh_compute_key",
	 "test_dsa_sign_asn1_FIPS186_3",
	 "test_ec_group",
	 "test_ec_key",
	 "test_ec_point",
	 "test_ec_point_add",
	 "test_ec_point_mul",
	 "test_generate",
	 "test_marshal",
	 "test_sign_verify",
	 "test_sign_verify_raw"]

	irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):003:0> p filter
	/\A(?=.*)(?!.*(?-mix:(?-mix:memory_leak)|(?-mix:OpenSSL::TestEC.test_check_key)))/
	=> /\A(?=.*)(?!.*(?-mix:(?-mix:memory_leak)|(?-mix:OpenSSL::TestEC.test_check_key)))/

	irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):004:0> method = "test_check_key"
	=> "test_check_key"
	~~~

	The intention here is to exclude the `test_check_key` test case.
	Unfortunately this does not work as expected, because the negative filter
	is never checked:

	~~~
	irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):005:0> filter === method
	=> true

	irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):006:0> filter === "#{suite}##{method}"
	=> false

	irb(#<Test::Unit::AutoRunner::Runner:0x0000560f68afc3c8>):007:0> filter === method || filter === "#{suite}##{method}"
	=> true
	~~~

	Therefore always filter against the fully qualified method name
	`#{suite}##{method}`, which should provide the expected result.

	However, if plain string filter is used, keep checking also only the
	method name.

	This resolves [Bug #16936].
	---
	 tool/lib/test/unit.rb | 12 +++++++++---
	 1 file changed, 9 insertions(+), 3 deletions(-)

	Filter method names only if filtering method name only

	If sole `filter` option doesn't seem including test case name,
	match with method name only.
	And if the filter is a Regexp or String, it never matches method
	name symbols.
	---
	 tool/lib/test/unit.rb | 15 ++++++---------
	 1 file changed, 6 insertions(+), 9 deletions(-)
2021-12-24 14:41:08 +09:00
Hiroshi SHIBATA c2125240cc Merge RubyGems-3.2.32 and Bundler-2.2.32 2021-11-24 19:46:22 +09:00
Hiroshi SHIBATA b19b2e9867 Merge RubyGems 3.2.31 and Bundler 2.2.31 2021-11-22 10:51:35 +09:00
Hiroshi SHIBATA e27381d289 Merge RubyGems 3.2.30 and Bundler 2.2.30 2021-11-22 10:51:35 +09:00
Hiroshi SHIBATA e262272b6a Merge RubyGems 3.2.29 and Bundler 2.2.29 2021-11-22 10:51:35 +09:00
Hiroshi SHIBATA 24f911f474 Merge RubyGems 3.2.28 and Bundler 2.2.28 2021-11-22 10:51:35 +09:00
Hiroshi SHIBATA 31a7104852 Merge RubyGems 3.2.27 and Bundler 2.2.27 2021-11-22 10:51:35 +09:00
Hiroshi SHIBATA 37f824377f Merge RubyGems 3.2.26 and Bundler 2.2.26 2021-08-19 15:46:40 +09:00
Hiroshi SHIBATA 41a2863780 Merge RubyGems 3.2.25 and Bundler 2.2.25 2021-08-19 15:46:40 +09:00
Hiroshi SHIBATA 679185d6c8 Merge RubyGems 3.2.24 and Bundler 2.2.24 2021-08-19 15:46:40 +09:00
Hiroshi SHIBATA f1039afa41 Merge RubyGems 3.2.23 and Bundler 2.2.23 2021-08-19 15:46:40 +09:00
nagachika 80c180df76 merge revision(s) b8386f7f7f:
Prepend DebugSystem to VCS class only

	And revert 24e5f1c982, pepending to
	Kernel did not affect the top level methods before 3.0.
	---
	 tool/lib/vcs.rb    | 3 ---
	 tool/make-snapshot | 2 +-
	 2 files changed, 1 insertion(+), 4 deletions(-)
2021-08-04 12:40:12 +09:00
nagachika a4d2e48c73 merge revision(s) 24e5f1c982:
Ignore 7z unless available

	`DebugSystem#system` is prepended in vcs.rb and defaulted to
	`exception: true`.
	---
	 tool/make-snapshot | 2 +-
	 1 file changed, 1 insertion(+), 1 deletion(-)
2021-08-01 18:31:21 +09:00
Hiroshi SHIBATA ec171fa1f9 Merge RubyGems-3.2.22 and Bundler-2.2.22 2021-07-07 10:03:15 +09:00
Hiroshi SHIBATA 865221f0ba Merge RubyGems-3.2.21 and Bundler-2.2.21 2021-07-07 10:03:15 +09:00
Hiroshi SHIBATA a50de0adff Also merge tool/bundler/*.rb for testing of Bundler 2021-07-07 10:03:15 +09:00
Hiroshi SHIBATA fd5e314ecc Workaround for make test-tool 2021-07-07 10:03:15 +09:00
Yusuke Endoh 596a99ac7f Fix a typo of c6a11b865e
It failed to define `refute_path_not_exist`
2021-07-07 10:03:15 +09:00
Hiroshi SHIBATA 152397e495 Alias assert/refute_path_exists for test-unit gem.
It's required at https://github.com/rubygems/rubygems/pull/3141
2021-07-07 10:03:15 +09:00
nagachika 934001fb08 merge revision(s) 5d710d7e41: [Backport #17476]
Fix the wrong file detection for net-*.gemspec

	[Bug #17476][ruby-core:101724]
	---
	 tool/rbinstall.rb | 5 +++++
	 1 file changed, 5 insertions(+)
2021-07-03 11:38:10 +09:00
nagachika cc4e602634 merge revision(s) 87c546b5fa97e6e226cce4daf417617a1143f642,7a3322a0fd660d676f1918bd7c4a37676b44e1c2:
Avoid using inconsistent coding style

	Other `_mjit_compile_*.erb` files don't use goto. These files'd better
	be consistent for readability.
	---
	 tool/ruby_vm/views/_mjit_compile_getinlinecache.erb | 14 +++-----------
	 1 file changed, 3 insertions(+), 11 deletions(-)

	Fix broken JIT of getinlinecache

	e7fc353f04 reverted vm_ic_hit_p's signature change made in 53babf35ef,
	which broke JIT compilation of getinlinecache.

	To make sure it doesn't happen again, I separated vm_inlined_ic_hit_p to
	make the intention clear.
	---
	 test/ruby/test_jit.rb                              | 12 +++++++++++
	 .../ruby_vm/views/_mjit_compile_getinlinecache.erb |  2 +-
	 vm_insnhelper.c                                    | 25 ++++++++++++++--------
	 3 files changed, 29 insertions(+), 10 deletions(-)
2021-04-29 17:49:55 +09:00
Nobuyoshi Nakada ce06c24b0c merge revision(s) c32375883a6,48bb0329eb3:
Update for autoconf 2.70

	---
	 configure.ac                         | 232 +++++++++++++++++------------------
	 tool/m4/ruby_check_builtin_setjmp.m4 |   8 +-
	 tool/m4/ruby_check_printf_prefix.m4  |   9 +-
	 tool/m4/ruby_check_setjmp.m4         |   6 +-
	 tool/m4/ruby_check_sysconf.m4        |   6 +-
	 tool/m4/ruby_cppoutfile.m4           |   4 +-
	 tool/m4/ruby_decl_attribute.m4       |   4 +-
	 tool/m4/ruby_dtrace_available.m4     |   2 +-
	 tool/m4/ruby_dtrace_postprocess.m4   |   2 +-
	 tool/m4/ruby_mingw32.m4              |   4 +-
	 tool/m4/ruby_stack_grow_direction.m4 |   4 +-
	 tool/m4/ruby_try_cflags.m4           |   2 +-
	 tool/m4/ruby_try_cxxflags.m4         |   2 +-
	 tool/m4/ruby_try_ldflags.m4          |   2 +-
	 14 files changed, 143 insertions(+), 144 deletions(-)

	Revert AC_PROG_CC_C99 for -std=gnu99 option to gcc 4.8

	---
	 configure.ac | 5 ++++-
	 1 file changed, 4 insertions(+), 1 deletion(-)
2021-04-15 13:43:56 +09:00
Takashi Kokubun 303533d23c Avoid re-entering opt_invokebuiltin_delegate_leave
on interruption.

The cancellation code was originally written for leave insn, but re-entering
opt_invokebuiltin_delegate_leave insn on a cancellation is not safe, because
a builtin function is executed twice.
2021-01-13 17:07:56 +09:00
Koichi Sasada b93e16dc0f enable constant cache on ractors
constant cache `IC` is accessed by non-atomic manner and there are
thread-safety issues, so Ruby 3.0 disables to use const cache on
non-main ractors.

This patch enables it by introducing `imemo_constcache` and allocates
it by every re-fill of const cache like `imemo_callcache`.
[Bug #17510]

Now `IC` only has one entry `IC::entry` and it points to
`iseq_inline_constant_cache_entry`, managed by T_IMEMO object.

`IC` is atomic data structure so `rb_mjit_before_vm_ic_update()` and
`rb_mjit_after_vm_ic_update()` is not needed.
2021-01-13 17:06:16 +09:00
NARUSE, Yui a89932799c gen-release-note.rb: Avoid to depend release metadata
Because it doesn't have metadata when I edit draft.
2020-12-24 17:20:05 +09:00
NARUSE, Yui 6a6daf3803 Add tag key
Release note will use tag value when I write GitHub URLs with release
tags.
2020-12-24 17:20:05 +09:00
NARUSE, Yui 709d9cf1ba Add release engineering related tools 2020-12-24 17:20:05 +09:00
NARUSE, Yui d58537cf8f Revert "remove bz2"
This reverts commit 7856da5fe7.
For other branches
2020-12-24 17:20:05 +09:00
Nobuyoshi Nakada fb54574393 Pass keyword options in assert_syntax_error 2020-12-24 01:24:30 +09:00
Kenta Murata aa856d5077 [ruby/date] Fix envutil for old Ruby
https://github.com/ruby/date/commit/57e25c406a
2020-12-23 18:19:26 +09:00
Takashi Kokubun 81a8d1cf09 Skip checking ROBJECT_EMBED
when we already check ROBJECT_NUMIV(self) is larger than
ROBJECT_EMBED_LEN_MAX at the beginning of the method, because the number
of instance variables for the same object doesn't decrease.

```
$ benchmark-driver -v --rbenv 'before --jit;after --jit' --repeat-count=4 --alternate --output=all benchmark_3000.yml
before --jit: ruby 3.0.0dev (2020-12-23T06:32:19Z master dbb4f19969) +JIT [x86_64-linux]
after --jit: ruby 3.0.0dev (2020-12-23T07:45:42Z master 95e866c098) +JIT [x86_64-linux]
last_commit=Skip checking ROBJECT_EMBED
Calculating -------------------------------------
                              before --jit           after --jit
Optcarrot 3000 frames   102.34091772397872    102.77738408379015 fps
                        103.37784821624231    105.46530219076179
                        104.39567016876369    106.43712452152215
                        105.31782092252713    106.54986150067481
```
2020-12-22 23:50:43 -08:00
Hiroshi SHIBATA 61bd28b836 [ruby/date] Workaround for non-ruby repository like ruby/date, flori/json
https://github.com/ruby/date/commit/1ff7fa2d80
2020-12-23 13:53:40 +09:00
Hiroshi SHIBATA f14aaa2b12 Guard < Ruby 3.0 for the repositories of default gems. 2020-12-23 13:44:47 +09:00
Marc-Andre Lafortune 02233ed024 Adapt tool/search-cgvars.rb for MacOS 2020-12-22 22:25:41 -05:00
Marc-Andre Lafortune 3df3b47187 Add tool/search-cgvars.rb, thanks @ko1 2020-12-22 22:25:41 -05:00
Hiroshi SHIBATA edb76e8765 Prepare to release json-2.5.0 2020-12-22 19:44:27 +09:00
Takashi Kokubun 692af8e8f8 Prefer stdbool in vm_exec
Make the code a bit modern and consistent with some other places.
2020-12-21 21:16:39 -08:00
Akinori MUSHA 63b872c409 Prepare for importing the set gem 2020-12-22 12:17:47 +09:00
Marc-Andre Lafortune 1ecac8e4d0 Add require_relative option to assert_ractor 2020-12-20 22:00:05 -05:00