ZJIT: Test against bundled gems on CI

This commit is contained in:
Stan Lo 2025-09-12 18:55:37 +01:00 committed by Takashi Kokubun
parent 42ba82424d
commit 6c7aa118cc
Notes: git 2025-10-08 00:13:35 +00:00
3 changed files with 8 additions and 5 deletions

View File

@ -101,9 +101,6 @@ jobs:
- name: Run configure
run: ../src/configure -C --disable-install-doc ${{ matrix.configure }}
- run: make prepare-gems
if: ${{ matrix.test_task == 'test-bundled-gems' }}
- run: make
- name: Verify that --zjit-dump-disasm works

View File

@ -72,6 +72,10 @@ jobs:
configure: '--enable-zjit=dev --with-gcc=clang-14'
libclang_path: '/usr/lib/llvm-14/lib/libclang.so.1'
- test_task: 'test-bundled-gems'
configure: '--enable-zjit=dev'
run_opts: '--zjit-call-threshold=1'
env:
GITPULLOPTIONS: --no-tags origin ${{ github.ref }}
RUN_OPTS: ${{ matrix.run_opts }}

View File

@ -1,6 +1,7 @@
require 'rbconfig'
require 'timeout'
require 'fileutils'
require 'shellwords'
require_relative 'lib/colorize'
require_relative 'lib/gem_env'
@ -25,6 +26,7 @@ colorize = Colorize.new
rake = File.realpath("../../.bundle/bin/rake", __FILE__)
gem_dir = File.realpath('../../gems', __FILE__)
rubylib = [gem_dir+'/lib', ENV["RUBYLIB"]].compact.join(File::PATH_SEPARATOR)
run_opts = ENV["RUN_OPTS"]&.shellsplit
exit_code = 0
ruby = ENV['RUBY'] || RbConfig.ruby
failed = []
@ -33,7 +35,7 @@ File.foreach("#{gem_dir}/bundled_gems") do |line|
next if bundled_gems&.none? {|pat| File.fnmatch?(pat, gem)}
next unless File.directory?("#{gem_dir}/src/#{gem}/test")
test_command = [ruby, "-C", "#{gem_dir}/src/#{gem}", rake, "test"]
test_command = [ruby, *run_opts, "-C", "#{gem_dir}/src/#{gem}", rake, "test"]
first_timeout = 600 # 10min
toplib = gem
@ -71,7 +73,7 @@ File.foreach("#{gem_dir}/bundled_gems") do |line|
load_path = true
when "test-unit"
test_command = [ruby, "-C", "#{gem_dir}/src/#{gem}", "test/run.rb"]
test_command = [ruby, *run_opts, "-C", "#{gem_dir}/src/#{gem}", "test/run.rb"]
when "csv"
first_timeout = 30