Commit graph

37 commits

Author SHA1 Message Date
Hiroshi SHIBATA
015d874133 Sync https://github.com/ruby/test-unit-ruby-core/pull/8 2025-08-05 13:11:18 +09:00
Nobuyoshi Nakada
a6914c089d
Fix the current parser detection
Since `RUBY_DESCRIPTION` contains the branch name, `/prism/i` can
match unexpectedly.  Extract the feature lists between revision
and platform infos.
2025-07-29 22:11:49 +09:00
Nobuyoshi Nakada
d31d62d685
Dump with debugger just once 2025-06-20 20:35:50 +09:00
Nobuyoshi Nakada
0be7fedd59
Fix EnvUtil::Debugger#dump
- Send outputs from debugger to stderr
- Use `%W` to interpolate the pid
2025-06-19 17:28:44 +09:00
Nobuyoshi Nakada
36a04de9f0
Dump with debugger before killing stuck worker 2025-06-15 20:24:30 +09:00
Nobuyoshi Nakada
4c072c8119 Fix assert_warning for Proc
`Proc` does not have `encoding` method.

Also, make `assert_raise_with_message` accept a `Proc` as the expected
pattern, as well.
2025-03-17 23:42:16 +09:00
Peter Zhu
2e6ddd968d Don't enable GC.auto_compact in EnvUtil.under_gc_compact_stress when not supported 2024-10-11 17:00:30 -04:00
Luke Gruber
d592ddd5e6 Fix compile issue with a short-circuited if/unless condition and defined?
This caused an issue when `defined?` was in the `if` condition. Its
instructions weren't appended to the instruction sequence even though it was compiled
if a compile-time known logical short-circuit happened before the `defined?`. The catch table
entry (`defined?` compilation produces a catch table entry) was still on the iseq even though the
instructions weren't there. This caused faulty exception handling in the method.
The solution is to no add the catch table entry for `defined?` after a compile-time known logical
short circuit.

This shouldn't touch much code, it's only for cases like the following,
which can occur during debugging:

    if false && defined?(Some::CONSTANT)
    "more code..."
    end

Fixes [Bug #20501]
2024-10-01 02:12:56 +09:00
Nobuyoshi Nakada
1ad366134d
[Feature #20293] Add Warning.categories 2024-03-14 17:56:55 +09:00
Takashi Kokubun
bccf4b30fa
Skip under_gc_compact_stress on s390x (#10073) 2024-02-22 14:34:19 -08:00
Nobuyoshi Nakada
5f7f229ae7
Adjust indent [ci skip] 2024-02-22 22:22:56 +09:00
Nobuyoshi Nakada
183c574d54
Save the performance warning flag 2024-02-22 22:05:04 +09:00
Luke Gruber
e12d4c654e Don't create T_MATCH object if /regexp/.match(string) doesn't match
Fixes [Bug #20104]
2024-01-01 13:28:26 -08:00
Peter Zhu
32ecda354f Support GC.auto_compact = :empty on debug builds
This commit adds `GC.auto_compact = :empty` which will run
auto-compaction sorting pages by empty slots so the most amount of
objects will be moved. This will make it easier to write tests for
auto-compaction.
2023-12-19 18:29:36 -05:00
Peter Zhu
150ed44d87 Fix compaction during ary_make_partial
The ary_make_shared call may allocate, which can trigger a GC
compaction. This can cause the array to be embedded because it has a
length of 0.
2023-11-27 12:40:26 -05:00
Takashi Kokubun
6c46ccf226
Prefer RbConfig.ruby over the 3.times fallback (#8691)
It seems saner to use RbConfig.ruby than using ruby in a random ancestor
directory.
2023-10-17 17:57:39 -07:00
Nobuyoshi Nakada
a502cd80a5
Fix wrong assignment 2023-08-02 23:55:07 +09:00
Nobuyoshi Nakada
85ee4a65a2
Allow to override environment variables for debug 2023-08-02 19:55:31 +09:00
Nobuyoshi Nakada
3cbe37bd35
Support new style diagnostic reports 2022-12-25 00:43:27 +09:00
Koichi Sasada
374904b25f remain RUBY_ON_BUG for child processes.
`RUBY_ON_BUG` is useful for child processes created by the test
process.
2022-01-19 23:17:14 +09:00
Nobuyoshi Nakada
21e255913c [ruby/stringio] Pass IOs as separate list for ruby 2.x
74e39858eb
2021-03-08 09:35:25 +09:00
Kenta Murata
aa856d5077 [ruby/date] Fix envutil for old Ruby
57e25c406a
2020-12-23 18:19:26 +09:00
Hiroshi SHIBATA
f14aaa2b12
Guard < Ruby 3.0 for the repositories of default gems. 2020-12-23 13:44:47 +09:00
Aaron Patterson
0767d387ec
Pass ASAN options to child environments
I want to work with ASAN, but some child environments are not inheriting
the ASAN options I'm using.  This commit passes them to child
environments if specified
2020-09-28 09:45:04 -07:00
Nobuyoshi Nakada
996af2ce08 Disable deprecation warning by the default [Feature #16345]
And `-w` option turns it on.
2020-09-25 09:50:33 +09:00
Vít Ondruch
db0eab1c6f Remove EnvUtil.rubyexec, because it is not used anywhere. 2020-07-28 12:11:47 +09:00
Nobuyoshi Nakada
eb2b7fca43
Fixed up 56ca006784
Run lldb just before sending ABRT or KILL signal.  Some tests
terminate child processes by TERM signal intentionally.
2020-06-03 17:28:15 +09:00
Koichi Sasada
56ca006784 run lldb to investigate the stuck process.
Before sending signals (ABRT, KILL), use lldb to show the
backtrace of a stuck process.

This commit also reverts recent changes for terminate().
2020-06-02 17:21:03 +09:00
Koichi Sasada
7b9527ce74 add more 2 sec.
After sending SEGV signal, but no response. Try to add 2 more
seconds. If we can not have a detailed log, we need to use
gdb/lldb to show the backtrace.
2020-06-01 17:03:27 +09:00
Koichi Sasada
3591703b31 send SEGV to show backtrace.
send SEGV to terminate the remaining process before sending
ABRT and KILL to show the backtrace.
2020-06-01 10:15:03 +09:00
Nobuyoshi Nakada
f0b5629c8c
envutil.rb: Also alias to #name 2020-05-05 13:53:44 +09:00
Nobuyoshi Nakada
e231f8e8a8 envutil.rb: not try to close pipes twice 2020-04-17 00:52:29 +09:00
Yusuke Endoh
41b7c335d3 Revert "Add a temporal stack dumper for debugging on trunk-mjit"
This reverts commit 433c9c00d9.

Successfully captured some traces, and
3b60e5e6bc seems to fix the issue.
2019-09-06 13:04:36 +09:00
Yusuke Endoh
433c9c00d9 Add a temporal stack dumper for debugging on trunk-mjit
This must be definitely removed after we collect the stack traces :-)
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2245710
2019-09-05 22:16:21 +09:00
Hiroshi SHIBATA
3ecb5125c6
Gem::ConfigMap is deprecated now 2019-08-18 13:25:31 +09:00
Nobuyoshi Nakada
29092d35d3
Moved FailDesc to EnvUtil.failure_description
So EnvUtil does not depends on test/unit.
2019-08-05 10:48:49 +09:00
Hiroshi SHIBATA
c3c0e3f5c9 Move to tool/lib from test/lib. 2019-07-02 07:59:54 +09:00
Renamed from test/lib/envutil.rb (Browse further)