Closed mmarchini closed 4 years ago
cc @cjihrig as this might be of your interest
That's great. Thank you.
will create an issue every time metadata changes are detected
Just so I know where to watch... will the issues be created here, the llnode-v8-tester repo, or somewhere else?
On llnode-v8-tester. My idea is to use information from issues there to open issues here manually, after triaging which metadata change are relevant for llnode.
We could even improve the code on that repository to also print all symbols llnode is able to load from a d8 binary. If there are changes in this list between two versions, those changes will likely impact llnode.
This could be implemented on llnode as:
1) Keep a cache of all symbols successfully loaded
2) Expose a command (could be available only on debug) to run ::Load
on all Constants classes and output that list
I believe currently when LLNODE_DEBUG=true
is set the constant loading failures can be grepped from stderr when the tests are run?
The problem with tests to detect metadata change is that they might not run every command (if a test step fail, for example), and ::Load is only called when needed (so some Constants classes would never be called).
I created a repository to keep track of V8 postmortem metadata changes (https://github.com/mmarchini/llnode-v8-tester). The repository uses daily GitHub Actions to build
d8
and will create an issue every time metadata changes are detected. In the future I hope to add some llnode integration tests there as well (run llnode test suite against the latest build ofd8
).This is not intended to replace the postmortem tests we have on Node.js, so we should keep updating those as we introduce new metadata here.