summaryrefslogtreecommitdiff
path: root/tool/lib
AgeCommit message (Collapse)Author
2022-11-02file2lastrev.rb: separate options for `Output` and `VPath`Nobuyoshi Nakada
So the `--srcdir` option in this file can override the same option in `VPath`.
2022-11-01output.rb: extract from generic_erb.rbNobuyoshi Nakada
- writing to a file or stdout - touching timestamp files - overwriting only if changed - colorizing
2022-11-01colorize.rb: support for NO_COLORNobuyoshi Nakada
2022-11-01vpath.rb: tweak --vpath option messageNobuyoshi Nakada
2022-11-01vcs.rb: do not reference the constant before assignmentNobuyoshi Nakada
2022-10-30vcs.rb: copy safe directory configurationNobuyoshi Nakada
Now revision.tmp will be regenerated always and every times, even if the recent file exists in the source directory, as far as using git. On the other hand, VirtualBox mounts shared folders as root, and git rejects the repository there as dubious ownership. Notes: Merged: https://github.com/ruby/ruby/pull/6647
2022-10-30vcs.rb: prettify debug printNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6647
2022-09-30Add `--zone` option to `VCS`Nobuyoshi Nakada
Which controls the timezone offset for `RUBY_RELEASE_DATE`. Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-30Introduce `VCS::Null` for fallbackNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-30Check for the availability of the command when detectingNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-30Pull up `VCS.short_revision` from `VCS::SVN`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6473
2022-09-17Remove git command existence check againTakashi Kokubun
With 33c6dd2cc89c27bbf406508ec39038a181fb99bc, it's no longer necessary. This is what I got on openbsd-current: ``` -bash-5.1$ git -v unknown option: -v usage: git [--version] [--help] [-C <path>] [-c <name>=<value>] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare] [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] [--super-prefix=<path>] [--config-env=<name>=<envvar>] <command> [<args>] -bash-5.1$ git version git version 2.35.1 ```
2022-09-17Fallback to VCS.release_date on VCS::NotFoundErrorTakashi Kokubun
when -q is given. One of the RubyCI servers, freebsd12, had a broken git environment: ``` $ git show fatal: detected dubious ownership in repository at '/usr/home/chkbuild/chkbuild/tmp/build/20220917T123002Z/ruby' To add an exception for this directory, call: git config --global --add safe.directory /usr/home/chkbuild/chkbuild/tmp/build/20220917T123002Z/ruby ``` tool/lib/vcs.rb doesn't work normally for that server. Even for such cases, we'd like to generate a usable revision.h. So this patch lets revision.h fallback to default VCS.release_date when VCS::NotFoundError is raised.
2022-09-17Auto-generate the release date on version.h from git CommitDate (#6382)Takashi Kokubun
* Auto-generate the release date on version.h from git CommitDate * Generate revision.h on mswin Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-09-14Replace "Fixes"/"Fixed" in commit logs as well as vcs.rb [ci skip]Nobuyoshi Nakada
Use the same regexp to replace "(#NNNN)" and "GH-NNNN" style references in vcs.rb, too.
2022-09-10Enable deprecation warnings for test-allBenoit Daloze
* So deprecated methods/constants/functions are dealt with early, instead of many tests breaking suddenly when removing a deprecated method/constant/function. * Follows https://bugs.ruby-lang.org/issues/17591 Notes: Merged: https://github.com/ruby/ruby/pull/6321
2022-09-01VCS#revision_header: Make arguments optionalNobuyoshi Nakada
2022-09-01Update revision.h in packages using `VCS#revision_header`Nobuyoshi Nakada
2022-09-01Extract `VCS#revision_header`Nobuyoshi Nakada
2022-09-01Fix test fail with assert_ractor outside of ruby/ruby repoHiroshi SHIBATA
Revert 806583c093ecc2d67830f0a8f0d94decf0ed71e5
2022-08-19Allow strings in assert_pattern_listNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6252
2022-08-05Load gemspec file at that directoryNobuyoshi Nakada
Gemspec files generated by old bundler run `git` without changing the working directory. Or some gemspec files expect an owned file at the top exists ath the current working directory. Notes: Merged: https://github.com/ruby/ruby/pull/6203
2022-08-05Move to tool/lib/bundled_gem.rbNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6203
2022-07-05Add `--stdout-on-failure`, the reverse of `--stderr-on-failure`Nobuyoshi Nakada
2022-07-05Separate failed output optionNobuyoshi Nakada
It is unrelated to `GlobOption` at all.
2022-06-25Prevent accidental use of assert_raisesNobuyoshi Nakada
2022-06-22vcs.rb: ignore configuration files get rid of aliases [ci skip]Nobuyoshi Nakada
2022-06-22vcs.rb: just one log to check if `--date` option works [ci skip]Nobuyoshi Nakada
2022-06-22vcs.rb: show diagnostic/progressing messages when debugging [ci skip]Nobuyoshi Nakada
2022-05-25Hack to avoid leak checkerNobuyoshi Nakada
2022-05-20Rename test_jit to test_mjitTakashi Kokubun
to avoid confusion with YJIT
2022-04-20Added assert_true and assert_false same as test-unit gemHiroshi SHIBATA
2022-04-06Copyedit parallel test harness crash messageAlan Wu
Mea culpa. Co-authored-by: Kaíque Kandy Koga <kaiquekandykoga@gmail.com>
2022-04-06Copyedit parallel test harness crash messageAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/5772
2022-04-05Try to fix NoMethodError on slow environmentsKazuhiro NISHIYAMA
``` 1) Failure: TestParallel::TestParallel#test_hungup [/home/user/ruby/tool/test/testunit/test_parallel.rb:215]: Expected /^Retrying hung up testcases\.+$/ to match "Run options: \n" + " --seed=43403\n" + " --ruby\n" + " \"./miniruby -I../lib -I. -I.ext/common ../tool/runruby.rb --extout=.ext -- --disable-gems\"\n" + " -j\n" + " t1\n" + " --worker-timeout=1\n" + "\n" + "# Running tests:\n" + "\n" + "/home/user/ruby/tool/lib/test/unit.rb:687:in `block in _run_parallel': undefined method `<' for nil:NilClass (NoMethodError)\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:538:in `block in quit_workers'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:537:in `reject!'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:537:in `quit_workers'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:687:in `_run_parallel'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:810:in `_run_suites'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:849:in `_run_suites'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1479:in `_run_anything'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1263:in `_run_anything'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1654:in `run_tests'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1641:in `block in _run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1640:in `each'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1640:in `_run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1682:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1034:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:882:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:154:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1761:in `run'\n" + "\tfrom /home/user/ruby/tool/lib/test/unit.rb:1765:in `run'\n" + "\tfrom /home/user/ruby/tool/test/testunit/tests_for_parallel/runner.rb:14:in `<main>'\n". ```
2022-02-25[ruby/date] Use `assert_deprecated_warn`Nobuyoshi Nakada
https://github.com/ruby/date/commit/c55004715a
2022-02-16fix parallel test timeout retryingKoichi Sasada
On the parallel test, workers can be killed because of timeout and the information for the retrying can be inconsistent. This patch will skip if the inconsistency is found and report as an error. http://ci.rvm.jp/results/trunk-asserts@phosphorus-docker/3834082 Notes: Merged: https://github.com/ruby/ruby/pull/5559
2022-01-27[ruby/logger] Fix log rotation inter-process lock failed.Jesse Chavez
Issue only occurs in JRuby 9.3.0.0 and Windows and the full console output is: log rotation inter-process lock failed. D:\log.txt -> D:\log.txt.0: The process cannot access the file because it is being used by another process. log writing failed. closed stream log writing failed. closed stream ... https://github.com/ruby/logger/commit/19fc734638
2022-01-26add `--stderr-on-failure` option to test-allKoichi Sasada
Now all failure messages are printed to stdout. This option makes all failure messages printed into stderr. Notes: Merged: https://github.com/ruby/ruby/pull/5483
2022-01-25[ruby/pathname] Officially drop support for ruby 2.6 or olderDavid Rodríguez
The gem doesn't even install on old rubies, but since the gemspec claims it's supported, `gem install pathname` will try to install it and print an error. This commit doesn't fix the above issue. The only way to fix it would be to restore support and release a new version that actually supports old rubies. However, such a change has been proposed and ignored for a long time. So this issue proposes to leave that broken but at least bring the gemspec manifest and the CI matrix in sync to hopefully avoid this issue from happening again in the future. https://github.com/ruby/pathname/commit/3ee010b538
2022-01-19remain `RUBY_ON_BUG` for child processes.Koichi Sasada
`RUBY_ON_BUG` is useful for child processes created by the test process. Notes: Merged: https://github.com/ruby/ruby/pull/5466
2022-01-17Removed skip alias in test suiteHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/5446
2021-12-13Prepare for removing RubyVM::JIT (#5262)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2021-11-30Let pretty_inspect work once at firstNobuyoshi Nakada
For older pp.rb which did not need io/console, and dealing with `LoadError`.
2021-11-30Load io/console earlierNobuyoshi Nakada
Something goes wrong at loading libraries inside `mu_pp` in the test overriding `Class.inherited`.
2021-11-29Consider environment variable case-insensitivenessNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5188
2021-11-09Filter method names only if filtering method name onlyNobuyoshi Nakada
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.
2021-10-27Properly exclude test cases.Vít Ondruch
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]. Notes: Merged: https://github.com/ruby/ruby/pull/5026
2021-10-26Revert "introduce check code for mysterious EBADF"Koichi Sasada
This reverts commit 7864efa105921eb3900c843126f2e0db02b9c6ae.
2021-10-26Revert "check other IO#close calls"Koichi Sasada
This reverts commit a1c4cab11d613d7df037a81a770ee44a23a2e9be.