The skip applied wherever setPermissions() failed, which on Linux and
macOS would hide a real failure. Only Windows cannot take read
permission away; elsewhere the call must succeed as before.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
anUnreadableSymbolIsNotACollision() takes every permission away from a
symbol file to check that an unreadable symbol is reported as such, not
as a collision. QFile::setPermissions() cannot do that on Windows, where
Qt only knows the read-only flag, so it returns false and the test
failed there. It now skips, as it already does when run as root, which
reads the file anyway.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A symbol file that exists but cannot be read has a null uuid, which the
check against the copy already embedded reported as "would collide with a
different element". Say that the file could not be read, with its full
path and length, since a long path is the usual cause on Windows.
tst_unreadableelement makes the file unreadable through its permissions
and fails on master with the old message.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>