mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
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
This commit is contained in:
parent
0026d1a673
commit
0545f64d24
9
changes/bug25450
Normal file
9
changes/bug25450
Normal file
@ -0,0 +1,9 @@
|
||||
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 (shoddily); bugfix on
|
||||
0.3.1.3-alpha.
|
@ -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. */
|
||||
|
Loading…
Reference in New Issue
Block a user