tests: add sanity-test

Test the testing framework itself, so that it catches the errors we
expect it to.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
This commit is contained in:
Pekka Paalanen 2012-04-19 14:46:52 +03:00
parent bb74adbc4d
commit 55489883c4
2 changed files with 54 additions and 0 deletions

View 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)

52
tests/sanity-test.c Normal file
View file

@ -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 */
}