tests: add sanity-test
authorPekka Paalanen <ppaalanen@gmail.com>
Thu, 19 Apr 2012 11:46:52 +0000 (14:46 +0300)
committerPekka Paalanen <ppaalanen@gmail.com>
Thu, 19 Apr 2012 11:46:52 +0000 (14:46 +0300)
Test the testing framework itself, so that it catches the errors we
expect it to.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
tests/Makefile.am
tests/sanity-test.c [new file with mode: 0644]

index e14f757..4d24d9c 100644 (file)
@@ -2,6 +2,7 @@ TESTS = $(check_PROGRAMS)
 
 
 check_PROGRAMS =                               \
+       sanity-test                             \
        array-test                              \
        map-test                                \
        list-test                               \
@@ -11,6 +12,7 @@ check_PROGRAMS =                              \
 
 test_runner_src = test-runner.c test-runner.h
 
+sanity_test_SOURCES = sanity-test.c $(test_runner_src)
 map_test_SOURCES = map-test.c $(test_runner_src)
 array_test_SOURCES = array-test.c $(test_runner_src)
 list_test_SOURCES = list-test.c $(test_runner_src)
diff --git a/tests/sanity-test.c b/tests/sanity-test.c
new file mode 100644 (file)
index 0000000..77b5cee
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright © 2012 Collabora, Ltd.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+#include <stdlib.h>
+#include <assert.h>
+#include "test-runner.h"
+#include "../src/wayland-util.h"
+
+FAIL_TEST(sanity_assert)
+{
+       /* must fail */
+       assert(0);
+}
+
+FAIL_TEST(sanity_malloc_direct)
+{
+       void *p;
+
+       p = malloc(10); /* memory leak */
+       free(NULL);     /* NULL must not be counted */
+}
+
+FAIL_TEST(sanity_malloc_indirect)
+{
+       struct wl_array array;
+
+       wl_array_init(&array);
+
+       /* call into library that calls malloc */
+       wl_array_add(&array, 14);
+
+       /* not freeing array, must leak */
+}