Skip to content

Commit

Permalink
Merge pull request #115 from andrykonchin/ak/add-truffleruby-on-ci
Browse files Browse the repository at this point in the history
Add TruffleRuby in CI
  • Loading branch information
eregon authored Jan 10, 2025
2 parents 7c4876d + f6578ba commit d5716cc
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 10 deletions.
10 changes: 9 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
ruby-versions:
uses: ruby/actions/.github/workflows/ruby_versions.yml@master
with:
engine: cruby
engine: cruby-truffleruby
min_version: 2.6

build:
Expand All @@ -24,6 +24,14 @@ jobs:
exclude:
- ruby: head
os: windows-latest
- ruby: truffleruby # need truffleruby 24.2+
os: ubuntu-latest
- ruby: truffleruby # need truffleruby 24.2+
os: macos-latest
- ruby: truffleruby
os: windows-latest
- ruby: truffleruby-head
os: windows-latest
include:
- ruby: mingw
os: windows-latest
Expand Down
13 changes: 8 additions & 5 deletions test/date/test_date_conv.rb
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,14 @@ def test_to_time__from_datetime
[t.year, t.mon, t.mday, t.hour, t.min, t.sec, t.nsec])
end

if Time.allocate.respond_to?(:subsec)
d = DateTime.new(2004, 9, 19, 1, 2, 3, 0) + 456789123456789123.to_r/86400000000000000000000
t = d.to_time.utc
assert_equal([2004, 9, 19, 1, 2, 3, Rational(456789123456789123,1000000000000000000)],
[t.year, t.mon, t.mday, t.hour, t.min, t.sec, t.subsec])
# TruffleRuby does not support more than nanoseconds
unless RUBY_ENGINE == 'truffleruby'
if Time.allocate.respond_to?(:subsec)
d = DateTime.new(2004, 9, 19, 1, 2, 3, 0) + 456789123456789123.to_r/86400000000000000000000
t = d.to_time.utc
assert_equal([2004, 9, 19, 1, 2, 3, Rational(456789123456789123,1000000000000000000)],
[t.year, t.mon, t.mday, t.hour, t.min, t.sec, t.subsec])
end
end
end

Expand Down
11 changes: 7 additions & 4 deletions test/date/test_date_parse.rb
Original file line number Diff line number Diff line change
Expand Up @@ -589,10 +589,13 @@ def test__parse_odd_offset
end

def test__parse_too_long_year
str = "Jan 1" + "0" * 100_000
h = EnvUtil.timeout(3) {Date._parse(str, limit: 100_010)}
assert_equal(100_000, Math.log10(h[:year]))
assert_equal(1, h[:mon])
# Math.log10 does not support so big numbers like 10^100_000 on TruffleRuby
unless RUBY_ENGINE == 'truffleruby'
str = "Jan 1" + "0" * 100_000
h = EnvUtil.timeout(3) {Date._parse(str, limit: 100_010)}
assert_equal(100_000, Math.log10(h[:year]))
assert_equal(1, h[:mon])
end

str = "Jan - 1" + "0" * 100_000
h = EnvUtil.timeout(3) {Date._parse(str, limit: 100_010)}
Expand Down

0 comments on commit d5716cc

Please sign in to comment.