Hi all,
It has been a while since my last email. I was busy until recently but would like to restart the work now.
First of all, good news! All tests were passing or with reasonable workarounds (see below). I also ran the benchmarks on SiFive Unmatched board (with Ubuntu 24.04) and got the result w.r.t. CPython 2.7 (see the attached JSON file).
Thus, I would like to send out the Pull Request to merge the work soon. What do you think?
Back the the test result:
These were the failures I mentioned earlier:
* Test Suite: app-level (-A) test
* test_getsetsockopt_zero -- It seems to be QEMU-specific. It isn't reproducible on SiFive Unmatched + Ubuntu 24.04.
* test_half_conversions -- sNAN being canonicalized when RISCV converts F64->F32. I separate it into two cases: (1) F16->F64 (passing) and (2) F16->F64->F32 (skipped).
* test_floorceiltrunc -- RISC-V floor/ceil/trunc don't preserve signbit for nan inputs.
* test__mercurial -- This was fixed after installing the git command.
* Test Suite: -D tests
* All passes.
* Test Suite: extra tests
* test_connection_del -- Fixed
* Test Suite: lib-python test
* test_ssl -- libssl internal error when TLSv1 was requested. I will send out another Pull Request for this.
* test_tokenize -- This was caused by a bug in RISCV backend card marking code generator. This is fixed now.
* test_zipfile64 -- This was caused by a bug in RISCV backend card marking code generator. This is fixed now.
* Test Suite: pypyjit tests
* test_jitlogparser -- This was caused by a bug in RISCV backend card marking code generator. This is fixed now.
* test_micronumpy -- This looked like a benign error (the order is slightly different). Since the performance was fine, I wrote a special case for RISCV.
The following were caused by slow CPU speed vs. wall clock time:
* Test Suite: lib-python test
* test_json.py: test_roundtrip
* test_textio.py: test_readline
* test_unicode.py: test_index, test_rfind, test_rindex
These can be fixed by adding:
```
from hypothesis import settings, HealthCheck
@settings(suppress_health_check=[HealthCheck.too_slow])
```
I feel we can just ignore these for now.
This concludes the work to debug all failing tests.
The full list of Git commits can be found here:
Please let me know what you think. Thank you.
Regards,
Logan