[node] Added render test suite implementation that recycles the map object#9689
Conversation
|
|
| @@ -0,0 +1,118 @@ | |||
| 'use strict'; | |||
There was a problem hiding this comment.
Instead of duplicating this file, can you please add the changes to the original suite_implementation and add a command line argument to toggle between the two variants? It looks like the majority of the code is the same.
| "dependencies": { | ||
| "nan": "^2.4.0", | ||
| "node-pre-gyp": "^0.6.28", | ||
| "nan": "^2.4.0" |
There was a problem hiding this comment.
Oh, I think yarn automatically sorts packages in alphabetical order when inserting new dependencies.
8e994ec to
2058749
Compare
2058749 to
ac43003
Compare
|
Results are in!
So far the main obstacles were:
Caveats:
What's left:
|
ac43003 to
e2ce61e
Compare
afe594d to
902f38e
Compare
e779634 to
34f2206
Compare
|
Render tests now pass locally on both macOS and Linux. This indicates the test failures mentioned in #9689 (comment) could be caused by a race condition when fetching data from local resources. |
f2934da to
2044420
Compare
50a479c to
fe47ec5
Compare
fe47ec5 to
da842cc
Compare
|
Last known open bug found by this PR is described in #9868 - which concerns some occasional render test failures in |
| "test": "tape platform/node/test/js/**/*.test.js", | ||
| "test-memory": "node --expose-gc platform/node/test/memory.test.js", | ||
| "test-suite": "node platform/node/test/render.test.js && node platform/node/test/query.test.js" | ||
| "test-suite": "run-s test-render \"test-render -- --recycle-map\" test-query", |
There was a problem hiding this comment.
This will overwrite the artifacts from the first test-render run with those from the test-render --recycle-map run. Might be confusing/make it hard to debug.
Also, looks like we've roughly doubled the performance of render tests, but are giving that right back by running them twice. Should we parallelize this somehow? For instance we could run one variant in each of the two node 6 builds.
There was a problem hiding this comment.
Let's make it so then that tests results run via --recycle-map will be saved in index-recycle-map.html then.
I'm also 👍 in having e.g. node6-debug running tests with --recycle-map while node6-release runs them as usual.
There was a problem hiding this comment.
This is now done in GL JS side via mapbox/mapbox-gl-js#5195. I'll update this PR accordingly.
7c4a443 to
648e73c
Compare
648e73c to
130c241
Compare
|
@brunoabinader I merged #9489 so the |
130c241 to
c3df47f
Compare
|
Thanks @lbud! PR is updated now. |
bf23aa9 to
ab16876
Compare
f7969cb to
3bd440a
Compare
|
@kkaefer @jfirebaugh can you please re-review? |
3bd440a to
f3b7553
Compare
|
By the way, though I've added the option to shuffle the render test sequence, I'm going to enable it on CI on a further PR - which also includes implementing |
jfirebaugh
left a comment
There was a problem hiding this comment.
LGTM other than one question.
There was a problem hiding this comment.
#9704 is closed -- is this ignore still necessary?
There was a problem hiding this comment.
You're right - this is no longer necessary 👍 removing
Based on a previous change proposal.
f3b7553 to
ff6acdc
Compare
This PR:
test-suitetarget usingnpm-run-all'srun-sscript to run individual scripts in sequence.--recycle-mapoption to the render test that recycles the map object among test runs.