aboutsummaryrefslogtreecommitdiffstats
path: root/doc/a_simple_example.c
diff options
context:
space:
mode:
Diffstat (limited to 'doc/a_simple_example.c')
-rw-r--r--doc/a_simple_example.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/doc/a_simple_example.c b/doc/a_simple_example.c
new file mode 100644
index 0000000..fb7d774
--- /dev/null
+++ b/doc/a_simple_example.c
@@ -0,0 +1,52 @@
+#include "simple-test.h"
+#include "header_with_stuff_to_be_tested.h"
+
+BEGIN_TEST
+
+/* a simple test using only stack mem */
+TEST("description of the first test")
+{
+ int var1=2;
+ int var2=4;
+
+ /* add is a function included from our hypothetical
+ * header_with_stuff_to_be_tested */
+ EXPECT_INT("error message shown on failing",
+ var1+var2, add(var1, var2));
+}
+
+/* this test uses heap memory, so things get a bit
+ * more complicated */
+TEST("this is the second test")
+{
+ /* first, ensure all your pointers which will
+ * point to heap mem are declared */
+ char *heap_string=NULL;
+
+ /* next, declare a list of statements to be
+ * called to clean up memory once the test
+ * is completed */
+ CLEANUP(
+ if(heap_string != NULL)
+ free(heap_string);
+ );
+
+ /* then, define the body of the test */
+
+ /* STATE can be used to report (with pretty
+ * formatting) the current state within the
+ * test, which may be useful in the case of
+ * a segfault */
+ STATE("grabbing heap string");
+
+ heap_string=get_heap_string_value();
+
+ EXPECT_STR("i suck at grabbing pointers!",
+ "expected value", heap_string);
+
+ /* finally, call RETURN(); to run the
+ * cleanup code and continue */
+ RETURN();
+}
+
+END_TEST