summaryrefslogtreecommitdiff
path: root/test/coverage
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2021-06-23 13:28:22 -0400
committerAaron Patterson <aaron.patterson@gmail.com>2021-06-23 11:34:37 -0700
commit31f4d262736c224a37e7c630a0790d40b11cdd57 (patch)
tree370a84d407434f1ab89c1b95bd6c4b67431b3d7e /test/coverage
parentb29c48efc0b08a52b6f72cf8f0ac16b93e373a5c (diff)
downloadruby-31f4d262736c224a37e7c630a0790d40b11cdd57.tar.gz
Check type of instruction - can be INSN or ADJUST
If the type is ADJUST we don't want to treat it like an INSN so we have to check the type before reading from `insn_info.events`. [Bug #18001] [ruby-core:104371] Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
Diffstat (limited to 'test/coverage')
-rw-r--r--test/coverage/test_coverage.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/coverage/test_coverage.rb b/test/coverage/test_coverage.rb
index a80e33379c..22557bd9d8 100644
--- a/test/coverage/test_coverage.rb
+++ b/test/coverage/test_coverage.rb
@@ -760,4 +760,18 @@ class TestCoverage < Test::Unit::TestCase
foo { raise } rescue nil
end;
end
+
+ def test_coverage_with_asan
+ result = { :lines => [1, 1, 0, 0, nil, nil, nil] }
+
+ assert_coverage(<<~"end;", { lines: true }, result) # Bug #18001
+ class Foo
+ def bar
+ baz do |x|
+ next unless Integer == x
+ end
+ end
+ end
+ end;
+ end
end