summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-03-19 05:35:39 -0400
committerNick Mathewson <nickm@torproject.org>2018-03-19 05:35:39 -0400
commita0cc7e9492ca3737d197d5b7ec491f6f00bc9fb5 (patch)
treef0c3b59422092a6aa8a4fe2fc14a6d23dd2888a1
parentd60dc27555a2bed448617e0b82e61817c9cff895 (diff)
parent9191d962f9f6226ae2ded6006571b1e03ab7970f (diff)
downloadtor-a0cc7e9492ca3737d197d5b7ec491f6f00bc9fb5.tar.gz
tor-a0cc7e9492ca3737d197d5b7ec491f6f00bc9fb5.zip
Merge remote-tracking branch 'isis/bug25450_032' into maint-0.3.2
-rw-r--r--changes/bug254508
-rw-r--r--src/test/test_hs_service.c11
2 files changed, 14 insertions, 5 deletions
diff --git a/changes/bug25450 b/changes/bug25450
new file mode 100644
index 0000000000..ae14135a72
--- /dev/null
+++ b/changes/bug25450
@@ -0,0 +1,8 @@
+ o Minor bugfixes (testing):
+ - Avoid intermittent test failures due to relying on hidden service
+ introductory point creation within 5 seconds of real clock time. The
+ time limit for the test has been increased to 500 seconds, which may
+ still result in intermittent failures (e.g. if the system doing the
+ testing enters sleep/hibernation or experiences some other clock jump).
+ However, this should elliminate test failures currently happening on
+ developer and CI systems. Fixes bug 25450; bugfix on 0.3.1.3-alpha.
diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
index 8407eccfa8..4f5e8ba45f 100644
--- a/src/test/test_hs_service.c
+++ b/src/test/test_hs_service.c
@@ -413,13 +413,14 @@ test_service_intro_point(void *arg)
INTRO_POINT_MIN_LIFETIME_INTRODUCTIONS);
tt_u64_op(ip->introduce2_max, OP_LE,
INTRO_POINT_MAX_LIFETIME_INTRODUCTIONS);
- /* Time to expire MUST also be in that range. We add 5 seconds because
- * there could be a gap between setting now and the time taken in
- * service_intro_point_new. On ARM, it can be surprisingly slow... */
+ /* Time to expire MUST also be in that range. We subtract 500 seconds
+ * because there could be a gap between setting now and the time taken in
+ * service_intro_point_new. On ARM and other older CPUs, it can be
+ * surprisingly slow... */
tt_u64_op(ip->time_to_expire, OP_GE,
- now + INTRO_POINT_LIFETIME_MIN_SECONDS + 5);
+ now + INTRO_POINT_LIFETIME_MIN_SECONDS - 500);
tt_u64_op(ip->time_to_expire, OP_LE,
- now + INTRO_POINT_LIFETIME_MAX_SECONDS + 5);
+ now + INTRO_POINT_LIFETIME_MAX_SECONDS - 500);
tt_assert(ip->replay_cache);
tt_assert(ip->base.link_specifiers);
/* By default, this is NOT a legacy object. */