From b5d5cebc2b4218ca2c04c52546849df7625a53a0 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Wed, 6 Dec 2023 21:45:57 +0100 Subject: Add qsort --- tests/Makefile | 2 ++ tests/test_qsort_dynamic.c | 26 ++++++++++++++++++++++++++ tests/test_qsort_static.c | 26 ++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 tests/test_qsort_dynamic.c create mode 100644 tests/test_qsort_static.c (limited to 'tests') diff --git a/tests/Makefile b/tests/Makefile index f91bff0..352e6f8 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -71,6 +71,8 @@ RUNTIME_TARGETS= \ test_printf \ test_pwrite_dynamic \ test_pwrite_static \ + test_qsort_dynamic \ + test_qsort_static \ test_read_dynamic \ test_read_static \ test_readlink_dynamic \ diff --git a/tests/test_qsort_dynamic.c b/tests/test_qsort_dynamic.c new file mode 100644 index 0000000..4ce48aa --- /dev/null +++ b/tests/test_qsort_dynamic.c @@ -0,0 +1,26 @@ +#include "common.h" + +#include + +static int cmp(const void *p1, const void *p2); + +int main(int argc, char** argv) { + char buffer[] = {'a', 'b', 'c', 'd', 'e', '\0'}; + + qsort(buffer, 6, sizeof(char), cmp); + + puts(buffer); + + CHK_FAIL_START + qsort(buffer, argc, sizeof(char), cmp); + CHK_FAIL_END + + puts(buffer); + + return ret; +} + +static int cmp(const void *p1, const void *p2) +{ + return (* (char*) p1 > * (char*) p2); +} diff --git a/tests/test_qsort_static.c b/tests/test_qsort_static.c new file mode 100644 index 0000000..6046ac8 --- /dev/null +++ b/tests/test_qsort_static.c @@ -0,0 +1,26 @@ +#include "common.h" + +#include + +static int cmp(const void *p1, const void *p2); + +int main(int argc, char** argv) { + char buffer[] = {'a', 'b', 'c', 'd', 'e', '\0'}; + + qsort(buffer, 6, sizeof(char), cmp); + + puts(buffer); + + CHK_FAIL_START + qsort(buffer, 12, sizeof(char), cmp); + CHK_FAIL_END + + puts(buffer); + + return ret; +} + +static int cmp(const void *p1, const void *p2) +{ + return (* (char*) p1 > * (char*) p2); +} -- cgit v1.3