Signed-off-by: Bartosz Golaszewski <[email protected]>
---
docs/unit-tests.txt | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
create mode 100644 docs/unit-tests.txt
diff --git a/docs/unit-tests.txt b/docs/unit-tests.txt
new file mode 100644
index 0000000..aa4b323
--- /dev/null
+++ b/docs/unit-tests.txt
@@ -0,0 +1,52 @@
+Busybox unit test framework
+===========================
+
+This document describes what you need to do to write test cases using the
+Busybox unit test framework.
+
+
+Building unit tests
+-------------------
+
+The framework and all tests are built as a regular Busybox applet if option
+CONFIG_UNIT_TEST (found in General Configuration -> Debugging Options) is set.
+
+
+Writing test cases
+------------------
+
+Unit testing interface can be found in include/bbunit.h.
+
+Tests can be placed in any .c file in Busybox tree - preferably right next to
+the functions they test. Test cases should be enclosed within an #if, and
+should start with BBUNIT_DEFINE_TEST macro and end with BBUNIT_ENDTEST within
+the test curly brackets. If an assertion fails the test ends immediately, ie.
+the following assertions will not be reached. Any code placed after
+BBUNIT_ENDTEST is executed regardless of the test result. Here's an example:
+
+#if ENABLE_UNIT_TEST
+
+#include "bbunit.h"
+
+BBUNIT_DEFINE_TEST(test_name)
+{
+ int *i;
+
+ i = malloc(sizeof(int));
+ BBUNIT_ASSERT_NOTNULL(i);
+ *i = 2;
+ BBUNIT_ASSERT_EQ((*i)*(*i), 4);
+
+ BBUNIT_ENDTEST;
+
+ free(i);
+}
+
+#endif /* ENABLE_UNIT_TEST */
+
+
+Running the unit test suite
+---------------------------
+
+To run the tests you can either directly run 'busybox unit' or use 'make test'
+to run both the unit tests (if compiled) and regular test suite.
--
1.8.4.5
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox