I just debugged the reason for some of the kwayland failures on FreeBSD. The warnings like QKqueueFileSystemWatcherEngine::addPaths: open: Operation not supported seen on https://build.kde.org/job/Frameworks/view/Platform%20-%20FreeBSDQt5.15/job/kwayland/job/kf5-qt5%20FreeBSDQt5.15/165/testReport/projectroot.autotests/client/kwayland_testDataSource/ are actually the reason for the failure FAIL! : TestDataSource::testDestroy() 'connectionDiedSpy.wait()' returned FALSE. () since this is normally triggered by QFileSystemWatcher noticing that the socket got deleted.
But on FreeBSD, it looks like QFileSystemWatcher doesn't support sockets, it tries to open them as a file? $ truss bin/testDataSource testOffer |& grep datasource openat(AT_FDCWD,"/tmp/runtime-dfaure/kwayland-test-wayland-datasource-0.lock",O_RDWR|O_CREAT|O_CLOEXEC,0660) = 8 (0x8) fstatat(AT_FDCWD,"/tmp/runtime-dfaure/kwayland-test-wayland-datasource-0",0x7fffffffc840,AT_SYMLINK_NOFOLLOW) ERR#2 'No such file or directory' bind(9,{ AF_UNIX "/tmp/runtime-dfaure/kwayland-test-wayland-datasource-0" },56) = 0 (0x0) connect(12,{ AF_UNIX "/tmp/runtime-dfaure/kwayland-test-wayland-datasource-0" },57) = 0 (0x0) openat(AT_FDCWD,"/tmp/runtime-dfaure/kwayland-test-wayland-datasource-0",O_RDONLY|O_CLOEXEC,00) ERR#45 'Operation not supported' unlink("/tmp/runtime-dfaure/kwayland-test-wayland-datasource-0") = 0 (0x0) unlink("/tmp/runtime-dfaure/kwayland-test-wayland-datasource-0.lock") = 0 (0x0) This comes from QKqueueFileSystemWatcherEngine::addPaths calling qt_safe_open() on the socket. I guess it needs to do this differently, at least for sockets? Anyone with kqueue/kevent experience? -- David Faure, fa...@kde.org, http://www.davidfaure.fr Working on KDE Frameworks 5