Repository navigation
gh-161430: Omit tests expected to be skipped in regrtest - #161432
Conversation
|
Current status. Windows: macOS: Ubuntu: |
|
Emscripten: |
|
iOS: |
|
Update.
macOS: macOS (free-threading) / build and test (macos-26): Ubuntu / build and test (ubuntu-26.04): Android (x86_64): iOS: Emscripten: WASI: TSan: ASan: UBSan: MSan: I didn't note tests skipped because of denied resources, such as |
|
@cmaloney: Ok, the PR is now ready for review :-)
The question is now which rulesets/heuristics are a good thing and which ones are a bad thing :-) I think that the following rules are safe:
Safe rules which test
It should be ok:
In the grey area, I'm not sure:
Bad idea?
|
* Replace hasattr(os, name) check for sys.platform check. * List disabled extensions on Apple mobile and on Emscripten
|
Sorry, I changed my mind and marked again the PR as a draft. I'm making more changes to address #161432 (comment). |
|
UPDATE: I updated this comment for my latest commits. (Yet another) Update. No tests is skipped on:
Skip test_gdb,
=> Should we install gdb on these CIs? macOS uses clang and might prefer lldb but we don't provide any helper/script for lldb. CIs skipping tests:
ASan: MSan: Note: I didn't check "tests skipped (resource denied)": this list is not changed by the PR. |
|
Ok, new milestone! I modified I filtered tests which have dependencies disabled by configure. Example of Apple mobile from configure.ac: To make the test report more readable, I also ignored tests with dependencies which are expected to be missing on Emscripten, WASI and Android. Android: # Missing dependencies on Android
EXPECTED_SKIP |= {
'test_curses', # need _curses
'test_dbm_gnu', # need _gdbm
'test_dbm_ndbm', # need _dbm
'test_grp', # need grp
'test_readline', # need libreadline/libedit
}Emscripten: # Missing dependencies on Emscripten
EXPECTED_SKIP |= {
'test_lzma', # need _lzma
'test_zstd', # need _zstd
}
# Missing OpenSSL dependency on Emscripten
EXPECTED_SKIP |= NEED_SSL
# Missing Tcl/Tk dependency on Emscripten
EXPECTED_SKIP |= NEED_TKINTERWASI: # Missing dependencies on WASI
EXPECTED_SKIP |= {
'test_bz2', # need _bz2
'test_ctypes', # need _ctypes
'test_dbm_sqlite3', # need _sqlite3
'test_gzip', # need zlib
'test_lzma', # need _lzma
'test_readline', # need libreadline/libedit
'test_sqlite3', # need _sqlite3
'test_stable_abi_ctypes', # need _ctypes
'test_zlib', # need zlib
'test_zstd', # need _zstd
}
# Missing OpenSSL dependency on WASI
EXPECTED_SKIP |= NEED_SSL
# Missing Tcl/Tk dependency on WASI
EXPECTED_SKIP |= NEED_TKINTER@mhsmith @hoodmane @brettcannon: Hi! Are you ok marking these tests as "expected to be skipped" on Android, Emscripten and WASI? Do you see reasons why one of these dependencies may become available in the future? Are you ok to keep these filters for now, and maybe update In the worst case, a skipped test is hidden in the final test report, instead of being listed. But the test is still present in full logs obviously, with the reason for the skip. |
|
Yeah for Emscripten I'd like to add at least lzma and zstd. OpenSSL is more questionable since it's very big but it can be built. I'd also some day like to make subprocesses work in node. But there's no reason I can't update this new file. |
|
This approach adds a maintenance burden, because every time we add, remove or change a skip, we'd now need to update two places. Maybe we could reduce the log noise by improving the logging instead. Looking at the examples in #161430, by far the largest offender is I also notice that skipped modules which are inside packages are shown with a |
If a test is no longer skipped, it will no longer be listed under "200 tests expected to be skipped (not listed)" or under "skipped tests". You don't have to update Anyway, I removed the "missing dependencies" rules to focus on the least controversial filters like skipping test_free_threading on a GIL enabled build.
Good idea. I also removed |
Oh, because of this change, 145 tests are listed as "omitted" on Ubuntu! display_result() gets again test names with |
Uh oh!
There was an error while loading. Please reload this page.