From da8b13107938100fa21572d5a4804777cd22c3d1 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Sat, 22 Nov 2025 13:14:27 +0100 Subject: [PATCH 1/2] Skip tests which do not work on TruffleRuby --- Rakefile | 7 ++++++- test/benchmark_runner_cli_test.rb | 7 ++++++- test/benchmark_runner_test.rb | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Rakefile b/Rakefile index b269374e..a680a793 100644 --- a/Rakefile +++ b/Rakefile @@ -6,7 +6,12 @@ desc 'Run all tests' Rake::TestTask.new(:test) do |t| t.libs << 'test' t.libs << 'lib' - t.test_files = FileList['test/**/*_test.rb'] + test_files = FileList['test/**/*_test.rb'] + if RUBY_ENGINE == 'truffleruby' + # rmagick segfaults on truffleruby 25.0.0 + test_files -= ['test/graph_renderer_test.rb'] + end + t.test_files = test_files t.verbose = true t.warning = true end diff --git a/test/benchmark_runner_cli_test.rb b/test/benchmark_runner_cli_test.rb index 4b155494..1b8d395e 100644 --- a/test/benchmark_runner_cli_test.rb +++ b/test/benchmark_runner_cli_test.rb @@ -33,8 +33,13 @@ # Helper method to create args directly without parsing def create_args(overrides = {}) + if RUBY_ENGINE == 'truffleruby' + executables = { 'truffleruby' => [RbConfig.ruby] } + else + executables = { 'interp' => [RbConfig.ruby], 'yjit' => [RbConfig.ruby, '--yjit'] } + end defaults = { - executables: { 'interp' => [RbConfig.ruby], 'yjit' => [RbConfig.ruby, '--yjit'] }, + executables: executables, out_path: nil, out_override: nil, harness: 'harness', diff --git a/test/benchmark_runner_test.rb b/test/benchmark_runner_test.rb index 8a8485e1..f9c6e492 100644 --- a/test/benchmark_runner_test.rb +++ b/test/benchmark_runner_test.rb @@ -497,6 +497,7 @@ describe '.render_graph' do it 'delegates to GraphRenderer and returns calculated png_path' do + skip 'rmagick segfaults on truffleruby 25.0.0' if RUBY_ENGINE == 'truffleruby' Dir.mktmpdir do |dir| json_path = File.join(dir, 'test.json') expected_png_path = File.join(dir, 'test.png') From ffb3ee14945eb8e67de1d6e9d1369489883ddea9 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Sat, 22 Nov 2025 13:04:01 +0100 Subject: [PATCH 2/2] Remove continue-on-error for "rake test" on truffleruby * Otherwise new failures do not get noticed. * Instead, just exclude the problematic tests. --- .github/workflows/test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 699fbc35..a7d61b29 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,7 +36,6 @@ jobs: - name: Run tests run: rake test - continue-on-error: ${{ matrix.ruby == 'truffleruby' }} benchmark-default: runs-on: ubuntu-latest