diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index d0be762ceeb7c2..f52cab97081d30 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -107,6 +107,7 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: { sparse-checkout-cone-mode: false, sparse-checkout: /.github } - { uses: './.github/actions/setup/directories', with: { srcdir: 'src', builddir: 'build', makeup: true, fetch-depth: 10 } } + - { uses: './.github/actions/compilers', name: 'clang 22', with: { tag: 'clang-22' } } - { uses: './.github/actions/compilers', name: 'clang 21', with: { tag: 'clang-21' } } - { uses: './.github/actions/compilers', name: 'clang 20', with: { tag: 'clang-20' } } - { uses: './.github/actions/compilers', name: 'clang 19', with: { tag: 'clang-19' } } diff --git a/test/.excludes-zjit/TestThread.rb b/test/.excludes-zjit/TestThread.rb index f6a4b7009b4704..121ddd9542d5dd 100644 --- a/test/.excludes-zjit/TestThread.rb +++ b/test/.excludes-zjit/TestThread.rb @@ -1 +1,2 @@ exclude(:test_switch_while_busy_loop, 'Test sometimes hangs with ZJIT') +exclude(:test_handle_interrupted?, 'Test sometimes fails with ZJIT') diff --git a/tool/lib/core_assertions.rb b/tool/lib/core_assertions.rb index ece6ca1dc8c373..00d180fa8ce088 100644 --- a/tool/lib/core_assertions.rb +++ b/tool/lib/core_assertions.rb @@ -690,17 +690,15 @@ def assert_warn(*args) assert_warning(*args) {$VERBOSE = false; yield} end - def assert_deprecated_warning(mesg = /deprecated/) + def assert_deprecated_warning(mesg = /deprecated/, &block) assert_warning(mesg) do - Warning[:deprecated] = true if Warning.respond_to?(:[]=) - yield + EnvUtil.deprecation_warning(&block) end end - def assert_deprecated_warn(mesg = /deprecated/) + def assert_deprecated_warn(mesg = /deprecated/, &block) assert_warn(mesg) do - Warning[:deprecated] = true if Warning.respond_to?(:[]=) - yield + EnvUtil.deprecation_warning(&block) end end diff --git a/tool/lib/envutil.rb b/tool/lib/envutil.rb index fe166d85145ea7..ab5e8d84e9c371 100644 --- a/tool/lib/envutil.rb +++ b/tool/lib/envutil.rb @@ -297,6 +297,21 @@ def flush; end end module_function :verbose_warning + if defined?(Warning.[]=) + def deprecation_warning + previous_deprecated = Warning[:deprecated] + Warning[:deprecated] = true + yield + ensure + Warning[:deprecated] = previous_deprecated + end + else + def deprecation_warning + yield + end + end + module_function :deprecation_warning + def default_warning $VERBOSE = false yield diff --git a/tool/sync_default_gems.rb b/tool/sync_default_gems.rb index 7a231772b5cbb4..5794edaa83145a 100755 --- a/tool/sync_default_gems.rb +++ b/tool/sync_default_gems.rb @@ -38,7 +38,6 @@ module SyncDefaultGems open3: "ruby/open3", openssl: "ruby/openssl", optparse: "ruby/optparse", - pathname: "ruby/pathname", pp: "ruby/pp", prettyprint: "ruby/prettyprint", prism: ["ruby/prism", "main"], @@ -278,13 +277,6 @@ def sync_default_gems(gem) cp_r("#{upstream}/test/erb", "test") cp_r("#{upstream}/erb.gemspec", "lib/erb") cp_r("#{upstream}/libexec/erb", "libexec") - when "pathname" - rm_rf(%w[ext/pathname test/pathname]) - cp_r("#{upstream}/ext/pathname", "ext") - cp_r("#{upstream}/test/pathname", "test") - cp_r("#{upstream}/lib", "ext/pathname") - cp_r("#{upstream}/pathname.gemspec", "ext/pathname") - `git checkout ext/pathname/depend` when "digest" rm_rf(%w[ext/digest test/digest]) cp_r("#{upstream}/ext/digest", "ext")