Skip to content

ci: Fix random i965_asm & glcpp test timeouts

Michel Dänzer requested to merge daenzer/mesa:ci-fix-timeouts into master

The meat of this MR is changing the i965_asm/glcpp test runner python scripts to use pipes instead of tempfiles for communicating with child processes. I don't really know Python and have never made this extensive changes to Python code before, someone who knows it well should make sure I didn't do anything silly. FWIW, I don't see anything on https://docs.python.org/3/library/subprocess.html?highlight=subprocess#subprocess.Popen to suggest this wouldn't work on Windows.

There are also fixes for other issues I stumbled over while working on this:

  • The standalone glcpp tool used uninitialized members of the GL context struct.
  • The glcpp valgrind test wasn't actually working as intended (in hindsight this was pretty obvious from the fact it only took marginally longer than the other glcpp tests :). I'm on the fence about this test: It takes orders of magnitude longer than any other meson test, and I'm not sure it provides enough benefit for that. But it did catch the previous issue, which I wasn't able to catch with ASan instead.

Finally, revert the previous workarounds for the test timeouts.

/cc @eric @dbaker @daniels @zmike

Edited by Michel Dänzer

Merge request reports