Commit graph

512 commits

Author SHA1 Message Date
Hiroshi SHIBATA
06b14f29a3 Added missing block argument 2025-08-05 13:11:18 +09:00
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
David Rodríguez
f679202a0f Remove old bundle.rb script usage 2025-07-03 13:43:00 +09:00
Nobuyoshi Nakada
90abfe6fb7
Remove git-related files in unpacked gems
These files, including `.github` directory, are useless unless the
repository itself is contained as well.
2025-06-28 20:17:35 +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
Tim Smith
3cfd71e7e4 Fix minor typos in comments, specs, and docs
Just a bit of minor cleanup

Signed-off-by: Tim Smith <tsmith84@gmail.com>
2025-06-18 07:51:16 +09:00
Nobuyoshi Nakada
f0371efbd8
Suppress stderr output in TestRubyOptions#assert_segv
It is checked against the given `list`, do not print the same output
twice.
2025-06-16 19:18:11 +09:00
Nobuyoshi Nakada
04925c6608
Add --keep-repeating option
It directs the program to continue repeating the tests the specified
number of times, even if any tests fail along the way.
2025-06-15 23:59:46 +09:00
Nobuyoshi Nakada
36a04de9f0
Dump with debugger before killing stuck worker 2025-06-15 20:24:30 +09:00
Nobuyoshi Nakada
42cf301254
Skip blame-ignored revisions [ci skip] 2025-06-07 20:48:08 +09:00
Nobuyoshi Nakada
e667bb70cf
Add skip log-fix command to skip that commit totally [ci skip] 2025-06-07 20:48:00 +09:00
Nobuyoshi Nakada
7a56c31641
Revert "[Bug #21388] Make snapshots of gems"
This reverts commit e90282be7b, a commit miss.
2025-06-07 18:43:56 +09:00
Nobuyoshi Nakada
e90282be7b
[Bug #21388] Make snapshots of gems
If the revision of bundled gems is specified for ruby master (and
`git` is usable), checkout that revision and build a snapshot gem, and
use it for `test-spec` instead of the downloaded release version.
2025-06-07 18:41:36 +09:00
Hiroshi SHIBATA
04b26db5ef
Support Ractor#value and Ractor#join for old versions of Ruby
https://github.com/ruby/test-unit-ruby-core/pull/9
https://github.com/ruby/test-unit-ruby-core/pull/10
2025-06-04 14:08:04 +09:00
David Rodríguez
7082ef201e Remove unnecessary GEM_PATH modification 2025-05-29 10:09:28 +09:00
Nobuyoshi Nakada
4e6946bda7
Assign the result of format_changelog to the changelog writer
Also, rename `format_changelog` to `changelog_formatter` since this
method does not format the changelog when called, but rather returns a
Proc that takes IO and writes the formatted changelog.
2025-04-22 21:02:29 +09:00
Hiroshi SHIBATA
8bf14b048f SVN repository is already retired 2025-04-19 06:33:10 +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
Nobuyoshi Nakada
f7af75d3d9 Show test task names longer 2025-03-06 16:58:13 +09:00
Naoto Ono
48b6c60969
[Misc #20661] Stop retrying tests in make test-all command by default (#11271)
[Misc #20661] Stop retrying tests in make test-all command by default
2025-02-27 06:12:02 +00:00
Nobuyoshi Nakada
64eba7a01a
Ignore broken git work directory at creating revision.h [ci skip] 2025-02-17 18:25:07 +09:00
Nobuyoshi Nakada
c51668d249
Add Test::Unit::CoreAssertions#assert_raise_kind_of
Similar to `Test::Unit::assert_raise`, but allows sub classes too.
2025-01-24 15:51:28 +09:00
Hiroshi SHIBATA
86575e243e Use rdoc provided by bundled gems for generating ruby documentation 2025-01-15 16:52:56 +09:00
Hiroshi SHIBATA
a450e9304d Extract Benchmark.measure on assert_cpu_usage_low 2025-01-10 13:27:16 +09:00
Nobuyoshi Nakada
0fda818bd7
Make gemspec files for default gems with extensions
So that rubygems can find them as gems.  However, the `--install-dir`
option of `gem install` seems to exclude prerelease gems, even already
installed in that directory, from the dependencies for some reasons;
use the `GEM_HOME` environment variable instead.

Now net-imap 0.5.0 depends on json gem.
2024-11-01 02:33:10 +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
Yusuke Endoh
f090d1fa59 Try to find bundled gem version from lib/*/version.rb 2024-09-13 15:49:28 +09:00
Nobuyoshi Nakada
fcb058309b Accept version range
Single `Integer` argument means an exact match to the major version.
2024-09-12 23:47:34 +09:00
Nobuyoshi Nakada
14c72e96ae
Remove an unnecessary blank line added by mistake [ci skip] 2024-09-10 17:19:02 +09:00
Nobuyoshi Nakada
2d12fbc4db Add predicates for platforms 2024-09-10 16:50:21 +09:00
Peter Zhu
cf3b62b545 Fix check_tempfile_leak in leakchecker.rb
The instance variable @tmpfile was removed in ddcfc9f so check_tempfile_leak
did not work.
2024-09-05 14:03:39 -04:00
Nobuyoshi Nakada
e884d65094
Ignore blocks to Test::Unit::Assertions#pend silently
Although `pend` in test-unit gem expects the block does not pass if it
is given, our `pend` should ignore the block silently as same as it
just skips the test with no message by default.  Add an unused
parameter, to suppress the warning for the block to be ignored.
2024-09-04 14:49:25 +09:00
Nobuyoshi Nakada
a33416a333
Fix runnable symlinks
Fix symlinks to executable as relative paths from `bin` directory.
2024-09-03 09:59:28 +09:00
Hiroshi SHIBATA
64a005df3b make test-tool with Windows is broken. We should use :KILL with that platform.
```
[ 14/191] TestParallel::TestParallel#test_hungup = 11.02 s
  1) Failure:
TestParallel::TestParallel#test_hungup [C:/Users/hsbt/DevDrive/github.com/ruby/ruby/tool/test/testunit/test_parallel.rb:211]:
Expected /^Retrying hung up testcases\.+$/ to match "Run options: \n" +
"  --seed=35582\n" +
"  --ruby\n" +
"  \".\\\\ruby.exe -I../../ruby/lib -I.ext/x64-mswin64_140 -I. ../../ruby/tool/runruby.rb --extout=.ext -- --disable-gems\"\n" +
"  -j\n" +
"  t1\n" +
"  --worker-timeout=1\n" +
"\n" +
"# Running tests:\n" +
"\n" +
"[1/1] 50340=test4test_hungup.\n" +
"C:/Users/hsbt/DevDrive/github.com/ruby/ruby/tool/lib/test/unit.rb:418:in 'Process.kill': Invalid argument (Errno::EINVAL)\n" +
```
2024-08-22 11:29:48 +09:00
Peter Zhu
2f67610f6b Remove dependency on Tempfile::Remover in leakchecker.rb 2024-08-20 14:29:40 -04:00
tomoya ishida
8a7e6f6852
Improve base time of assert_linear_performance (#11369)
Remove `.ceil` from base time calculation that makes 10x gap.
This will make the assertion more strict and also less flaky.
2024-08-15 06:55:57 +00:00
Yusuke Endoh
671f6e78b4 Use 20min for parallel test worker timeout 2024-08-07 10:17:43 +09:00
Yusuke Endoh
fdfde6ab2e Use SIGSEGV to kill a parallel test worker (to dump backtrace) 2024-08-07 09:44:06 +09:00
Yusuke Endoh
e62c2ce0e0 Wait a bit longer for worker quit 2024-08-07 03:54:47 +09:00
Yusuke Endoh
47c45d5c18 Add a log when SIGKILL is sent to a test parallel worker 2024-08-07 02:41:27 +09:00
Yusuke Endoh
2c35a37918 Fix a typo 2024-08-07 02:34:46 +09:00
Yusuke Endoh
c0938fd24c Use 3min for test parallel worker timeout again 2024-08-06 21:11:41 +09:00
Yusuke Endoh
062f85e141 Dump all-thread backtraces when test parallel worker exceeds time limit 2024-08-06 21:11:41 +09:00
Yusuke Endoh
24d46a6781 Extend the default timeout of parallel testing to one hour 2024-08-06 16:59:24 +09:00
Yusuke Endoh
30be7fb85d Extend the default timeout of parallel testing 2024-08-06 15:00:12 +09:00
Hiroshi SHIBATA
9a5e3a4007 Removed WEBrick and that tests
We can handle uri, time and others without `make test-all` dependencies now.
2024-07-11 09:23:16 +09:00
Naoto Ono
8ede84aa95 Move the file location of launchable.rb 2024-07-08 10:15:04 +09:00