Browse Source

test: New behavior on IP retry for HSv3

Unit test for #31652 where if we are over the retry limit for the IP but we
have an established circuit, we don't remove the IP.

Part of #31652
Neel Chauhan 6 years ago
parent
commit
7c1b2fceb7
1 changed files with 5 additions and 0 deletions
  1. 5 0
      src/test/test_hs_service.c

+ 5 - 0
src/test/test_hs_service.c

@@ -1296,6 +1296,11 @@ test_service_event(void *arg)
     service_intro_point_add(service->desc_current->intro_points.map, ip);
     ip->circuit_established = 1;  /* We'll test that, it MUST be 0 after. */
     run_housekeeping_event(now);
+    tt_int_op(digest256map_size(service->desc_current->intro_points.map),
+              OP_EQ, 1);
+    /* No removal if we have an established circuit after retries. */
+    ip->circuit_retries = MAX_INTRO_POINT_CIRCUIT_RETRIES + 1;
+    run_housekeeping_event(now);
     tt_int_op(digest256map_size(service->desc_current->intro_points.map),
               OP_EQ, 1);
     /* Remove the IP object at once for the next test. */