Hi again,

With the support of ASF Infra, we now are in a position to run arbitrary alternative platforms in our CI builds. This is great news for the people who have been waiting for ARM (aarch64), PowerPC/POWER (ppc64le), mainframe (s390x), and other architecture supports.

However, we have a challenge. Emulating other architectures is necessarily slower than running natively on provided hardware. I ran some measurements today, and found that we're not able to pass our test suites because tests are timing out.

For example, on native x86_64 hardware, this test finishes in under half a second:

    b64url_tests: encode_binary_test...[0.372s] ok

Running the same test on aarch64, being emulated on the same x86_64 machine:

    b64url_tests: encode_binary_test...[4.493 s] ok

or 12x longer. The next test (decode_iolist_test) fails, presumably because it hits a 5s timeout period.

I need advice from the list. Should we:

* Increase the test timeouts significantly so these tests can complete
* Restrict ourselves to running only on actual hardware (which limits us
  only to aarch64, and at a stretch, ppc64le)
* Remove test timeouts entirely, rewriting the ones that wait forever to
  do something different
* Something else that I haven't mentioned

Having regression testing on a variety of platforms is something that is of benefit to the project; we've ignored it for too long.

-Joan

Reply via email to