]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-stat-util: check if linux/stat.h is actually included from sys/stat.h
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 28 Feb 2025 14:28:42 +0000 (23:28 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 28 Feb 2025 15:33:32 +0000 (00:33 +0900)
src/test/test-stat-util.c

index 3ab177d1ce24624200f8baa1899fb006816e7440..e8091e048cee29e9d5a208ec3fc27ab6c28cec7b 100644 (file)
 #include "tests.h"
 #include "tmpfile-util.h"
 
+TEST(statx_definitions) {
+        /* Check if linux/stat.h is included from sys/stat.h. */
+        ASSERT_EQ(STATX_TYPE,           0x00000001U);
+        ASSERT_EQ(STATX_MODE,           0x00000002U);
+        ASSERT_EQ(STATX_NLINK,          0x00000004U);
+        ASSERT_EQ(STATX_UID,            0x00000008U);
+        ASSERT_EQ(STATX_GID,            0x00000010U);
+        ASSERT_EQ(STATX_ATIME,          0x00000020U);
+        ASSERT_EQ(STATX_MTIME,          0x00000040U);
+        ASSERT_EQ(STATX_CTIME,          0x00000080U);
+        ASSERT_EQ(STATX_INO,            0x00000100U);
+        ASSERT_EQ(STATX_SIZE,           0x00000200U);
+        ASSERT_EQ(STATX_BLOCKS,         0x00000400U);
+        ASSERT_EQ(STATX_BASIC_STATS,    0x000007ffU);
+        ASSERT_EQ(STATX_BTIME,          0x00000800U);
+        ASSERT_EQ(STATX_MNT_ID,         0x00001000U);
+        ASSERT_EQ(STATX_DIOALIGN,       0x00002000U);
+        ASSERT_EQ(STATX_MNT_ID_UNIQUE,  0x00004000U);
+        ASSERT_EQ(STATX_SUBVOL,         0x00008000U);
+        ASSERT_EQ(STATX_WRITE_ATOMIC,   0x00010000U);
+        ASSERT_EQ(STATX_DIO_READ_ALIGN, 0x00020000U);
+
+        ASSERT_EQ(STATX_ATTR_COMPRESSED,   0x00000004);
+        ASSERT_EQ(STATX_ATTR_IMMUTABLE,    0x00000010);
+        ASSERT_EQ(STATX_ATTR_APPEND,       0x00000020);
+        ASSERT_EQ(STATX_ATTR_NODUMP,       0x00000040);
+        ASSERT_EQ(STATX_ATTR_ENCRYPTED,    0x00000800);
+        ASSERT_EQ(STATX_ATTR_AUTOMOUNT,    0x00001000);
+        ASSERT_EQ(STATX_ATTR_MOUNT_ROOT,   0x00002000);
+        ASSERT_EQ(STATX_ATTR_VERITY,       0x00100000);
+        ASSERT_EQ(STATX_ATTR_DAX,          0x00200000);
+        ASSERT_EQ(STATX_ATTR_WRITE_ATOMIC, 0x00400000);
+}
+
 TEST(null_or_empty_path) {
         assert_se(null_or_empty_path("/dev/null") == 1);
         assert_se(null_or_empty_path("/dev/tty") == 1);  /* We assume that any character device is "empty", bleh. */