Bläddra i källkod

Merge branch 'maint-0.3.2' into maint-0.3.3

Nick Mathewson 6 år sedan
förälder
incheckning
296e429ebc
2 ändrade filer med 14 tillägg och 5 borttagningar
  1. 8 0
      changes/bug25450
  2. 6 5
      src/test/test_hs_service.c

+ 8 - 0
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.

+ 6 - 5
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. */