aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_hs_service.c
diff options
context:
space:
mode:
authorIsis Lovecruft <isis@torproject.org>2018-03-07 23:50:00 +0000
committerIsis Lovecruft <isis@torproject.org>2018-03-08 20:50:50 +0000
commit0545f64d24e04a44fc44e67cd23f631fa5b01135 (patch)
tree1e2a705ae5398e3394045d9f12e2b4ceb7a0cadd /src/test/test_hs_service.c
parent0026d1a673e8b01057b0735c977a55995812c85e (diff)
downloadtor-0545f64d24e04a44fc44e67cd23f631fa5b01135.tar.gz
tor-0545f64d24e04a44fc44e67cd23f631fa5b01135.zip
test: Increase time limit for IP creation in an HS test.
This should avoid most intermittent test failures on developer and CI machines, but there could (and probably should) be a more elegant solution. Also, this test was testing that the IP was created and its expiration time was set to a time greater than or equal to `now+INTRO_POINT_LIFETIME_MIN_SECONDS+5`: /* 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... */ tt_u64_op(ip->time_to_expire, OP_GE, now + INTRO_POINT_LIFETIME_MIN_SECONDS + 5); However, this appears to be a typo, since, according to the comment above it, adding five seconds was done because the IP creation can be slow on some systems. But the five seconds is added to the *minimum* time we're comparing against, and so it actually functions to make this test *more* likely to fail on slower systems. (It should either subtract five seconds, or instead add it to time_to_expire.) * FIXES #25450: https://bugs.torproject.org/25450
Diffstat (limited to 'src/test/test_hs_service.c')
-rw-r--r--src/test/test_hs_service.c11
1 files changed, 6 insertions, 5 deletions
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. */