Uh oh!
There was an error while loading. Please reload this page.
Plotly.purge in parcoords_test - #2406
Conversation
etpinard
commented
Feb 27, 2018
That's consistent with what I noticed in previous investigations, and the reason why I gave up debugging flaky tests on CI and added
Yeah, that's what you get for faking GPU processing using xvfb on a headless CI machine 😓 The parcoord tests are extremely resource intensive, that's why we originally skipped them on CI. Maybe we could try to 🔒 the same set of features with mocks with less dimensions and values?
Maybe we could add a All in all, thanks for investigating this! 💃 💃 |
@etpinard this seems to make
parcoords_testpass reliably - and I can even take out the@flakytag I added in #2399. (I did get a gl2d failure in one of these runs though... https://circleci.com/gh/plotly/plotly.js/7227)I seem to recall trying to add
Plotly.purgedirectly todestroyGraphDivonce before, and running into problems that looked like I was purging after the next test case had already started... anyway that's why I added thedelay(50)().then(done), and if that's really required it doesn't seem like a good idea to add it to everydestroyGraphDiv- though perhaps we can make this into a variant just for use with gl tests? Or maybe we can detect gl contexts and only purge/delay if we find one?A little more detail on my investigations:
-
npm run test-jasmine -- --tags=gl --skip-tags=noCI,flakynpm run test-jasmine -- --tags=gl --skip-tags=noCI,flaky parcoords:Plotly.purgedoesn't make things go faster - unsurprisingly it adds a couple of seconds - but it does seem to make the timing more consistent from one test case to the next, as though the need to purge was building up and then when the system finally decided to do it on its own, it took an enormous amount of time and caused a timeout. If that's the case, then we could also consider increasing the 30-sec no activity timeout.