64 lines
1.4 KiB
C
64 lines
1.4 KiB
C
#include <stdarg.h>
|
|
#include <setjmp.h>
|
|
#include <stddef.h>
|
|
#include <cmocka.h>
|
|
|
|
#include <stdio.h>
|
|
#include <edapi/journal/file.h>
|
|
|
|
static void test_new_filename(void **state)
|
|
{
|
|
char const *filename = "Journal.2023-04-18T061507.01.log";
|
|
|
|
EDJournalFile *file = ed_journal_file_new();
|
|
EDErrorCode ret = 0;
|
|
|
|
assert_non_null(file);
|
|
|
|
ret = ed_journal_file_parse(file, filename);
|
|
assert_int_equal(ret, ed_error_success);
|
|
|
|
g_clear_object(&file);
|
|
}
|
|
|
|
static void test_valid_load(void **state)
|
|
{
|
|
char const *filename = "Journal.2023-04-18T061507.01.log";
|
|
|
|
FILE *F = fopen(filename, "w");
|
|
|
|
assert_non_null(F);
|
|
|
|
fprintf(F, "{ \"timestamp\":\"2023-04-18T04:14:56Z\", "
|
|
"\"event\":\"Fileheader\", \"part\":1, "
|
|
"\"language\":\"English/UK\", \"Odyssey\":true, "
|
|
"\"gameversion\":\"4.0.0.1477\", \"build\":\"r291050/r0 \" }\n"
|
|
);
|
|
|
|
fclose(F);
|
|
|
|
EDJournalFile *file = NULL;
|
|
EDErrorCode ret = 0;
|
|
GError *error = NULL;
|
|
|
|
file = ed_journal_file_new();
|
|
assert_non_null(file);
|
|
|
|
ret = ed_journal_file_open(file, filename, &error);
|
|
|
|
assert_null(error);
|
|
assert_int_equal(ret, ed_error_success);
|
|
|
|
g_clear_object(&file);
|
|
}
|
|
|
|
int main(int ac, char **av)
|
|
{
|
|
static const struct CMUnitTest tests[] = {
|
|
cmocka_unit_test(test_new_filename),
|
|
cmocka_unit_test(test_valid_load),
|
|
};
|
|
|
|
return cmocka_run_group_tests(tests, NULL, NULL);
|
|
}
|