From: "mame (Yusuke Endoh)" Date: 2022-09-28T07:40:46+00:00 Subject: [ruby-core:110116] [Ruby master Feature#19008] Introduce coverage support for `eval`. Issue #19008 has been updated by mame (Yusuke Endoh). @znz told me that this change broke our continuous coverage measurement. https://github.com/ruby/actions/actions/runs/3104935882/jobs/5029973324#step:11:10 ``` Error: Artifact path is not valid: /ruby/tmp/test_rubygems_20220922-21188-1ddkra/gemhome/specifications/a#{raise %}-2.gemspec.func-sort-c.html. Contains the following character: Less than < Invalid characters include: Double quote ", Colon :, Less than <, Greater than >, Vertical bar |, Asterisk *, Question mark ?, Carriage return \r, Line feed \n The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems. ``` Here is my analysis: 1. Some tests of rubygems uses `Kernel#eval` with a filename `a#{raise %}-2.gemspec` 2. coverage.so records the filename and lcov creates a file named `a#{raise %}-2.gemspec.func-sort-c.html` 3. It fails to upload the file to GitHub Actions' artifact I would like to temporarily revert the commit to restore the coverage measurement. I am now convinced that it is necessary to disable this feature by default. @ioquatix Could you create a patch of `Coverage.start(eval: false)`? ---------------------------------------- Feature #19008: Introduce coverage support for `eval`. https://bugs.ruby-lang.org/issues/19008#change-99373 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal ---------------------------------------- I'd like to introduce coverage support for `eval`. I mostly only care about the case where an explicit path is given, and I'd even be okay to only handle the case where the line number is the default (0). https://github.com/ruby/ruby/pull/6396 This is an incredibly useful feature for computing coverage of ERB templates and other similar things. -- https://bugs.ruby-lang.org/ Unsubscribe: