Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / include / ipxe / test.h
diff --git a/qemu/roms/ipxe/src/include/ipxe/test.h b/qemu/roms/ipxe/src/include/ipxe/test.h
new file mode 100644 (file)
index 0000000..028ee29
--- /dev/null
@@ -0,0 +1,49 @@
+#ifndef _IPXE_TEST_H
+#define _IPXE_TEST_H
+
+FILE_LICENCE ( GPL2_OR_LATER );
+
+/** @file
+ *
+ * Self-test infrastructure
+ *
+ */
+
+#include <ipxe/tables.h>
+
+/** A self-test set */
+struct self_test {
+       /** Test set name */
+       const char *name;
+       /** Run self-tests */
+       void ( * exec ) ( void );
+       /** Number of tests run */
+       unsigned int total;
+       /** Number of test failures */
+       unsigned int failures;
+       /** Number of assertion failures */
+       unsigned int assertion_failures;
+};
+
+/** Self-test table */
+#define SELF_TESTS __table ( struct self_test, "self_tests" )
+
+/** Declare a self-test */
+#define __self_test __table_entry ( SELF_TESTS, 01 )
+
+extern void test_ok ( int success, const char *file, unsigned int line,
+                     const char *test );
+
+/**
+ * Report test result
+ *
+ * @v success          Test succeeded
+ * @v file             File name
+ * @v line             Line number
+ */
+#define okx( success, file, line ) \
+       test_ok ( success, file, line, #success )
+#define ok( success ) \
+       okx ( success, __FILE__, __LINE__ )
+
+#endif /* _IPXE_TEST_H */