summaryrefslogtreecommitdiff
path: root/na/test/selftest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'na/test/selftest.cc')
-rw-r--r--na/test/selftest.cc41
1 files changed, 41 insertions, 0 deletions
diff --git a/na/test/selftest.cc b/na/test/selftest.cc
new file mode 100644
index 0000000..a992ae2
--- /dev/null
+++ b/na/test/selftest.cc
@@ -0,0 +1,41 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/* Copyright (C) 2026 Richard Qin */
+
+/*
+ * Boot Self-Test Runner
+ *
+ * Entry point that invokes all registered self-test suites.
+ * Called from kernel_main() after all subsystem initialization.
+ */
+
+#include <lume/selftest.h>
+
+/* Individual test suite entry points */
+void selftest_pmm();
+void selftest_slab();
+void selftest_spinlock();
+void selftest_rbtree();
+void selftest_vmm();
+void selftest_fdt();
+void selftest_vma();
+void selftest_atomic();
+
+void selftest_run_all()
+{
+ early_puts("\n========================================\n");
+ early_puts(" Boot Self-Test Suite\n");
+ early_puts("========================================\n");
+
+ selftest_spinlock();
+ selftest_pmm();
+ selftest_slab();
+ selftest_rbtree();
+ selftest_vmm();
+ selftest_vma();
+ selftest_atomic();
+ selftest_fdt();
+
+ early_puts("========================================\n");
+ early_puts(" All self-tests PASSED\n");
+ early_puts("========================================\n\n");
+}