[PATCH] D149173: [llvm][vfs] Avoid silent fallback to process-wide working directory
Rainer Orth via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 3 06:51:50 PDT 2023
ro added a comment.
The new test `FAIL`s on Solaris like so:
FAIL: LLVM-Unit :: Support/./SupportTests/12/42 (70024 of 75206)
[...]
/var/llvm/dist-amd64-release-stage2-A-flang/tools/clang/stage2-bins/unittests/Support/./SupportTests --gtest_filter=VirtualFileSystemTest.PhysicalFileSystemWorkingDirFailure
--
/vol/llvm/src/llvm-project/dist/llvm/unittests/Support/VirtualFileSystemTest.cpp:546: Failure
Expected equality of these values:
FS1->getCurrentWorkingDirectory().getError()
Which is: system:0
errc::no_such_file_or_directory
Which is: 4-byte object <02-00 00-00>
Running it under `truss` (the Solaris equivalent of `strace`), one sees
24717: unlinkat(AT_FDCWD, "/var/tmp/d1-67ee3b", AT_REMOVEDIR) Err#22 EINVAL
As documented in `rmdir(2)`, this is expected:
EINVAL The directory to be removed is the current directory,
or the final component of path is ".".
This is left unspecified in XPG7; however in case there is an error, it's expected to be `EBUSY`. I suspect Solaris kept `EINVAL` for backwards compatibility.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D149173/new/
https://reviews.llvm.org/D149173
More information about the llvm-commits
mailing list