#include "support.h" #include START_TEST (version_new) { char *testbed = setup_testbed("merger"); OSyncError *error = NULL; OSyncVersion *version = osync_version_new(&error); fail_unless(version != NULL, NULL); fail_unless(error == NULL, NULL); osync_version_ref(version); osync_version_unref(version); osync_version_unref(version); destroy_testbed(testbed); } END_TEST START_TEST (version_matches) { char *testbed = setup_testbed("merger"); OSyncError *error = NULL; OSyncVersion *version = osync_version_new(&error); fail_unless(version != NULL, NULL); fail_unless(error == NULL, NULL); osync_version_set_plugin(version, "SyncML"); osync_version_set_modelversion(version, "7650"); osync_version_set_firmwareversion(version, "*"); osync_version_set_softwareversion(version, "*"); osync_version_set_hardwareversion(version, "*"); OSyncVersion *pattern = osync_version_new(&error); fail_unless(pattern != NULL, NULL); fail_unless(error == NULL, NULL); osync_version_set_plugin(pattern, "Sync[A-Z]"); osync_version_set_priority(pattern, "100"); osync_version_set_modelversion(pattern, "[0-9]"); osync_version_set_firmwareversion(pattern, ""); osync_version_set_softwareversion(pattern, ""); osync_version_set_hardwareversion(pattern, ""); fail_unless(osync_version_matches(pattern, version, &error) > 0, NULL); fail_unless(error == NULL, NULL); osync_version_set_firmwareversion(pattern, "[0-9]"); fail_unless(osync_version_matches(pattern, version, &error) == 0, NULL); fail_unless(error == NULL, NULL); destroy_testbed(testbed); } END_TEST START_TEST (version_load_from_descriptions) { char *testbed = setup_testbed("merger"); OSyncError *error = NULL; OSyncList *versions = osync_version_load_from_descriptions(&error); //fail_unless(versions != NULL, NULL); fail_unless(error == NULL, NULL); OSyncList *cur = osync_list_first(versions); while(cur) { osync_version_unref(cur->data); cur = cur->next; } osync_list_free(versions); destroy_testbed(testbed); } END_TEST Suite *version_suite(void) { Suite *s = suite_create("Version"); create_case(s, "version_new", version_new); create_case(s, "version_matches", version_matches); create_case(s, "version_load_from_descriptions", version_load_from_descriptions); return s; } int main(void) { int nf; Suite *s = version_suite(); SRunner *sr; sr = srunner_create(s); srunner_run_all(sr, CK_NORMAL); nf = srunner_ntests_failed(sr); srunner_free(sr); return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE; }