Hi Paul,
> * modules/openat2-tests, tests/test-openat2.c: New files.
Thanks for taking the trouble of writing this unit test.
I see a couple of test failures, though:
1) On Cygwin 3.x:
FAIL: test-openat2
==================
../../gltests/test-openat2.c:311: assertion 'close (fd) == 0' failed
Stack trace:
0x414e40 do_test_flags
../../gltests/test-openat2.c:315
0x414e40 main
../../gltests/test-openat2.c:509
FAIL test-openat2.exe (exit status: 142)
2) On FreeBSD 14.0 and NetBSD 10.0:
FAIL: test-openat2
==================
../../gltests/test-openat2.c:334: assertion 'errno == ELOOP || errno == EXDEV'
failed
Stack trace:
0x204d23 do_test_resolve
../../gltests/test-openat2.c:334
0x204d23 main
../../gltests/test-openat2.c:510
../../gltests/test-openat2.c:345: assertion 'errno == ELOOP || errno == EXDEV'
failed
Stack trace:
0x204de4 do_test_resolve
../../gltests/test-openat2.c:345
0x204de4 main
../../gltests/test-openat2.c:510
../../gltests/test-openat2.c:356: assertion 'errno == ELOOP || errno == EXDEV'
failed
Stack trace:
0x204ea5 do_test_resolve
../../gltests/test-openat2.c:356
0x204ea5 main
../../gltests/test-openat2.c:510
../../gltests/test-openat2.c:368: assertion 'errno == ELOOP || errno == EXDEV'
failed
Stack trace:
0x204f6f do_test_resolve
../../gltests/test-openat2.c:368
0x204f6f main
../../gltests/test-openat2.c:510
../../gltests/test-openat2.c:378: assertion 'errno == ELOOP' failed
Stack trace:
0x20502f do_test_resolve
../../gltests/test-openat2.c:378
0x20502f main
../../gltests/test-openat2.c:510
FAIL test-openat2 (exit status: 1)
3) On MSVC (but not on mingw):
FAIL: test-openat2
==================
D:\a\ci-testdir-check\ci-testdir-check\testdir-all\gltests\test-openat2.c:92:
assertion 'symlinkat ("/", dfd, "escaping_link") == 0' failed
D:\a\ci-testdir-check\ci-testdir-check\testdir-all\gltests\test-openat2.c:93:
assertion 'symlinkat ("escaping_link", dfd, "escaping_link_2") == 0' failed
D:\a\ci-testdir-check\ci-testdir-check\testdir-all\gltests\test-openat2.c:94:
assertion 'symlinkat ("some_file/invalid", dfd, "invalid_link") == 0' failed
D:\a\ci-testdir-check\ci-testdir-check\testdir-all\gltests\test-openat2.c:95:
assertion 'symlinkat ("some_file", dfd, "valid_link") == 0' failed
FAIL test-openat2.exe (exit status: 127)
I think I can deal with 3), but I'll let you deal with 1) and 2) first.
Bruno