[ruby-core:110011] [Ruby master Feature#19008] Introduce coverage support for `eval`.
From:
"jeremyevans0 (Jeremy Evans)" <noreply@...>
Date:
2022-09-22 22:44:51 UTC
List:
ruby-core #110011
SXNzdWUgIzE5MDA4IGhhcyBiZWVuIHVwZGF0ZWQgYnkgamVyZW15ZXZhbnMwIChKZXJlbXkgRXZh bnMpLgoKCm1hbWUgKFl1c3VrZSBFbmRvaCkgd3JvdGUgaW4gI25vdGUtMTE6Cj4gPiBJbiB0aGUg Y2FzZXMgd2hlcmUgSSBkbyBjYXJlIGFuZCBJIHdhbnQgdG8gY2hlY2sgY292ZXJhZ2Ugb2YgZXZh bGVkIGNvZGUsIGl0IHdvdWxkIGJlIGJlc3QgdG8gYmUgYWJsZSB0byBsb29rIGF0IGFsbCBldmFs cyBzZXBhcmF0ZWx5LiBJdCBsb29rcyBsaWtlIHlvdXIgY3VycmVudCBhcHByb2FjaCBpcyB0byBq dXN0IG92ZXJyaWRlIGFueSBleGlzdGluZyBjb3ZlcmFnZSBlbnRyeSBmb3IgZWFjaCBuZXcgZXZh bCwgd2hpY2ggZG9lcyBub3QgYWxsb3cgZm9yIHRoYXQuCj4gCj4gSXQgaXMgYSBmYWlyIHBvaW50 LCBidXQgSSBhbSBhZnJhaWQgdGhhdCByZWNvcmRpbmcgcGVyIGNhbGwgdG8gZXZhbCB3aWxsIGJs b2F0IHRoZSBjb3ZlcmFnZSBkYXRhIHdpdGhvdXQgbGltaXQuIEhvdyBhYm91dCBhY2N1bXVsYXRp bmcgYWxsIGNvdmVyYWdlIGRhdGEgb2YgZXZhbCdlZCBjb2RlPwo+IAo+IGBgYAo+IDEwMDAwLnRp bWVzIGRvIHxpfAo+ICAgZXZhbCA8PC1FTkQsIGJpbmRpbmcsIF9fRklMRV9fLCBfX0xJTkVfXysx Cj4gICAgIDEKPiAgIEVORAo+IGVuZAo+IAo+IENvdmVyYWdlLnJlc3VsdCAjPT4geyBfX0ZJTEVf XyA9PiBbMSwgbmlsLCAuLi5dLCBbOmV2YWwsIF9fRklMRV9fXSA9PiBbMTAwMDBdIH0KPiBgYGAK PiAKPiBJIGFtIHZlcnkgYWZyYWlkIGlmIHRoZSBrZXkgYFs6ZXZhbCwgX19GSUxFX19dYCB3aWxs IGJyZWFrIHNvbWUgZXhpc3RpbmcgY292ZXJhZ2UgdG9vbHMgbGlrZSBzaW1wbGVjb3YuIElmIHdl IGNob29zZSB0aGlzIGRlc2lnbiwgd2Ugc2hvdWxkIGludHJvZHVjZSBgQ292ZXJhZ2Uuc3RhcnQo ZXZhbDogZmFsc2UpYCBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0LgoKSSBhZ3JlZSB0aGF0IHRo ZXJlIHNob3VsZCBiZSBhIGtleXdvcmQgdG8gZW5hYmxlIHRoaXMgc3VwcG9ydCwgYW5kIGl0IHNo b3VsZCBiZSBkaXNhYmxlZCBieSBkZWZhdWx0LgoKSWYgeW91IGFyZSBpZ25vcmluZyBgX19MSU5F X19gIHdoZW4gY29tcHV0aW5nIGNvdmVyYWdlIChJJ20gZ3Vlc3NpbmcgeW91IGFyZSwgc2luY2Ug eW91IGhhdmUgYSB2YWx1ZSBvZiBgWzEwMDAwXWAsIGV2ZW4gdGhvdWdoIGBfX0xJTkVfX2Agc2hv dWxkIGJlIDMgYW5kIG5vdCAxKSwgYW5kIHRyeWluZyB0byBhY2N1bXVsYXRlIG11bHRpcGxlIGNh bGxzLCBJIHRoaW5rIGl0IHdvdWxkIGJlIHByb2JsZW1hdGljIHRvIHVzZSBgWzpldmFsLCBfX0ZJ TEVfX11gIGFzIHRoZSBrZXksIGJlY2F1c2UgaXQgd291bGRuJ3QgY29ycmVjdGx5IGhhbmRsZSBz b21ldGhpbmcgbGlrZToKCmBgYHJ1YnkKICBldmFsIDw8LUVORCwgYmluZGluZywgX19GSUxFX18s IF9fTElORV9fKzEKICAgIGlmIHRydWUKICAgICAgc29tZXRoaW5nCiAgICBlbmQKICBFTkQKICBl dmFsIDw8LUVORCwgYmluZGluZywgX19GSUxFX18sIF9fTElORV9fKzEKICAgIGlmIGZhbHNlCiAg ICAgIHNvbWV0aGluZwogICAgZW5kCiAgRU5ECmBgYAoKWW91IGNvdWxkIHByb2JhYmx5IHdvcmsg YXJvdW5kIHRoYXQgd2l0aCBgWzpldmFsLCBfX0ZJTEVfXywgX19MSU5FX19dYCBhcyB0aGUga2V5 LiAgVGhhdCB3b3VsZG4ndCBoYW5kbGUgY29ycmVjdGx5IGhhbmRsZSBjYXNlcyB3aGVyZSB5b3Ug YXJlbid0IHBhc3NpbmcgYSBsaXRlcmFsIHN0cmluZyBhbmQgdGhlIHN0cmluZyBjYW4gdmFyeSBw ZXIgY2FsbDoKCmBgYHJ1YnkKICAzLnRpbWVzIGRvIHxpfAogICAgZXZhbCBjb2Rlc1tpXSwgYmlu ZGluZywgX19GSUxFX18sIF9fTElORV9fCiAgZW5kCmBgYAoKSG93ZXZlciwgSSBleHBlY3Qgc3Vj aCBjYWxscyBhcmUgcmFyZXIsIGFuZCBtYXliZSB3ZSBkb24ndCBuZWVkIHRvIGhhbmRsZSB0aGVt LgoKCldoYXQgYXJlIHlvdXIgdGhvdWdodHMgb24gYSBjYWxsYWJsZSBrZXl3b3JkIGFyZ3VtZW50 IGZvciBzZXR0aW5nIHRoZSBjb3ZlcmFnZSBrZXk/OgoKYGBgcnVieQogIENvdmVyYWdlLnN0YXJ0 KGV2YWxfa2V5OiAtPihmaWxlLCBsaW5lKXsiZXZhbC0je2ZpbGV9OiN7bGluZX0ifSkKYGBgCgpJ ZiB0aGlzIHJldHVybmVkIGEga2V5IHRoYXQgYWxyZWFkeSBleGlzdGVkLCBjb3ZlcmFnZSBpbmZv cm1hdGlvbiBjb3VsZCBiZSBhY2N1bXVsYXRlZCAoZWl0aGVyIGJ5IGRlZmF1bHQgb3IgYXMgYW4g b3B0aW9uKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVy ZSAjMTkwMDg6IEludHJvZHVjZSBjb3ZlcmFnZSBzdXBwb3J0IGZvciBgZXZhbGAuCmh0dHBzOi8v YnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTAwOCNjaGFuZ2UtOTkyNjIKCiogQXV0aG9yOiBp b3F1YXRpeCAoU2FtdWVsIFdpbGxpYW1zKQoqIFN0YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3Jt YWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpJJ2QgbGlrZSB0byBp bnRyb2R1Y2UgY292ZXJhZ2Ugc3VwcG9ydCBmb3IgYGV2YWxgLiBJIG1vc3RseSBvbmx5IGNhcmUg YWJvdXQgdGhlIGNhc2Ugd2hlcmUgYW4gZXhwbGljaXQgcGF0aCBpcyBnaXZlbiwgYW5kIEknZCBl dmVuIGJlIG9rYXkgdG8gb25seSBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGxpbmUgbnVtYmVy IGlzIHRoZSBkZWZhdWx0ICgwKS4KCmh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC82 Mzk2CgpUaGlzIGlzIGFuIGluY3JlZGlibHkgdXNlZnVsIGZlYXR1cmUgZm9yIGNvbXB1dGluZyBj b3ZlcmFnZSBvZiBFUkIgdGVtcGxhdGVzIGFuZCBvdGhlciBzaW1pbGFyIHRoaW5ncy4KCgoKLS0g Cmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5zdWJzY3JpYmU6IDxtYWlsdG86cnVieS1j b3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xp c3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFuL29wdGlvbnMvcnVieS1jb3JlPgo=