tests: get TAG_INFORMATION
authorVolker Lendecke <vl@samba.org>
Thu, 9 May 2024 09:54:31 +0000 (11:54 +0200)
committerJeremy Allison <jra@samba.org>
Tue, 14 May 2024 22:29:36 +0000 (22:29 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
python/samba/tests/reparsepoints.py
selftest/knownfail.d/reparse

index 96ca6eefdd530c96e46bfc0383628834de0c9a59..1f74c61bc64c29c7f98ef7497b95bcb4e66d62d9 100644 (file)
@@ -118,6 +118,30 @@ class ReparsePoints(samba.tests.libsmb.LibsmbTests):
         self.assertEqual(e.exception.args[0],
                          ntstatus.NT_STATUS_IO_REPARSE_TAG_MISMATCH)
 
+    def test_query_reparse_tag(self):
+        conn = self.connection()
+        filename = 'reparse'
+        self.clean_file(conn, filename)
+
+        fd = conn.create(
+            filename,
+            DesiredAccess=sec.SEC_FILE_READ_ATTRIBUTE |
+                sec.SEC_FILE_WRITE_ATTRIBUTE |
+                sec.SEC_STD_DELETE,
+            CreateDisposition=libsmb.FILE_CREATE)
+
+        conn.delete_on_close(fd, 1)
+
+        info = conn.qfileinfo(fd, libsmb.FSCC_FILE_ATTRIBUTE_TAG_INFORMATION);
+        self.assertEqual(info['tag'], 0)
+
+        b = reparse_symlink.put(0x80000026, 0, b'asdf')
+        conn.fsctl(fd, libsmb.FSCTL_SET_REPARSE_POINT, b, 0)
+
+        info = conn.qfileinfo(fd, libsmb.FSCC_FILE_ATTRIBUTE_TAG_INFORMATION);
+        self.assertEqual(info['tag'], 0x80000026)
+
+
     # Show that we can write to a reparse point when opened properly
     def test_write_reparse(self):
         conn = self.connection()
index 11d094aa5c698580b2c4be996fbc38800cd8ef66..7cc4cab75695e2fa55e2c8ded2bb0b943b17f27b 100644 (file)
@@ -1,2 +1,3 @@
 ^samba.tests.reparsepoints.samba.tests.reparsepoints.ReparsePoints.test_create_reparse_directory
 ^samba.tests.reparsepoints.samba.tests.reparsepoints.ReparsePoints.test_create_reparse_nonempty_directory
+^samba.tests.reparsepoints.samba.tests.reparsepoints.ReparsePoints.test_query_reparse_tag