emscripten-core / emscripten-core/posixtestsuite
aio_* and lio_listio tests expect _POSIX_ASYNCHRONOUS_IO to equal 200112L, which corresponds to an outdated POSIX standard from 2001
- Dominant language
- C
- Stars
- 67
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
All 104 tests under conformance/interfaces/{aio_cancel,aio_error,aio_fsync,aio_read,aio_suspend,aio_write,lio_listio}/ have the following gate:
```c
#if _POSIX_ASYNCHRONOUS_IO != 200112L
exit(PTS_UNSUPPORTED);
#endif
```
This means that if the POSIX revision isn't POSIX.1-2001, the test will ALWAYS return UNSUPPORTED. However, all libcs have updated to 200809L, which corresponds to POSIX.1-2008. Every other check allows newer versions except for this one, so it might be a mistake or a leftover. It is a 1-line fix on all 104 tests, so me and my agent would be happy to submit a pull request that fixes this to match.
alexander.re.g64@gmail.com
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by inspecting the POSIX version gate in one test under conformance/interfaces/aio_cancel, then compare it with the version checks in the other named AIO and lio_listio directories. Done means all 104 tests no longer reject newer POSIX revisions as unsupported; review the affected gates across those directories afterward.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- operating-systems, testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 76/100