[#87847] undefined symbol: mjit_init_p — Leam Hall <leamhall@...>

I pulled Ruby trunk on 3 Jul and am now getting errors similar to the

10 messages 2018/07/07

[#88088] [Ruby trunk Misc#14937] [PATCH] thread_pthread: lazy-spawn timer-thread only on contention — normalperson@...

Issue #14937 has been reported by normalperson (Eric Wong).

9 messages 2018/07/24

[ruby-core:87752] [Ruby trunk Feature#14888] Add trace point for eval (and related functions)

From: ruby-core@...
Date: 2018-07-02 15:49:16 UTC
List: ruby-core #87752
Issue #14888 has been updated by marcandre (Marc-Andre Lafortune).


You can already use `TracePoint` to "catch" the calls to eval:

```
TracePoint.trace(:c_call) do |tp|
  if tp.callee_id == :eval
    p "Eval called!"
  end
end
```

This won't give you access to the arguments though. I'm not sure there's a good reason why the arguments are not available within a TracePoint of type `call` or `c_call`, that might be a good thing to propose if it hasn't already.

Not answering your question, but given this issue and #14889, you seem to want to use `TracePoint` as a code coverage tool. You may want to check out `DeepCover` instead. We're interested in supporting some templating tools out of the box (ERB, Haml, slim) and didn't really take the time to check how difficult that would be. I remember checking ERB's API; it is very crude and would not allow it (without redoing the ERB parsing ourselves).

----------------------------------------
Feature #14888: Add trace point for eval (and related functions)
https://bugs.ruby-lang.org/issues/14888#change-72777

* 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: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next