X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;ds=sidebyside;f=src%2Ftests%2Ftest_shared.c;fp=src%2Ftests%2Ftest_shared.c;h=3b907a5e7599dde5c3f110d0e8b272db34ea2d19;hb=3f728675941dc69d4e544d3a880a56240a6e394a;hp=0000000000000000000000000000000000000000;hpb=927951d1c1ad45ba9e7325f07d996154a91c911b;p=ossec-hids.git diff --git a/src/tests/test_shared.c b/src/tests/test_shared.c new file mode 100644 index 0000000..3b907a5 --- /dev/null +++ b/src/tests/test_shared.c @@ -0,0 +1,66 @@ +/* Copyright (C) 2014 Trend Micro Inc. + * All rights reserved. + * + * This program is a free software; you can redistribute it + * and/or modify it under the terms of the GNU General Public + * License (version 2) as published by the FSF - Free Software + * Foundation + */ + +#include +#include + +#include "../headers/custom_output_search.h" + +Suite *test_suite(void); + + +START_TEST(test_searchAndReplace) +{ + int i; + const char *tests[][4] = { + {"testMe", "nomatch", "", "testMe"}, + {"test me", "ME", "me", "test me"}, + {"test me", "me", "ME", "test ME"}, + {"testMe", "test", "Tested", "TestedMe"}, + {"Metest", "test", "Tested", "MeTested"}, + {"A B CTeStD E F", "TeSt", "tEsT", "A B CtEsTD E F"}, + {"TeStA B CTeStD E F", "TeSt", "tEsT", "tEsTA B CtEsTD E F"}, + {"TeSt TeStA B CTeStD E F", "TeSt", "tEsT", "tEsT tEsTA B CtEsTD E F"}, + {"A B CTeStD E FTeSt", "TeSt", "tEsT", "A B CtEsTD E FtEsT"}, + {"A B CTeStD E FTeSt TeSt", "TeSt", "tEsT", "A B CtEsTD E FtEsT tEsT"}, + {"TeSt++ TeSt++A B CTeSt++D E F", "TeSt++", "tEsT", "tEsT tEsTA B CtEsTD E F"}, + {"A B CTeStD E FTeSt TeSt", "TeSt", "tEsT++", "A B CtEsT++D E FtEsT++ tEsT++"}, + {NULL, NULL, NULL, NULL} + }; + + for (i = 0; tests[i][0] != NULL ; i++) { + char *result = searchAndReplace(tests[i][0], tests[i][1], tests[i][2]); + ck_assert_str_eq(result, tests[i][3]); + free(result); + } +} +END_TEST + +Suite *test_suite(void) +{ + Suite *s = suite_create("shared"); + + TCase *tc_searchAndReplace = tcase_create("searchAndReplace"); + tcase_add_test(tc_searchAndReplace, test_searchAndReplace); + + suite_add_tcase(s, tc_searchAndReplace); + + return (s); +} + +int main(void) +{ + Suite *s = test_suite(); + SRunner *sr = srunner_create(s); + srunner_run_all(sr, CK_NORMAL); + int number_failed = srunner_ntests_failed(sr); + srunner_free(sr); + + return ((number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE); +}