On Sun, 2015-03-22 at 22:03 +0000, Emil Velikov wrote:
... and wire up to `make check' now that it's useful.
Signed-off-by: Emil Velikov emil.l.velikov@gmail.com
tests/Makefile.am | 12 +++++++----- tests/hash.c | 26 +++++++++++++++----------- 2 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am index ea826b5..392abf5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -29,13 +29,15 @@ LDADD = $(top_builddir)/libdrm.la
check_PROGRAMS = \ dristat \
- drmstat \
- hash
- drmstat
if HAVE_NOUVEAU SUBDIRS += nouveau endif
+TESTS = \
- hash
if HAVE_LIBUDEV
check_LTLIBRARIES = libdrmtest.la @@ -53,7 +55,7 @@ XFAIL_TESTS = \ auth \ lock
-TESTS = \ +TESTS += \ openclose \ getversion \ getclient \ @@ -62,6 +64,6 @@ TESTS = \ updatedraw \ name_from_fd
-check_PROGRAMS += $(TESTS)
endif
+check_PROGRAMS += $(TESTS) diff --git a/tests/hash.c b/tests/hash.c index fa9264a..46f52f8 100644 --- a/tests/hash.c +++ b/tests/hash.c @@ -142,7 +142,7 @@ static void compute_dist(HashTablePtr table) } }
-static void check_table(HashTablePtr table, +static int check_table(HashTablePtr table, unsigned long key, unsigned long value) { unsigned long *retval; @@ -159,28 +159,32 @@ static void check_table(HashTablePtr table, key, value, *retval); break; case 0:
if (value != *retval)
if (value != *retval) { printf("Bad value: key = %lu, expected = %lu, returned = %lu\n", key, value, *retval);
retcode = -1;
default: printf("Bad retcode = %d: key = %lu, expected = %lu, returned = %lu\n", retcode, key, value, *retval); break; }} break;
- return retcode;
}
int main(void) {
- HashTablePtr table;
- unsigned long i;
HashTablePtr table;
unsigned long i;
int ret = 0;
printf("\n***** 256 consecutive integers ****\n"); table = drmHashCreate(); for (i = 0; i < 256; i++) drmHashInsert(table, i, (void *)&i); for (i = 0; i < 256; i++)
check_table(table, i, i);
compute_dist(table); drmHashDestroy(table);ret = check_table(table, i, i) && ret;
@@ -189,7 +193,7 @@ int main(void) for (i = 0; i < 1024; i++) drmHashInsert(table, i, (void *)&i); for (i = 0; i < 1024; i++)
check_table(table, i, i);
compute_dist(table); drmHashDestroy(table);ret = check_table(table, i, i) && ret;
@@ -198,7 +202,7 @@ int main(void) for (i = 0; i < 1024; i++) drmHashInsert(table, i*4096, (void *)&i); for (i = 0; i < 1024; i++)
check_table(table, i*4096, i);
compute_dist(table); drmHashDestroy(table);ret = check_table(table, i*4096, i) && ret;
@@ -209,10 +213,10 @@ int main(void) drmHashInsert(table, random(), (void *)&i); srandom(0xbeefbeef); for (i = 0; i < 1024; i++)
check_table(table, random(), i);
srandom(0xbeefbeef); for (i = 0; i < 1024; i++)ret = check_table(table, random(), i) && ret;
check_table(table, random(), i);
compute_dist(table); drmHashDestroy(table);ret = check_table(table, random(), i) && ret;
@@ -223,10 +227,10 @@ int main(void) drmHashInsert(table, random(), (void *)&i); srandom(0xbeefbeef); for (i = 0; i < 5000; i++)
check_table(table, random(), i);
srandom(0xbeefbeef); for (i = 0; i < 5000; i++)ret = check_table(table, random(), i) && ret;
check_table(table, random(), i);
compute_dist(table); drmHashDestroy(table);ret = check_table(table, random(), i) && ret;
Reviewed-by: Jan Vesely jan.vesely@rutgesr.edu