summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorjvoisin2023-12-06 21:45:57 +0100
committerjvoisin2023-12-07 17:29:06 +0100
commitb5d5cebc2b4218ca2c04c52546849df7625a53a0 (patch)
tree096dfaebcf9306a9e955fd44e4aa18d2865f3733 /tests
parent9064a508d5f1ed3514d3e5b4734576e80f7048ae (diff)
Add qsort
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile2
-rw-r--r--tests/test_qsort_dynamic.c26
-rw-r--r--tests/test_qsort_static.c26
3 files changed, 54 insertions, 0 deletions
diff --git a/tests/Makefile b/tests/Makefile
index f91bff0..352e6f8 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -71,6 +71,8 @@ RUNTIME_TARGETS= \
71 test_printf \ 71 test_printf \
72 test_pwrite_dynamic \ 72 test_pwrite_dynamic \
73 test_pwrite_static \ 73 test_pwrite_static \
74 test_qsort_dynamic \
75 test_qsort_static \
74 test_read_dynamic \ 76 test_read_dynamic \
75 test_read_static \ 77 test_read_static \
76 test_readlink_dynamic \ 78 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 @@
1#include "common.h"
2
3#include <stdlib.h>
4
5static int cmp(const void *p1, const void *p2);
6
7int main(int argc, char** argv) {
8 char buffer[] = {'a', 'b', 'c', 'd', 'e', '\0'};
9
10 qsort(buffer, 6, sizeof(char), cmp);
11
12 puts(buffer);
13
14 CHK_FAIL_START
15 qsort(buffer, argc, sizeof(char), cmp);
16 CHK_FAIL_END
17
18 puts(buffer);
19
20 return ret;
21}
22
23static int cmp(const void *p1, const void *p2)
24{
25 return (* (char*) p1 > * (char*) p2);
26}
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 @@
1#include "common.h"
2
3#include <stdlib.h>
4
5static int cmp(const void *p1, const void *p2);
6
7int main(int argc, char** argv) {
8 char buffer[] = {'a', 'b', 'c', 'd', 'e', '\0'};
9
10 qsort(buffer, 6, sizeof(char), cmp);
11
12 puts(buffer);
13
14 CHK_FAIL_START
15 qsort(buffer, 12, sizeof(char), cmp);
16 CHK_FAIL_END
17
18 puts(buffer);
19
20 return ret;
21}
22
23static int cmp(const void *p1, const void *p2)
24{
25 return (* (char*) p1 > * (char*) p2);
26}