Fix DomainsTest & make sure we initializeDomains for unit test

This commit is contained in:
Ai Lin Chia 2018-04-24 14:35:52 +02:00
parent 8a40f04f3e
commit 4879092936
5 changed files with 28 additions and 20 deletions

View File

@ -4,34 +4,25 @@
#include <string.h>
TEST(DomainsTest, tld_test) {
FILE *fp=fopen("tlds.txt","w");
ASSERT_TRUE(fp!=NULL);
fprintf(fp,"#test line 1\n");
fprintf(fp,"com\n");
fprintf(fp,"co.uk\n");
fprintf(fp,"boo\n");
fprintf(fp,"\n");
fprintf(fp,"hemorroid\n");
fclose(fp);
ASSERT_TRUE(initializeDomains("."));
// disabled until we re-enable loading tld from file
TEST(DomainsTest, DISABLED_tld_test) {
ASSERT_TRUE(initializeDomains("tld/tld_test.txt"));
ASSERT_TRUE(isTLD("com",3));
ASSERT_TRUE(isTLD("co.uk",5));
ASSERT_FALSE(isTLD("foo.boo.goo",11));
ASSERT_TRUE(isTLD("hemorroid",9));
// reset data
initializeDomains(".");
}
TEST(DomainsTest, dom_test) {
FILE *fp=fopen("tlds.txt","w");
ASSERT_TRUE(fp!=NULL);
fprintf(fp,"com\n");
fprintf(fp,"co.uk\n");
fclose(fp);
ASSERT_TRUE(initializeDomains("."));
ASSERT_TRUE(initializeDomains("tld/dom_test.txt"));
ASSERT_STREQ(getTLD("www.ibm.com",11),"com");
ASSERT_STREQ(getTLD("www.ibm.co.uk",13),"co.uk");
ASSERT_STREQ(getTLD("example.com",11),"com");
// reset data
initializeDomains(".");
}

View File

@ -5,6 +5,7 @@
#include "hash.h"
#include "Conf.h"
#include "Hostdb.h"
#include "Domains.h"
#include <stdlib.h>
#include <libgen.h>
@ -45,6 +46,11 @@ int main(int argc, char **argv) {
exit(1);
}
if(!initializeDomains(g_hostdb.m_dir)) {
log("Domains initialization failed!");
exit(1);
}
::testing::InitGoogleTest(&argc, argv);
int ret = RUN_ALL_TESTS();

View File

@ -38,6 +38,9 @@ libsto.a:
ucdata:
ln -s $(BASE_DIR)/$@ .
tlds.txt:
ln -sf $(BASE_DIR)/$@ .
$(BASE_DIR)/libcld2_full.so:
$(MAKE) -C $(BASE_DIR) libcld2_full.so
@ -72,7 +75,7 @@ check: TARGET_PRE="valgrind"
check: test
.PHONY: test
test: all ucdata
test: all ucdata tlds.txt
-$(TARGET_PRE) ./$(TARGET) $(TEST_ARGS)
.PHONY: clean

View File

@ -0,0 +1,2 @@
com
co.uk

View File

@ -0,0 +1,6 @@
#test line 1
com
co.uk
boo
hemorroid