summaryrefslogtreecommitdiff
path: root/tool
AgeCommit message (Collapse)Author
2021-10-28Downloader: retry when RFC 2616 noncompliant dates [ci skip]Nobuyoshi Nakada
zlib.net rarely returns the current time in RFC 2616 noncompliant format in the response header, and the checksum does not match in that case (maybe creating the tarball on the fly?).
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.
2021-10-25check other IO#close callsKoichi Sasada
http://ci.rvm.jp/results/trunk@ruby-iga/3690333 > tool/lib/test/unit/parallel.rb:68:in `close': Bad file descriptor (Errno::EBADF)
2021-10-25introduce check code for mysterious EBADFKoichi Sasada
parallel test randomly failed with EBADF. This patch checks wich suite causes this error. ex) http://ci.rvm.jp/results/trunk@ruby-iga/3690219 ``` /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:88:in `close': Bad file descriptor (Errno::EBADF) /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:88:in `ensure in _run_suite' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:89:in `_run_suite' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:30:in `block in _run_suites' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:29:in `map' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:29:in `_run_suites' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:128:in `run' /tmp/ruby/v3/src/trunk/tool/lib/test/unit/parallel.rb:211:in `<main>' ```
2021-10-20Cleanup diff against upstream. Add commentsAlan Wu
I did a `git diff --stat` against upstream and looked at all the files that are outside of YJIT to come up with these minor changes.
2021-10-20Remove the scraperAaron Patterson
Now that we're using the jit function entry point, we don't need the scraper. Thank you for your service, scraper. ❤️
2021-10-20Remove some MicroJIT vestigesAaron Patterson
Just happened to run across this, so lets fix them
2021-10-20YJIT: lazy polymorphic getinstancevariableAlan Wu
Lazily compile out a chain of checks for different known classes and whether `self` embeds its ivars or not. * Remove trailing whitespaces * Get proper addresss in Capstone disassembly * Lowercase address in Capstone disassembly Capstone uses lowercase for jump targets in generated listings. Let's match it. * Use the same successor in getivar guard chains Cuts down on duplication * Address reviews * Fix copypasta error * Add a comment
2021-10-20Remove trailing whitespacesMaxime Chevalier-Boisvert
2021-10-20Yet Another Ruby JIT!Jose Narvaez
Renaming uJIT to YJIT. AKA s/ujit/yjit/g.
2021-10-20Restore interpreter regs in ujit hook. Implement leave bytecode.Maxime Chevalier-Boisvert
2021-10-20Tally instructions when taking side exists for --ujit-statsAlan Wu
shopify/ruby#29 Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
2021-10-20Refactor uJIT code into more files for readabilityMaxime Chevalier-Boisvert
2021-10-20Fix typoAlan Wu
2021-10-20Include disassembly in MicroJIT scraper outputAlan Wu
2021-10-20Add to the MicroJIT scraper an example that passes ecAlan Wu
2021-10-20Fix compilation for OPT_THREADED_CODE=2Alan Wu
2021-10-20Zero sized array are not standard CAlan Wu
2021-10-20Compile with MicroJIT disabled when scrape failsAlan Wu
This is just so we can build successfully on -O0 and other cases that are not supported by the code scraper.
2021-10-20endbr64 is fineAlan Wu
2021-10-20Preliminary GNU/Linux support for code scraperAlan Wu
Let's see if this works on CI
2021-10-20Refactor ujit_examples.h generator. Remove dwarfdump dependencyAlan Wu
2021-10-20Remove PC argument from ujit instructionsMaxime Chevalier-Boisvert
2021-10-20Yeah, this actually works!Alan Wu
2021-10-20Add example handler for ujit and scrape it from vm.oAlan Wu
2021-10-18Remove `Test::Unit::TestCase.make_my_diffs_pretty!`Nobuyoshi Nakada
`Test::Unit::CoreAssertions#mu_pp` is defined always using `pretty_inspect`. Notes: Merged: https://github.com/ruby/ruby/pull/4983
2021-10-18Remove `Test::Unit::Assertions#exception_details`Nobuyoshi Nakada
Never used since fa0f3eff228bb26de6d5b0e1238b1f358165dbd0. Notes: Merged: https://github.com/ruby/ruby/pull/4983
2021-10-17Retry hung up tests verboselyNobuyoshi Nakada
2021-10-17Retry hung tests after parallel runsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4976
2021-10-17Timeout parallel test worker processesNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/4976
2021-10-17Replace unpack with unpack1Nobuyoshi Nakada
2021-10-15Use `__dir__`Nobuyoshi Nakada
2021-10-15Prefer `require_relative`Nobuyoshi Nakada
2021-10-15Use `__dir__`Nobuyoshi Nakada
2021-10-14Removed redundant digest namespaceHiroshi SHIBATA
2021-10-14separate pure ruby location under the digest/* extensionsHiroshi SHIBATA
2021-10-14Move pure ruby files under the ext/gemname/lib directory.Hiroshi SHIBATA
2021-10-12[ruby/digest] jruby supportPavel Rosický
https://github.com/ruby/digest/commit/2e9dc14693
2021-10-10Add comments in sync_default_gems.rbTakashi Kokubun
to ease the maintenance of ruby-commit-hook/bin/update-default-gem.sh
2021-10-10chmod +x tool/sync_default_gems.rbTakashi Kokubun
I'm too lazy to start the command with `ruby`.
2021-10-10Run JIT tests first when random order instead of no-sortNobuyoshi Nakada
2021-10-10Default the test order to randomNobuyoshi Nakada
2021-10-09Refactor `Test::Unit::CoreAssertions#assert_nothing_raised`Nobuyoshi Nakada
* Separate exception classes to be rescued or reraised * Use the filtered backtrace in the failure message * Raise a new `AssertionFailedError` with the original backtrace
2021-10-09Exclude also core_assertions.rb from backtracesNobuyoshi Nakada
2021-10-09Unify `Test::Unit::Assertions#message`Nobuyoshi Nakada
Merge `Test::Unit::CoreAssertions#message`.
2021-10-09Let `Test::Unit::CoreAssertions::AllFailures#for` yield the keyNobuyoshi Nakada
Similar to `Test::Unit::CoreAssertions::AllFailures#foreach`.
2021-10-09Newly generated gems require Ruby 2.6.0OKURA Masafumi
In 2021, Ruby 2.5 and older are EOL. We can set the default required Ruby version to 2.6.0 to encourage people to use newer Ruby. If the command is executed with old Ruby, it falls back to 2.3.0. It's still possible to create a gem for older Ruby just by changing two lines of code (one in gemspec and another is in rubocop.yml).
2021-10-05Fix a typo since 688f2e1a893e04457a1a5aa3577b13f74b2bc080Nobuyoshi Nakada