diff options
author | Kenta Murata <mrkn@mrkn.jp> | 2021-01-06 14:41:13 +0900 |
---|---|---|
committer | Kenta Murata <mrkn@mrkn.jp> | 2021-01-07 10:19:46 +0900 |
commit | 698d7947c300a5f5d63965fb2ccce59601f2563b (patch) | |
tree | bb2b4208d67906cd0069059b784061cc191d89f3 /test/bigdecimal/helper.rb | |
parent | 939729dd823ff5a71c7f203b8d6e5e5976e31d4f (diff) |
[ruby/bigdecimal] Include TestBigDecimalBase in TestBigDecimalUtil
https://github.com/ruby/bigdecimal/commit/f732201df1
Diffstat (limited to 'test/bigdecimal/helper.rb')
-rw-r--r-- | test/bigdecimal/helper.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/bigdecimal/helper.rb b/test/bigdecimal/helper.rb new file mode 100644 index 0000000000..22b05f09ae --- /dev/null +++ b/test/bigdecimal/helper.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: false +require "test/unit" +require "bigdecimal" + +module TestBigDecimalBase + def setup + @mode = BigDecimal.mode(BigDecimal::EXCEPTION_ALL) + BigDecimal.mode(BigDecimal::EXCEPTION_ALL, true) + BigDecimal.mode(BigDecimal::EXCEPTION_UNDERFLOW, true) + BigDecimal.mode(BigDecimal::EXCEPTION_OVERFLOW, true) + BigDecimal.mode(BigDecimal::ROUND_MODE, BigDecimal::ROUND_HALF_UP) + BigDecimal.limit(0) + end + + def teardown + [BigDecimal::EXCEPTION_INFINITY, BigDecimal::EXCEPTION_NaN, + BigDecimal::EXCEPTION_UNDERFLOW, BigDecimal::EXCEPTION_OVERFLOW].each do |mode| + BigDecimal.mode(mode, !(@mode & mode).zero?) + end + end + + def under_gc_stress + stress, GC.stress = GC.stress, true + yield + ensure + GC.stress = stress + end +end |