Module Name:    src
Committed By:   perseant
Date:           Mon Aug 12 22:35:30 UTC 2024

Modified Files:
        src/tests/fs/common [perseant-exfatfs]: h_fsmacros.h

Log Message:
Rewrite ZFS test macros into a more scalable form; add a parallel set of
macros for exFATfs.


To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.44.8.1 src/tests/fs/common/h_fsmacros.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/fs/common/h_fsmacros.h
diff -u src/tests/fs/common/h_fsmacros.h:1.44 src/tests/fs/common/h_fsmacros.h:1.44.8.1
--- src/tests/fs/common/h_fsmacros.h:1.44	Sun Mar 15 20:10:26 2020
+++ src/tests/fs/common/h_fsmacros.h	Mon Aug 12 22:35:30 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: h_fsmacros.h,v 1.44 2020/03/15 20:10:26 martin Exp $	*/
+/*	$NetBSD: h_fsmacros.h,v 1.44.8.1 2024/08/12 22:35:30 perseant Exp $	*/
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -49,6 +49,7 @@ int _fs_##_fstest_delfs(const atf_tc_t *
 int _fs_##_fstest_mount(const atf_tc_t *, void *, const char *, int);	\
 int _fs_##_fstest_unmount(const atf_tc_t *, const char *, int);
 
+FSPROTOS(exfatfs);
 FSPROTOS(ext2fs);
 FSPROTOS(ffs);
 FSPROTOS(ffslog);
@@ -160,7 +161,34 @@ do {									\
 #define ATF_TP_FSADD(fs,func)						\
   ATF_TP_ADD_TC(tp,fs##_##func)
 
-#define ATF_TC_FSAPPLY_NOZFS(func,desc)					\
+#ifdef WANT_EXFATFS_TESTS
+# define ATF_TC_FSADD_EXFATFS(func,desc) ATF_TC_FSADD(exfatfs,MOUNT_EXFATFS,func,desc)
+# define ATF_TP_FSADD_EXFATFS(func) ATF_TP_FSADD(exfatfs,func);
+# define ATF_TP_FSADD_EXFATFS(func)  ATF_TP_FSADD(exfatfs,func);
+# define ATF_TC_FSADD_RO_EXFATFS(func,desc,gen) \
+	ATF_TC_FSADD_RO(exfatfs,MOUNT_EXFATFS,func,desc,gen)
+#else /* !WANT_EXFATFS_TESTS */
+# define ATF_TC_FSADD_EXFATFS(func,desc)
+# define ATF_TP_FSADD_EXFATFS(func)
+# define ATF_TP_FSADD_EXFATFS(func)
+# define ATF_TC_FSADD_RO_EXFATFS(func,desc,gen)
+#endif /* WANT_EXFATFS_TESTS */
+
+#ifdef WANT_ZFS_TESTS
+# define ATF_TC_FSADD_ZFS(func,desc) ATF_TC_FSADD(zfs,MOUNT_ZFS,func,desc)
+# define ATF_TP_FSADD_ZFS(func) ATF_TP_FSADD(zfs,func);
+# define ATF_TP_FSADD_ZFS(func)  ATF_TP_FSADD(zfs,func);
+# define ATF_TC_FSADD_RO_ZFS(func,desc,gen) \
+	ATF_TC_FSADD_RO(zfs,MOUNT_ZFS,func,desc,gen)
+#else /* !WANT_ZFS_TESTS */
+# define ATF_TC_FSADD_ZFS(func,desc)
+# define ATF_TP_FSADD_ZFS(func)
+# define ATF_TP_FSADD_ZFS(func)
+# define ATF_TC_FSADD_RO_ZFS(func,desc,gen)
+#endif /* WANT_ZFS_TESTS */
+
+#define ATF_TC_FSAPPLY(func,desc)					\
+  ATF_TC_FSADD_EXFATFS(func,desc)					\
   ATF_TC_FSADD(ext2fs,MOUNT_EXT2FS,func,desc)				\
   ATF_TC_FSADD(ffs,MOUNT_FFS,func,desc)					\
   ATF_TC_FSADD(ffslog,MOUNT_FFS,func,desc)				\
@@ -172,10 +200,11 @@ do {									\
   ATF_TC_FSADD(rumpfs,MOUNT_RUMPFS,func,desc)				\
   ATF_TC_FSADD(sysvbfs,MOUNT_SYSVBFS,func,desc)				\
   ATF_TC_FSADD(tmpfs,MOUNT_TMPFS,func,desc)				\
-  ATF_TC_FSADD(udf,MOUNT_UDF,func,desc)				\
-  ATF_TC_FSADD(v7fs,MOUNT_V7FS,func,desc)
-
-#define ATF_TP_FSAPPLY_NOZFS(func)					\
+  ATF_TC_FSADD(udf,MOUNT_UDF,func,desc)					\
+  ATF_TC_FSADD(v7fs,MOUNT_V7FS,func,desc)				\
+  ATF_TC_FSADD_ZFS(func,desc)
+#define ATF_TP_FSAPPLY(func)						\
+  ATF_TP_FSADD_EXFATFS(func)						\
   ATF_TP_FSADD(ext2fs,func);						\
   ATF_TP_FSADD(ffs,func);						\
   ATF_TP_FSADD(ffslog,func);						\
@@ -188,25 +217,8 @@ do {									\
   ATF_TP_FSADD(sysvbfs,func);						\
   ATF_TP_FSADD(tmpfs,func);						\
   ATF_TP_FSADD(udf,func);						\
-  ATF_TP_FSADD(v7fs,func);
-
-/* XXX: this will not scale */
-#ifdef WANT_ZFS_TESTS
-#define ATF_TC_FSAPPLY(func,desc)					\
-  ATF_TC_FSAPPLY_NOZFS(func,desc)					\
-  ATF_TC_FSADD(zfs,MOUNT_ZFS,func,desc)
-#define ATF_TP_FSAPPLY(func)						\
-  ATF_TP_FSAPPLY_NOZFS(func)						\
-  ATF_TP_FSADD(zfs,func);
-
-#else /* !WANT_ZFS_TESTS */
-
-#define ATF_TC_FSAPPLY(func,desc)					\
-  ATF_TC_FSAPPLY_NOZFS(func,desc)
-#define ATF_TP_FSAPPLY(func)						\
-  ATF_TP_FSAPPLY_NOZFS(func)
-
-#endif /* WANT_ZFS_TESTS */
+  ATF_TP_FSADD(v7fs,func);						\
+  ATF_TP_FSADD_ZFS(func)
 
 /*
  * Same as above, but generate a file system image first and perform
@@ -220,6 +232,7 @@ do {									\
  */
 
 #define ATF_TC_FSAPPLY_RO(func,desc,gen)				\
+  ATF_TC_FSADD_RO_EXFATFS(func,desc,gen)				\
   ATF_TC_FSADD_RO(ext2fs,MOUNT_EXT2FS,func,desc,gen)			\
   ATF_TC_FSADD_RO(ffs,MOUNT_FFS,func,desc,gen)				\
   ATF_TC_FSADD_RO(ffslog,MOUNT_FFS,func,desc,gen)			\
@@ -228,9 +241,11 @@ do {									\
   ATF_TC_FSADD_RO(nfsro,MOUNT_NFS,func,desc,gen)			\
   ATF_TC_FSADD_RO(sysvbfs,MOUNT_SYSVBFS,func,desc,gen)			\
   ATF_TC_FSADD_RO(udf,MOUNT_UDF,func,desc,gen)			\
-  ATF_TC_FSADD_RO(v7fs,MOUNT_V7FS,func,desc,gen)
+  ATF_TC_FSADD_RO(v7fs,MOUNT_V7FS,func,desc,gen)			\
+  ATF_TC_FSADD_RO_ZFS(func,desc,gen)
 
 #define ATF_TP_FSAPPLY_RO(func)						\
+  ATF_TP_FSADD_EXFATFS(func)						\
   ATF_TP_FSADD(ext2fs,func);						\
   ATF_TP_FSADD(ffs,func);						\
   ATF_TP_FSADD(ffslog,func);						\
@@ -239,7 +254,8 @@ do {									\
   ATF_TP_FSADD(nfsro,func);						\
   ATF_TP_FSADD(sysvbfs,func);						\
   ATF_TP_FSADD(udf,func);						\
-  ATF_TP_FSADD(v7fs,func);
+  ATF_TP_FSADD(v7fs,func);						\
+  ATF_TP_FSADD_ZFS(func)
 
 #define ATF_FSAPPLY(func,desc)						\
 	ATF_TC_FSAPPLY(func,desc);					\
@@ -271,6 +287,8 @@ atf_check_fstype(const atf_tc_t *tc, con
 	return false;
 }
 
+#define FSTYPE_EXFATFS(tc)\
+    (strcmp(atf_tc_get_md_var(tc, "X-fs.type"), "exfatfs") == 0)
 #define FSTYPE_EXT2FS(tc)\
     (strcmp(atf_tc_get_md_var(tc, "X-fs.type"), "ext2fs") == 0)
 #define FSTYPE_FFS(tc)\

Reply via email to