1 #include <ccan/asort/asort.h>
2 #include <ccan/asort/asort.c>
3 #include <ccan/array_size/array_size.h>
4 #include <ccan/tap/tap.h>
8 static int test_cmp(const int *key, const int *elt, int *flag)
18 static bool is_sorted(const int arr[], unsigned int size)
22 for (i = 1; i < size; i++)
23 if (arr[i] < arr[i-1])
28 static bool is_reverse_sorted(const int arr[], unsigned int size)
32 for (i = 1; i < size; i++)
33 if (arr[i] > arr[i-1])
38 static void psuedo_random_array(int arr[], unsigned int size)
42 for (i = 0; i < size; i++)
43 arr[i] = i * (INT_MAX / 4 - 7);
50 int tmparr[TEST_SIZE];
55 psuedo_random_array(tmparr, TEST_SIZE);
56 ok1(!is_sorted(tmparr, TEST_SIZE));
57 ok1(!is_reverse_sorted(tmparr, TEST_SIZE));
59 asort(tmparr, TEST_SIZE, test_cmp, &multiplier);
60 ok1(is_sorted(tmparr, TEST_SIZE));
62 psuedo_random_array(tmparr, TEST_SIZE);
64 asort(tmparr, TEST_SIZE, test_cmp, &multiplier);
65 ok1(is_reverse_sorted(tmparr, TEST_SIZE));