From 55489883c4f47e2716270be0085be6b7c99d3b18 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Thu, 19 Apr 2012 14:46:52 +0300 Subject: [PATCH] tests: add sanity-test Test the testing framework itself, so that it catches the errors we expect it to. Signed-off-by: Pekka Paalanen --- tests/Makefile.am | 2 ++ tests/sanity-test.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 tests/sanity-test.c diff --git a/tests/Makefile.am b/tests/Makefile.am index e14f757..4d24d9c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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 index 0000000..77b5cee --- /dev/null +++ b/tests/sanity-test.c @@ -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 +#include +#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 */ +} -- 2.7.4