diff options
Diffstat (limited to 'test cases')
| -rw-r--r-- | test cases/unit/2 testsetups/buggy.c | 11 | ||||
| -rw-r--r-- | test cases/unit/2 testsetups/impl.c | 5 | ||||
| -rw-r--r-- | test cases/unit/2 testsetups/impl.h | 3 | ||||
| -rw-r--r-- | test cases/unit/2 testsetups/meson.build | 15 |
4 files changed, 34 insertions, 0 deletions
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<stdio.h> +#include<stdlib.h> + +#include<impl.h> + +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) + |
