diff --git a/testsuite/test-alias.c b/testsuite/test-alias.c
index 2e84e6b..567d676 100644
--- a/testsuite/test-alias.c
+++ b/testsuite/test-alias.c
@@ -56,18 +56,15 @@
 
 	return EXIT_SUCCESS;
 }
-static const struct test salias_1 = {
-	.name = "alias_1",
+static DEFINE_TEST(alias_1,
 	.description = "check if alias_normalize does the right thing",
-	.func = alias_1,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-alias/",
 	},
 	.need_spawn = true,
 	.output = {
 		.stdout = TESTSUITE_ROOTFS "test-alias/correct.txt",
-	},
-};
+	});
 
 static const struct test *tests[] = {
 	&salias_1,
diff --git a/testsuite/test-init.c b/testsuite/test-init.c
index d6e1e5c..c807a16 100644
--- a/testsuite/test-init.c
+++ b/testsuite/test-init.c
@@ -38,11 +38,8 @@
 
 	exit(EXIT_SUCCESS);
 }
-static const struct test stest_initlib = {
-	.name = "test_initlib",
-	.description = "test if libkmod's init function work",
-	.func = test_initlib,
-};
+static DEFINE_TEST(test_initlib,
+		.description = "test if libkmod's init function work");
 
 static int test_insert(const struct test *t)
 {
@@ -70,16 +67,13 @@
 
 	exit(EXIT_SUCCESS);
 }
-static const struct test stest_insert = {
-	.name = "test_insert",
+static DEFINE_TEST(test_insert,
 	.description = "test if libkmod's insert_module returns ok",
-	.func = test_insert,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-modinfo/",
 		[TC_INIT_MODULE_RETCODES] = "bla:1:20",
 	},
-	.need_spawn = true,
-};
+	.need_spawn = true);
 
 static int test_remove(const struct test *t)
 {
@@ -107,16 +101,13 @@
 
 	exit(EXIT_SUCCESS);
 }
-static const struct test stest_remove = {
-	.name = "test_remove",
+static DEFINE_TEST(test_remove,
 	.description = "test if libkmod's remove_module returns ok",
-	.func = test_remove,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-modinfo/",
 		[TC_DELETE_MODULE_RETCODES] = "bla:1:20",
 	},
-	.need_spawn = true,
-};
+	.need_spawn = true);
 
 static const struct test *tests[] = {
 	&stest_initlib,
diff --git a/testsuite/test-loaded.c b/testsuite/test-loaded.c
index cfeb1b4..81c9e5a 100644
--- a/testsuite/test-loaded.c
+++ b/testsuite/test-loaded.c
@@ -77,18 +77,15 @@
 
 	return EXIT_SUCCESS;
 }
-static const struct test sloaded_1 = {
-	.name = "sloaded_1",
+static DEFINE_TEST(loaded_1,
 	.description = "check if list of module is created",
-	.func = loaded_1,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-loaded/",
 	},
 	.need_spawn = true,
 	.output = {
 		.stdout = TESTSUITE_ROOTFS "test-loaded/correct.txt",
-	},
-};
+	});
 
 static const struct test *tests[] = {
 	&sloaded_1,
diff --git a/testsuite/test-modinfo.c b/testsuite/test-modinfo.c
index 3047d26..007cc0a 100644
--- a/testsuite/test-modinfo.c
+++ b/testsuite/test-modinfo.c
@@ -38,17 +38,14 @@
 	test_spawn_prog(progname, args);
 	exit(EXIT_FAILURE);
 }
-static const struct test smodinfo_jonsmodules = {
-	.name = "modinfo_jonsmodules",
+static DEFINE_TEST(modinfo_jonsmodules,
 	.description = "check if output for modinfo is correct for i686, ppc64, s390x and x86_64",
-	.func = modinfo_jonsmodules,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-modinfo/",
 	},
 	.output = {
 		.stdout = TESTSUITE_ROOTFS "test-modinfo/correct.txt",
-	},
-};
+	});
 
 static const struct test *tests[] = {
 	&smodinfo_jonsmodules,
diff --git a/testsuite/test-new-module.c b/testsuite/test-new-module.c
index 117d978..9a0cc37 100644
--- a/testsuite/test-new-module.c
+++ b/testsuite/test-new-module.c
@@ -59,19 +59,15 @@
 
 	return EXIT_SUCCESS;
 }
-static const struct test sfrom_name = {
-	.name = "sfrom_name",
+static DEFINE_TEST(from_name,
 	.description = "check if module names are parsed correctly",
-	.func = from_name,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-new-module/from_name/",
 	},
 	.need_spawn = true,
 	.output = {
 		.stdout = TESTSUITE_ROOTFS "test-new-module/from_name/correct.txt",
-	},
-};
-
+	});
 
 static int from_alias(const struct test *t)
 {
@@ -108,18 +104,15 @@
 
 	return EXIT_SUCCESS;
 }
-static const struct test sfrom_alias = {
-	.name = "sfrom_alias",
+static DEFINE_TEST(from_alias,
 	.description = "check if aliases are parsed correctly",
-	.func = from_alias,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-new-module/from_alias/",
 	},
 	.need_spawn = true,
 	.output = {
 		.stdout = TESTSUITE_ROOTFS "test-new-module/from_alias/correct.txt",
-	},
-};
+	});
 
 static const struct test *tests[] = {
 	&sfrom_name,
diff --git a/testsuite/test-testsuite.c b/testsuite/test-testsuite.c
index 6967b74..1c12830 100644
--- a/testsuite/test-testsuite.c
+++ b/testsuite/test-testsuite.c
@@ -48,15 +48,12 @@
 
 	exit(EXIT_SUCCESS);
 }
-static const struct test stestsuite_uname = {
-	.name = "testsuite_uname",
+static DEFINE_TEST(testsuite_uname,
 	.description = "test if trap to uname() works",
-	.func = testsuite_uname,
 	.config = {
 		[TC_UNAME_R] = TEST_UNAME,
 	},
-	.need_spawn = true,
-};
+	.need_spawn = true);
 
 static int testsuite_rootfs_fopen(const struct test *t)
 {
@@ -77,15 +74,12 @@
 
 	return EXIT_SUCCESS;
 }
-static const struct test stestsuite_rootfs_fopen = {
-	.name = "testsuite_rootfs_fopen",
+static DEFINE_TEST(testsuite_rootfs_fopen,
 	.description = "test if rootfs works - fopen()",
-	.func = testsuite_rootfs_fopen,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-rootfs/",
 	},
-	.need_spawn = true,
-};
+	.need_spawn = true);
 
 static int testsuite_rootfs_open(const struct test *t)
 {
@@ -113,15 +107,12 @@
 
 	return EXIT_SUCCESS;
 }
-static const struct test stestsuite_rootfs_open = {
-	.name = "testsuite_rootfs_open",
+static DEFINE_TEST(testsuite_rootfs_open,
 	.description = "test if rootfs works - open()",
-	.func = testsuite_rootfs_open,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-rootfs/",
 	},
-	.need_spawn = true,
-};
+	.need_spawn = true);
 
 static int testsuite_rootfs_stat_access(const struct test *t)
 {
@@ -139,15 +130,12 @@
 
 	return EXIT_SUCCESS;
 }
-static const struct test stestsuite_rootfs_stat_access = {
-	.name = "testsuite_rootfs_stat_access",
+static DEFINE_TEST(testsuite_rootfs_stat_access,
 	.description = "test if rootfs works - stat() and access()",
-	.func = testsuite_rootfs_stat_access,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-rootfs/",
 	},
-	.need_spawn = true,
-};
+	.need_spawn = true);
 
 static int testsuite_rootfs_opendir(const struct test *t)
 {
@@ -162,15 +150,12 @@
 	closedir(d);
 	return EXIT_SUCCESS;
 }
-static const struct test stestsuite_rootfs_opendir = {
-	.name = "testsuite_rootfs_opendir",
+static DEFINE_TEST(testsuite_rootfs_opendir,
 	.description = "test if rootfs works - opendir()",
-	.func = testsuite_rootfs_opendir,
 	.config = {
 		[TC_ROOTFS] = TESTSUITE_ROOTFS "test-rootfs/",
 	},
-	.need_spawn = true,
-};
+	.need_spawn = true);
 
 static const struct test *tests[] = {
 	&stestsuite_uname,
diff --git a/testsuite/testsuite.h b/testsuite/testsuite.h
index 8bb0fa7..0151206 100644
--- a/testsuite/testsuite.h
+++ b/testsuite/testsuite.h
@@ -101,10 +101,11 @@
 #define ERR(fmt, ...) _LOG("ERR: ", fmt, ## __VA_ARGS__)
 
 /* Test definitions */
-#define DEFINE_TEST(_name) \
-	struct test s_name = { \
+#define DEFINE_TEST(_name, ...) \
+	const struct test s##_name = { \
 		.name = #_name, \
 		.func = _name, \
+		## __VA_ARGS__ \
 	}
 
 #define TESTSUITE_MAIN(_tests) \
