From 3cc0a145bd2befbc22e86d4fa609d5b00f6039f6 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 22 Jun 2018 14:47:48 -0400 Subject: [PATCH 1/2] Fix test_geoip failures on windows by writing file in binary mode. Fixes bug 26480; bug appeared when we re-enabled the geoip tests on windows. Bug originally introduced by our fix to 25787; bug not in any released Tor. --- src/test/test_geoip.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/test_geoip.c b/src/test/test_geoip.c index 88fed43d83..6f849f436b 100644 --- a/src/test/test_geoip.c +++ b/src/test/test_geoip.c @@ -415,7 +415,7 @@ test_geoip_load_file(void *arg) geoip_db_digest(AF_INET)); const char *fname = get_fname("geoip"); - tt_int_op(0, OP_EQ, write_str_to_file(fname, GEOIP_CONTENT, 0)); + tt_int_op(0, OP_EQ, write_str_to_file(fname, GEOIP_CONTENT, 1)); int rv = geoip_load_file(AF_INET, fname); if (rv != 0) { @@ -491,7 +491,7 @@ test_geoip6_load_file(void *arg) "2001:4878:12a::,2001:4878:203:ffff:ffff:ffff:ffff:ffff,US\n" "2001:4878:204::,2001:4878:204:ffff:ffff:ffff:ffff:ffff,DE\n" "2001:4878:205::,2001:4878:214:ffff:ffff:ffff:ffff:ffff,US\n"; - tt_int_op(0, OP_EQ, write_str_to_file(fname6, CONTENT, 0)); + tt_int_op(0, OP_EQ, write_str_to_file(fname6, CONTENT, 1)); tt_int_op(0, OP_EQ, geoip_load_file(AF_INET6, fname6)); @@ -541,8 +541,8 @@ test_geoip_load_2nd_file(void *arg) char *fname_geoip = tor_strdup(get_fname("geoip_data")); char *fname_empty = tor_strdup(get_fname("geoip_empty")); - tt_int_op(0, OP_EQ, write_str_to_file(fname_geoip, GEOIP_CONTENT, 0)); - tt_int_op(0, OP_EQ, write_str_to_file(fname_empty, "\n", 0)); + tt_int_op(0, OP_EQ, write_str_to_file(fname_geoip, GEOIP_CONTENT, 1)); + tt_int_op(0, OP_EQ, write_str_to_file(fname_empty, "\n", 1)); /* Load 1st geoip file */ tt_int_op(0, OP_EQ, geoip_load_file(AF_INET, fname_geoip)); From d85fbc9a58ea8bbcba4af9ecb8026bc4a59099d7 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 22 Jun 2018 18:22:20 -0400 Subject: [PATCH 2/2] Add some casts to get test_dir.c compiling on windows. Fixed bug 26479. Bug introduced by 0a6f4627a4292e4; bug not in any released version. --- src/test/test_dir.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/test/test_dir.c b/src/test/test_dir.c index 96adb5ed56..b42755e351 100644 --- a/src/test/test_dir.c +++ b/src/test/test_dir.c @@ -1640,13 +1640,13 @@ test_dir_dirserv_read_measured_bandwidths(void *arg) char *fname = tor_strdup(get_fname("V3BandwidthsFile")); /* Test Torflow file only with timestamp*/ - tor_asprintf(&content, "%ld", timestamp); + tor_asprintf(&content, "%ld", (long)timestamp); write_str_to_file(fname, content, 0); tor_free(content); tt_int_op(-1, OP_EQ, dirserv_read_measured_bandwidths(fname, NULL)); /* Test Torflow file with timestamp followed by '\n' */ - tor_asprintf(&content, "%ld\n", timestamp); + tor_asprintf(&content, "%ld\n", (long)timestamp); write_str_to_file(fname, content, 0); tor_free(content); tt_int_op(0, OP_EQ, dirserv_read_measured_bandwidths(fname, NULL)); @@ -1659,7 +1659,7 @@ test_dir_dirserv_read_measured_bandwidths(void *arg) "pid_bw=57136645 pid_delta=2.12168374577 circ_fail=0.2 " "scanner=/filepath\n"; - tor_asprintf(&content, "%ld\n%s", timestamp, torflow_relay_lines); + tor_asprintf(&content, "%ld\n%s", (long)timestamp, torflow_relay_lines); write_str_to_file(fname, content, 0); tor_free(content); tt_int_op(0, OP_EQ, dirserv_read_measured_bandwidths(fname, NULL)); @@ -1673,14 +1673,14 @@ test_dir_dirserv_read_measured_bandwidths(void *arg) "earliest_bandwidth=2018-05-08T16:13:26\n" "====\n"; - tor_asprintf(&content, "%ld\n%s%s", timestamp, v110_header_lines, + tor_asprintf(&content, "%ld\n%s%s", (long)timestamp, v110_header_lines, torflow_relay_lines); write_str_to_file(fname, content, 0); tor_free(content); tt_int_op(0, OP_EQ, dirserv_read_measured_bandwidths(fname, NULL)); /* Test Torflow with additional headers afer a correct bw line */ - tor_asprintf(&content, "%ld\n%s%s", timestamp, torflow_relay_lines, + tor_asprintf(&content, "%ld\n%s%s", (long)timestamp, torflow_relay_lines, v110_header_lines); write_str_to_file(fname, content, 0); tor_free(content); @@ -1688,7 +1688,7 @@ test_dir_dirserv_read_measured_bandwidths(void *arg) /* Test Torflow with additional headers afer a correct bw line and more * bw lines after the headers. */ - tor_asprintf(&content, "%ld\n%s%s%s", timestamp, torflow_relay_lines, + tor_asprintf(&content, "%ld\n%s%s%s", (long)timestamp, torflow_relay_lines, v110_header_lines, torflow_relay_lines); write_str_to_file(fname, content, 0); tor_free(content); @@ -1700,7 +1700,7 @@ test_dir_dirserv_read_measured_bandwidths(void *arg) "master_key_ed25519=YaqV4vbvPYKucElk297eVdNArDz9HtIwUoIeo0+cVIpQ " "bw=760 nick=Test rtt=380 time=2018-05-08T16:13:26\n"; - tor_asprintf(&content, "%ld\n%s%s", timestamp, v110_header_lines, + tor_asprintf(&content, "%ld\n%s%s", (long)timestamp, v110_header_lines, sbws_relay_lines); write_str_to_file(fname, content, 0); tor_free(content);