From ee8a6e6fc5b58b5756f4e01271e77399f2d973bb Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Mon, 26 Dec 2016 20:56:04 +0200 Subject: Can specify test setups and run them with mesontest. --- test cases/unit/2 testsetups/buggy.c | 11 +++++++++++ test cases/unit/2 testsetups/impl.c | 5 +++++ test cases/unit/2 testsetups/impl.h | 3 +++ test cases/unit/2 testsetups/meson.build | 15 +++++++++++++++ 4 files changed, 34 insertions(+) create mode 100644 test cases/unit/2 testsetups/buggy.c create mode 100644 test cases/unit/2 testsetups/impl.c create mode 100644 test cases/unit/2 testsetups/impl.h create mode 100644 test cases/unit/2 testsetups/meson.build (limited to 'test cases') diff --git a/test cases/unit/2 testsetups/buggy.c b/test cases/unit/2 testsetups/buggy.c new file mode 100644 index 000000000..1aa56f998 --- /dev/null +++ b/test cases/unit/2 testsetups/buggy.c @@ -0,0 +1,11 @@ +#include +#include + +#include + +int main(int argc, char **argv) { + char *ten = malloc(10); + do_nasty(ten); + free(ten); + return 0; +} diff --git a/test cases/unit/2 testsetups/impl.c b/test cases/unit/2 testsetups/impl.c new file mode 100644 index 000000000..d87f3de51 --- /dev/null +++ b/test cases/unit/2 testsetups/impl.c @@ -0,0 +1,5 @@ +/* Write past the end. */ + +void do_nasty(char *ptr) { + ptr[10] = 'n'; +} diff --git a/test cases/unit/2 testsetups/impl.h b/test cases/unit/2 testsetups/impl.h new file mode 100644 index 000000000..7a08cb329 --- /dev/null +++ b/test cases/unit/2 testsetups/impl.h @@ -0,0 +1,3 @@ +#pragma once + +void do_nasty(char *ptr); diff --git a/test cases/unit/2 testsetups/meson.build b/test cases/unit/2 testsetups/meson.build new file mode 100644 index 000000000..f2295f516 --- /dev/null +++ b/test cases/unit/2 testsetups/meson.build @@ -0,0 +1,15 @@ +project('testsetups', 'c') + +vg = find_program('valgrind', required : false) + +env = environment() +env.set('TEST_ENV', '1') + +add_test_setup('valgrind', + exe_wrapper : ['valgrind', '--error-exitcode=1', '--leak-check=full'], + timeout_multiplier : 100, + env : env) + +buggy = executable('buggy', 'buggy.c', 'impl.c') +test('Test buggy', buggy) + -- cgit v1.2.3