security: use exponential backoff in CertificateFetcherFromNetwork
refs: #4718, #4712
Change-Id: I8def533528b82ea00096e9d87897acf31dff24a4
diff --git a/tests/unit-tests/security/v2/certificate-fetcher-direct-fetch.t.cpp b/tests/unit-tests/security/v2/certificate-fetcher-direct-fetch.t.cpp
index 2f27878..68fe6b1 100644
--- a/tests/unit-tests/security/v2/certificate-fetcher-direct-fetch.t.cpp
+++ b/tests/unit-tests/security/v2/certificate-fetcher-direct-fetch.t.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
*
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
*
@@ -140,7 +140,9 @@
BOOST_FIXTURE_TEST_CASE_TEMPLATE(ValidateFailureData, T, Failures, CertificateFetcherDirectFetchFixture<T>)
{
VALIDATE_FAILURE(this->data, "Should fail, as all interests either NACKed or timeout");
- BOOST_CHECK_GT(this->face.sentInterests.size(), 4);
+ // Direct fetcher sends two interests each time - to network and face
+ // 3 retries on nack or timeout (2 * (1 + 3) = 4)
+ BOOST_CHECK_EQUAL(this->face.sentInterests.size(), 8);
// odd interests
for (const auto& sentInterest : this->face.sentInterests | boost::adaptors::strided(2)) {
@@ -176,7 +178,9 @@
BOOST_FIXTURE_TEST_CASE_TEMPLATE(ValidateFailureInterest, T, Failures, CertificateFetcherDirectFetchFixture<T>)
{
VALIDATE_FAILURE(this->interest, "Should fail, as all interests either NACKed or timeout");
- BOOST_CHECK_GT(this->face.sentInterests.size(), 4);
+ // Direct fetcher sends two interests each time - to network and face
+ // 3 retries on nack or timeout (2 * (1 + 3) = 4)
+ BOOST_CHECK_EQUAL(this->face.sentInterests.size(), 8);
// odd interests
for (const auto& sentInterest : this->face.sentInterests | boost::adaptors::strided(2)) {
diff --git a/tests/unit-tests/security/v2/certificate-fetcher-from-network.t.cpp b/tests/unit-tests/security/v2/certificate-fetcher-from-network.t.cpp
index e4b1ec9..5a6b395 100644
--- a/tests/unit-tests/security/v2/certificate-fetcher-from-network.t.cpp
+++ b/tests/unit-tests/security/v2/certificate-fetcher-from-network.t.cpp
@@ -119,13 +119,15 @@
BOOST_FIXTURE_TEST_CASE_TEMPLATE(ValidateFailure, T, Failures, CertificateFetcherFromNetworkFixture<T>)
{
VALIDATE_FAILURE(this->data, "Should fail, as interests don't bring data");
- BOOST_CHECK_GT(this->face.sentInterests.size(), 2);
+ // first interest + 3 retries
+ BOOST_CHECK_EQUAL(this->face.sentInterests.size(), 4);
+
this->face.sentInterests.clear();
this->advanceClocks(1_h, 2); // expire validator caches
VALIDATE_FAILURE(this->interest, "Should fail, as interests don't bring data");
- BOOST_CHECK_GT(this->face.sentInterests.size(), 2);
+ BOOST_CHECK_EQUAL(this->face.sentInterests.size(), 4);
}
BOOST_AUTO_TEST_SUITE_END() // TestCertificateFetcherFromNetwork
diff --git a/tests/unit-tests/security/v2/validator.t.cpp b/tests/unit-tests/security/v2/validator.t.cpp
index af64557..ff33984 100644
--- a/tests/unit-tests/security/v2/validator.t.cpp
+++ b/tests/unit-tests/security/v2/validator.t.cpp
@@ -72,7 +72,8 @@
m_keyChain.sign(data, signingByIdentity(subIdentity));
VALIDATE_FAILURE(data, "All interests should get NACKed");
- BOOST_CHECK_GT(face.sentInterests.size(), 1);
+ // 1 for the first interest, 3 for the retries on nack
+ BOOST_CHECK_EQUAL(face.sentInterests.size(), 4);
}
BOOST_AUTO_TEST_CASE(MalformedCert)