From 5ebec852825072e50fb21363f23cf2fcd106425d Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 8 Mar 2017 22:22:54 +0000 Subject: actually check the generated database files against reference test data --- content/urldb.c | 1 - test/data/cookies | 1 - test/data/cookies-out | 31 ++++++++++++++++++++++++++ test/data/urldb-out | 47 ++++++++++++++++++++++++++++++++++++++++ test/urldbtest.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 138 insertions(+), 2 deletions(-) create mode 100644 test/data/cookies-out create mode 100644 test/data/urldb-out diff --git a/content/urldb.c b/content/urldb.c index 77351ae82..b190da5eb 100644 --- a/content/urldb.c +++ b/content/urldb.c @@ -4301,7 +4301,6 @@ void urldb_save_cookies(const char *filename) if (!fp) return; - fprintf(fp, "# >%s\n", filename); fprintf(fp, "# NetSurf cookies file.\n" "#\n" "# Lines starting with a '#' are comments, " diff --git a/test/data/cookies b/test/data/cookies index 739618e4d..fc7a588a3 100644 --- a/test/data/cookies +++ b/test/data/cookies @@ -1,4 +1,3 @@ -# >/home/vince/.config/netsurf/Cookies # NetSurf cookies file. # # Lines starting with a '#' are comments, blank lines are ignored. diff --git a/test/data/cookies-out b/test/data/cookies-out new file mode 100644 index 000000000..143925ab2 --- /dev/null +++ b/test/data/cookies-out @@ -0,0 +1,31 @@ +# NetSurf cookies file. +# +# Lines starting with a '#' are comments, blank lines are ignored. +# +# All lines prior to "Version: 102" are discarded. +# +# Version Domain Domain from Set-Cookie Path Path from Set-Cookie Secure HTTP-Only Expires Last used No destroy Name Value Value was quoted Scheme URL Comment +Version: 102 +0 www.ccrexplorers.com 0 / 1 0 0 1499619054 1468082755 0 bb_lastvisit 1468083054 0 http http://www.ccrexplorers.com/forumdisplay.php?f=17 +0 .google.com 1 / 1 0 0 1497632093 1470493285 0 SID DQAAAMoAAACuniK1mc17JMX-o-sfAVqvl0EWP0kiNpQg4lWeslWBnU_km8BK6Eww-1mC6zvnm7Jiv2vft4BOwWiAOmRzN66pbzxGNxKKGzSz2GNdWrcwvuYyQHkevwrtwmKmZGDKsgLljofq6NyNf0AP5xGXfHj18awhbbnymmv5UaDqypGx7FvptGQSMQkj_1hY6NJ5pfmO6LX8ezViJMABtqGPoO8Y8r8-eFRzLlsfbhCqM2OHkDRfoofXJCtIvDMi7Xyzoh6D5PsXbrfFZhcLSlfZpBtP 0 unused unused +0 .google.com 1 / 1 0 1 1497632093 1470493285 0 HSID A1rFmKHX-G1exnHNv 0 unused unused +0 .google.com 1 / 1 1 1 1497632093 1470493285 0 SSID A4wVZcYgXrCrwWns8 0 unused unused +0 .google.com 1 / 1 0 0 1497632093 1470493285 0 APISID IeJTJt20VmceF7bS/AACvc5cSFPpX8FJMj 0 unused unused +0 .google.com 1 / 1 1 0 1497632093 1470493285 0 SAPISID baCIIjpj-o3XQCkH/A-WEZgPvnNnguijDQ 0 unused unused +0 mail.google.com 0 / 1 1 1 1497632093 1435272960 0 OSID DQAAANsAAABjm3QWm7iyror5Q-r_twvLnU2MeBpDTpzoY-d-4pEomtilsx1VjIp_SphmVJcv084Ilg4o1COlySeuNAVSkeYn6qPyK93aIKN7MOmQxKvYQXIAlPiBAXD7bVX2HoAQpDXKc1BQZUfL2wLIjCwns0NQVGawofTWf8gve_FAwp6hXF9hXHrZRTU9lgt3N0yBpjElda_UiyNkhUIZP27zSS1LpXh7GaYcUgM69IUrczTnfkfIX_XunEaXBT59fmc49pbFEYlMMURG3ydiPjIhGdN9eHO27V9JhxqhuYUryTM8kg 0 https https://mail.google.com/accounts/SetOSID?continue=https%3A%2F%2Faccounts.google.co.uk%2Faccounts%2FSetSID%3Fssdc%3D1%26sidt%3DALWU2ctR9Uxp0qhL0HVYNURm01UOebegtyVV3GH%252BiVgIY9WIfqGs5NmqjVyX2IzkD0jDdGMV%252BgDLYwi9XrR%252FWsOIdwC4OO803V%252FimpsuKeLB7lk3%252FV10vr4C6wTc20A0I3ep6BLOe%252FQZgYJjfrcjzRiV2zT6fOiYXka1QrtyPIugR3R%252FaSWI%252Fau79w9hvBc%252FqqATVRi7F%252FDHv%252Be3cHMLPNOYoKwwUSOA9ORjKsyc5bCpnWM6X%252BrjsfzEEqlV5iui3EPKbBvTvCnfdF7UJjMg4EfWyMhVZaeytZdvGqJ2DfvPNmm2toULDQd4rcAAkfRZJQ95ySI4fq1ifZkfA0dhr7xnBQ0cl3%252BYTdl0yp%252BXjztO8YivQb%252Feip7gihmjfE9yRXoEboirDW8lIscN6cDDsuxzD07npdjHjRUX2wYrG4V3MLI4luHO52mwY%252BHZMN3O681HumCIBYvX%26continue%3Dhttps%253A%252F%252Fmail.google.com%252Fmail%252F%253Fauth%253DDQAAAL8AAABzUu3D7vQTObQbtiQU-X_6NnwgrsDnQe_7yXrUrFrniwP5j04Q9jVgc203CAd7rwHnO0tvXTI8MSlRISJz3tGutyOc_uw5khR4FHviJuyTEuxKJZPUmQXnIWxZf_CQoJXGGaxn1kT0scUyrxiBjTfXllUWBVa5iuEzL2lgbAINKmSlLmyg3BaTFb-l0nmDdqGznAJMDgspYtD8iBTcPnOWpGkHXUVtkE0C6KK_3z1eULl0wEne4aU0LNJhlhUa8Xk&osidt=ALWU2cvhIheonCPoG5pecDWKf0i1a-AsQKBMvxay9B54taUbBKAxr9vzwWXg2UJDvM3oYcjYFVDxpERiv9sed5ZQXUKh9UPV5epNA25PUuVZwNDOkePm6agrIhUGR9wVz4x7I6-uU0uF4VHDwS1KDpWZvQY6tMw5vti1qF2bVdLMO_UTLcEW9mdV7Oze8OZXWxFsppfVGSxHN8N1rH8xRMCj3A5QjC-OU5h-pS3N4-AI4A5LwrMj_zvtwS0BW5otNhVmt503yBBXKIIkF5i4gGXiQGVVhCFlBeosv7KbWx97PEPTzeqf59R0ZgY9p1cd_jQWi0gYUmTn +0 mail.google.com 0 /mail 1 1 1 1497632094 1435272960 0 GX DQAAAMoAAADuReoJNLFTfcVkka4MpznqQGgtWpCWbF9qPINtXVzsE62rPcFtkl_t5MhqS9Ab1zrEmWlZefvaR2bknrPqFsBfVZAtMoThXQxvoQQ7K2A1XTWfEeX09w0dJvN0A8SXsjAEebTY93dZkJr5fMomABLkbizqoRqSkv6sh4x7Ysat6VGX6m6eTg81aiCjuBHzLwlAKx63On5joEI1qYhXvKF1JMc3oEzaETTv9mw-vXHt_J-YYlPQi_nG4jQKoDFJ-XCx1fjVVGlqBsPj5Pf1-SGT 0 https https://mail.google.com/mail/?auth=DQAAAL8AAABzUu3D7vQTObQbtiQU-X_6NnwgrsDnQe_7yXrUrFrniwP5j04Q9jVgc203CAd7rwHnO0tvXTI8MSlRISJz3tGutyOc_uw5khR4FHviJuyTEuxKJZPUmQXnIWxZf_CQoJXGGaxn1kT0scUyrxiBjTfXllUWBVa5iuEzL2lgbAINKmSlLmyg3BaTFb-l0nmDdqGznAJMDgspYtD8iBTcPnOWpGkHXUVtkE0C6KK_3z1eULl0wEne4aU0LNJhlhUa8Xk +0 accounts.google.com 0 / 1 1 1 1497632093 0 0 GAPS 1:-F43DfTc9MQPBnPFtQw7SBXNDYxGRw:-byarQeQN13vrH8I 0 https https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1 +0 accounts.google.com 0 / 1 1 1 1497632093 0 0 LSID mail|o.mail.google.com|s.GB|ss:DQAAAMwAAADuReoJNLFTfcVkka4Mpznq77VRSAgK_50UNJQeyKZS6zdAktvmMi42CsHIKCA_qkMe373-3PwvTioyn8OGHoKi8a2tas-mS1US4KPOXsp6GrewaR6bwkvkAudNj5H97wu9p9uek5EMljgPSIcFHyTRDwGghHc918-Z5-QVQMYswD9fA8DObnL4iFPrYJyYsz2MJcYKOMTdgBc9cutZ-zgRVJLVV1IJiluuTeQb5pjfpX4ROfo8kf4M_boTxfuwO19fn_zp5jT9qdPr4jDBM9lM 0 https https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1 +0 accounts.google.com 0 / 1 1 1 1497632093 0 0 ACCOUNT_CHOOSER AFx_qI5IqJoq6XeRvabQu34G7bErRw0LzimzBZXUqP_9H8Zh2kqTpBc-jooLHKNNCggYdxTq_ENRPogKK0V35Ap5s9N-88xwKmZLX7xXnZ25EBl-8FHjjvfMxKIj2-_xnpyKtWa5fWac 0 https https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1 +0 .giffgaff.com 1 / 1 0 0 1503402870 1440407964 0 visid_incap_456843 MSQtdY7lSvK9UJiZDP3daK0S2lUAAAAAQUIPAAAAAAAudOMnRSt1V9mQN5dPPA+R 0 unused unused +0 .reddit.com 1 / 1 0 1 1499814590 1468278656 0 __cfduid d2c9a13e6ed171f4318aabcf558fcc6661468278590 0 unused unused +0 www.reddit.com 0 / 1 1 0 1531350591 1468278656 0 loid lLGqu0nblR8T852T20 0 https https://www.reddit.com/ +0 www.reddit.com 0 / 1 1 0 1531350591 1468278656 0 loidcreated 2016-07-11T23%3A09%3A50.925Z 0 https https://www.reddit.com/ +0 .google.co.uk 1 / 1 0 0 1497632093 1468278489 0 SID DQAAAMkAAACuniK1mc17JMX-o-sfAVqvl0EWP0kiNpQg4lWeslWBnU_km8BK6Eww-1mC6zvnm7Jiv2vft4BOwWiAOmRzN66pbzxGNxKKGzSz2GNdWrcwvuYyQHkevwrtwmKmZGDKsgLljofq6NyNf0AP5xGXfHj18awhbbnymmv5UaDqypGx7FvptGQSMQkj_1hY6NJ5pflIfSnKeEn0Y2mEVyhc1qUiGcJhVKqIRd6xaGKk7l235kOpqxjGK7I4_jTQaORZbp2-RWozAg7SHESSaOpxQ0ZT 0 unused unused +0 .google.co.uk 1 / 1 0 1 1497632093 1468278489 0 HSID ANVWylWAbjjzFxKxI 0 unused unused +0 .google.co.uk 1 / 1 1 1 1497632093 1468278489 0 SSID ANtGv1CSBG3CWbdtr 0 unused unused +0 .google.co.uk 1 / 1 0 0 1497632093 1468278489 0 APISID IeJTJt20VmceF7bS/AACvc5cSFPpX8FJMj 0 unused unused +0 .google.co.uk 1 / 1 1 0 1497632093 1468278489 0 SAPISID baCIIjpj-o3XQCkH/A-WEZgPvnNnguijDQ 0 unused unused +0 nir.theregister.co.uk 0 / 1 0 0 1499814443 0 0 sa 1 0 http http://nir.theregister.co.uk/?g=c&g=sa&s=c/front.front +0 .bbc.co.uk 1 / 1 0 0 1595541997 1470493359 0 BBC-UID 35e7d9a5837b2e9d026d30f521339ac6826814226444c1ee4a2134fef248fe180NetSurf/3.6%20(Linux) 0 unused unused +0 news.bbc.co.uk 0 / 1 0 0 1500933997 1469574171 0 BBC-UID 25a73995333b5e9d8ea88a16a17c7b8beea45e555eb863e913853a4de2dcbdb80NetSurf%2f3%2e6%20%28Linux%29 0 http http://news.bbc.co.uk/ diff --git a/test/data/urldb-out b/test/data/urldb-out new file mode 100644 index 000000000..6fd202434 --- /dev/null +++ b/test/data/urldb-out @@ -0,0 +1,47 @@ +106 +en.wikipedia.org +2 +http + +/wiki/Main_Page +1 +2100000000 +0 + + +https + +/wiki/Main_Page +1 +2100000000 +1 + +Wikipedia, the free encyclopedia +slashdot.org +2 +http + +/ +2 +2100000000 +0 + + +https + +/ +3 +2100000000 +1 + +Slashdot: News for nerds, stuff that matters +www.bbc.co.uk +1 +http + +/news/science_and_environment +1 +2100000000 +1 + +Science & Environment - BBC News diff --git a/test/urldbtest.c b/test/urldbtest.c index 89cf27679..6b3f2acad 100644 --- a/test/urldbtest.c +++ b/test/urldbtest.c @@ -43,13 +43,67 @@ #include "desktop/gui_internal.h" #include "desktop/cookie_manager.h" +/** + * url database used as input to test sets + */ const char *test_urldb_path = "test/data/urldb"; +/** + * url database used as output reference + */ +const char *test_urldb_out_path = "test/data/urldb-out"; + +/** + * cookie database used as input + */ const char *test_cookies_path = "test/data/cookies"; +/** + * cookie database used as output reference + */ +const char *test_cookies_out_path = "test/data/cookies-out"; const char *wikipedia_url = "http://www.wikipedia.org/"; struct netsurf_table *guit = NULL; +/** + * compare two files contents + */ +static int cmp(const char *f1, const char *f2) +{ + int res = 0; + FILE *fp1; + FILE *fp2; + int ch1; + int ch2; + + fp1 = fopen(f1, "r"); + if (fp1 == NULL) { + return -1; + } + fp2 = fopen(f2, "r"); + if (fp2 == NULL) { + fclose(fp1); + return -1; + } + + while (res == 0) { + ch1 = fgetc(fp1); + ch2 = fgetc(fp2); + + if (ch1 != ch2) { + res = 1; + } + + if (ch1 == EOF) { + break; + } + } + + fclose(fp1); + fclose(fp2); + return res; +} + /*************** original test helpers ************/ bool cookie_manager_add(const struct cookie_data *data) @@ -398,6 +452,9 @@ START_TEST(urldb_session_test) res = urldb_save(outnam); ck_assert_int_eq(res, NSERROR_OK); + /* check for the correct answer */ + ck_assert_int_eq(cmp(outnam, test_urldb_out_path), 0); + /* remove test output */ unlink(outnam); @@ -405,6 +462,9 @@ START_TEST(urldb_session_test) outnam = tmpnam(NULL); urldb_save_cookies(outnam); + /* check for the correct answer */ + ck_assert_int_eq(cmp(outnam, test_cookies_out_path), 0); + /* remove test output */ unlink(outnam); -- cgit v1.2.3