From: Ralph Boehme Date: Tue, 26 Nov 2024 13:54:29 +0000 (+0100) Subject: tests: check reparse tag and POSIX file type from query-file with POSIX infolevel X-Git-Tag: tdb-1.4.13~461 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=26e81055183a3cb1e02138de18bc61f5dcd914fb;p=thirdparty%2Fsamba.git tests: check reparse tag and POSIX file type from query-file with POSIX infolevel Signed-off-by: Ralph Boehme Reviewed-by: Volker Lendecke --- diff --git a/python/samba/tests/reparsepoints.py b/python/samba/tests/reparsepoints.py index 130fdca911c..50e1fb59182 100644 --- a/python/samba/tests/reparsepoints.py +++ b/python/samba/tests/reparsepoints.py @@ -405,22 +405,30 @@ class ReparsePoints(samba.tests.libsmb.LibsmbTests): def do_test_nfs_reparse(self, filename, filetype, nfstype): """Test special file reparse tag""" - smb2 = self.connection() + smb2 = self.connection(posix=True) smb1 = self.connection_posix() self.clean_file(smb2, filename) smb1.mknod(filename, filetype | 0o755) - fd = smb2.create( + fd,_,_ = smb2.create_ex( filename, DesiredAccess=sec.SEC_FILE_READ_ATTRIBUTE|sec.SEC_STD_DELETE, CreateOptions=libsmb.FILE_OPEN_REPARSE_POINT, - CreateDisposition=libsmb.FILE_OPEN) + CreateDisposition=libsmb.FILE_OPEN, + ShareAccess=(libsmb.FILE_SHARE_READ|libsmb.FILE_SHARE_WRITE|libsmb.FILE_SHARE_DELETE), + CreateContexts=[posix_context(0o600)]) smb2.delete_on_close(fd, 1) info = smb2.qfileinfo(fd, libsmb.FSCC_FILE_ATTRIBUTE_TAG_INFORMATION); self.assertEqual(info['tag'], libsmb.IO_REPARSE_TAG_NFS) + info = smb2.qfileinfo(fd, libsmb.FSCC_FILE_POSIX_INFORMATION); + self.assertEqual(info['reparse_tag'], libsmb.IO_REPARSE_TAG_NFS) + + type, perms = self.wire_mode_to_unix(info['perms']) + self.assertEqual(type, filetype) + reparse = smb2.fsctl(fd, libsmb.FSCTL_GET_REPARSE_POINT, b'', 1024) (tag, ) = reparse_symlink.get(reparse) self.assertEqual(tag, nfstype) diff --git a/selftest/knownfail.d/samba.tests.reparsepoints b/selftest/knownfail.d/samba.tests.reparsepoints new file mode 100644 index 00000000000..fb7205e14b3 --- /dev/null +++ b/selftest/knownfail.d/samba.tests.reparsepoints @@ -0,0 +1,2 @@ +^samba.tests.reparsepoints.samba.tests.reparsepoints.ReparsePoints.test_fifo_reparse\(fileserver_smb1\) +^samba.tests.reparsepoints.samba.tests.reparsepoints.ReparsePoints.test_sock_reparse\(fileserver_smb1\)