From: samuel@... Date: 2018-08-27T04:25:31+00:00 Subject: [ruby-core:88662] [Ruby trunk Feature#14888] Add trace point for eval (and related functions) Issue #14888 has been updated by ioquatix (Samuel Williams). @marcandre I already added support for coverage of templates and it works pretty well. You need to be careful with template code generation, but for the most part it's fairly straight forward. Thanks for your detailed reply - if we could expose arguments, it would be suitable. Keep in mind, there are multiple eval functions, here is what I ended up doing: https://github.com/ioquatix/covered/blob/master/lib/covered/eval.rb ---------------------------------------- Feature #14888: Add trace point for eval (and related functions) https://bugs.ruby-lang.org/issues/14888#change-73719 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- I'm working on an improved coverage library for Ruby which can compute coverage of things like ERB templates where the source file is not Ruby code but is translated to Ruby code using `eval`. When using the line trace point, the path is the original template file (e.g. page.erb), which is problematic because this file isn't Ruby code nor do we generally know how to handle that file. Ideally, we capture calls to `eval`, including the source, line number, and path, so we can match up with the path given by the line trace point and parse the correct source/ast. In order to do that, it would be great to have a specific trace point for `eval` (and related functions). Ideally, the trace point would capture all the arguments to eval so they could be processed correctly. This would allow such coverage library to correctly find the right code/AST for a given file path. -- https://bugs.ruby-lang.org/ Unsubscribe: