#include #include #include #include "../src/sekrits.h" START_TEST(test_create_from_file) { const char *cases[] ={ "hello=true", "OK=FINE\n", "notok" }; for (int i = 0; i < sizeof(cases); ++ i) { struct sekrits *secrets = NULL; FILE *data = fmemopen((char *)cases[i], strlen(cases[i]) + 1, "r"); ck_assert_msg( sekrits_create_from_file(&secrets, data) == SEKRITS_OK, "Was expecting valid secret data to load from %s", cases[i] ); sekrits_destroy(secrets); fclose(data); } } END_TEST START_TEST(test_create_from_file_neg) { const char *cases[] ={ "notok" }; for (int i = 0; i < sizeof(cases); ++ i) { printf("running case"); struct sekrits *secrets = NULL; FILE *data = fmemopen((char *)cases[i], strlen(cases[i]) + 1, "r"); ck_assert_msg( sekrits_create_from_file(&secrets, data) == SEKRITS_ERROR, "Was expecting invalid secret data to load from %s", cases[i] ); sekrits_destroy(secrets); fclose(data); } } END_TEST Suite * sekrits_suite(void) { TCase *tc_create_file; tc_create_file = tcase_create("create_from_file"); tcase_add_test(tc_create_file, test_create_from_file); TCase *tc_create_file_neg; tc_create_file_neg = tcase_create("create_from_file_neg"); tcase_add_test(tc_create_file_neg, test_create_from_file_neg); Suite *s = suite_create("sekrits"); suite_add_tcase(s, tc_create_file); suite_add_tcase(s, tc_create_file_neg); return s; } int main(void) { int number_failed; SRunner *srunner = srunner_create(sekrits_suite()); srunner_run_all(srunner, CK_VERBOSE); number_failed = srunner_ntests_failed(srunner); srunner_free(srunner); return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; }