diff options
Diffstat (limited to 'test/test_table.c')
| -rw-r--r-- | test/test_table.c | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/test/test_table.c b/test/test_table.c index e6c18b0..d459de0 100644 --- a/test/test_table.c +++ b/test/test_table.c @@ -31,7 +31,7 @@ char *test_table_list(void) { struct table_entry *next = calloc(sizeof(struct table_entry), 1); next->key = 0xffffffff; entry_append(root, next); - mu_assert("Entry not inserted", root->next->key == 0xffffffff); + mu_assert("Table entry not inserted", root->next->key == 0xffffffff); entry_free(root); return NULL; } @@ -43,9 +43,37 @@ char *test_table_elif(void) { stream_write(s, "\xff\xff\xff\xff\x01\x00\x41\x00\x00\x00", 10); stream_rewind(s); read_elif(s, root); - mu_assert("Entry not inserted", root->next != NULL); - mu_assert("Filename handling failed", !strcmp(root->next->filename, "A")); + mu_assert("Table entry not inserted (eliF)", root->next != NULL); + mu_assert("Filename handling failure", !strcmp(root->next->filename, "A")); + free(root->next->filename); + root->next->filename = NULL; + stream_rewind(s); + read_elif(s, root); + mu_assert("Existing entry ignored (eliF)", root->next->next == NULL); entry_free(root); stream_free(s); return NULL; } + + +char *test_table_file(void) { + struct stream *s = stream_new(0x100); + struct table_entry *root = calloc(sizeof(struct table_entry), 1); + stream_write(s, "\x61\x64\x6c\x72\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" + "\xff\xff\x73\x65\x67\x6d\x1c\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x6e\x66" + "\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x74\x69\x6d\x65\x00\x00\x00\x00\x00\x00\x00\x00" + "\x00\x00\x00\x00\x00\x00\x00\x00", 113); + stream_rewind(s); + read_file(s, root); + mu_assert("Table entry not inserted (eliF)", root->next != NULL); + mu_assert("Key read failure", root->next->key == 0xffffffff); + root->next->ctime = 420; + stream_rewind(s); + read_file(s, root); + mu_assert("Existing entry ignored (eliF)", root->next->ctime == 0); + return NULL; +} |