test: add trivial test for syscall table and extend table tests to error paths

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2013-07-13 17:36:03 -04:00
parent 6aea6d10f4
commit bf502e636b
2 changed files with 8 additions and 3 deletions

View file

@ -29,15 +29,17 @@ static inline void _test_table(const char *name,
int size) {
int i;
for (i = 0; i < size; i++) {
for (i = 0; i < size + 1; i++) {
const char* val = lookup(i);
int rev = -1;
int rev;
if (val)
rev = reverse(val);
else
rev = reverse("--no-such--value----");
printf("%s: %d → %s → %d\n", name, i, val, rev);
if (!val || rev != i)
if (i < size ? val == NULL || rev != i : val != NULL || rev != -1)
exit(EXIT_FAILURE);
}
}

View file

@ -43,6 +43,7 @@
#include "unit-name.h"
#include "unit.h"
#include "util.h"
#include "syscall-list.h"
#include "test-tables.h"
@ -98,5 +99,7 @@ int main(int argc, char **argv) {
test_table(unit_load_state, UNIT_LOAD_STATE);
test_table(unit_type, UNIT_TYPE);
_test_table("syscall", syscall_to_name, syscall_from_name, syscall_max());
return EXIT_SUCCESS;
}