build: align minimum build dependencies with ndn-cxx
* boost 1.65.1 * gcc 7.4 * clang 6.0 * Xcode 10.0 (11.3 or later recommended) Also improve some test cases Change-Id: Ib81d082a19e61940fa6f1d89204ea8de8ed57940
This commit is contained in:
1 parent
a3a63975d1
commit
d1f1df802c
13 files changed
+105
-103
No files matched your search
@@ -22,8 +22,6 @@ jobs:
|
||||
include:
|
||||
- compiler: g++-7
|
||||
os: ubuntu-18.04
|
||||
- compiler: clang++-5.0
|
||||
os: ubuntu-18.04
|
||||
- compiler: clang++-6.0
|
||||
os: ubuntu-18.04
|
||||
runs-on: ${{ matrix.os }}
|
||||
@@ -37,7 +35,7 @@ jobs:
|
||||
sudo apt-get -qy install ${CXX/clang++/clang}
|
||||
${CXX} --version
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Build and test
|
||||
run: ./.jenkins
|
||||
|
||||
@@ -63,6 +61,6 @@ jobs:
|
||||
with:
|
||||
xcode-version: ${{ matrix.xcode }}
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Build and test
|
||||
run: ./.jenkins
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
WAF_JOBS: 3
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
case ${RUNNER_OS} in
|
||||
|
||||
@@ -16,20 +16,21 @@ def configure(conf):
|
||||
errmsg = ''
|
||||
warnmsg = ''
|
||||
if cxx == 'gcc':
|
||||
if ccver < (5, 3, 0):
|
||||
if ccver < (7, 4, 0):
|
||||
errmsg = ('The version of gcc you are using is too old.\n'
|
||||
'The minimum supported gcc version is 7.4.0.')
|
||||
elif ccver < (7, 4, 0):
|
||||
warnmsg = ('Using a version of gcc older than 7.4.0 is not '
|
||||
'officially supported and may result in build failures.')
|
||||
'The minimum supported gcc version is 7.4.')
|
||||
conf.flags = GccFlags()
|
||||
elif cxx == 'clang':
|
||||
if Utils.unversioned_sys_platform() == 'darwin' and ccver < (9, 0, 0):
|
||||
errmsg = ('The version of Xcode you are using is too old.\n'
|
||||
'The minimum supported Xcode version is 9.0.')
|
||||
elif ccver < (4, 0, 0):
|
||||
if Utils.unversioned_sys_platform() == 'darwin':
|
||||
if ccver < (10, 0, 0):
|
||||
errmsg = ('The version of Xcode you are using is too old.\n'
|
||||
'The minimum supported Xcode version is 11.3.')
|
||||
elif ccver < (11, 0, 0):
|
||||
warnmsg = ('Using a version of Xcode older than 11.3 is not '
|
||||
'officially supported and may result in build failures.')
|
||||
elif ccver < (6, 0, 0):
|
||||
errmsg = ('The version of clang you are using is too old.\n'
|
||||
'The minimum supported clang version is 4.0.')
|
||||
'The minimum supported clang version is 6.0.')
|
||||
conf.flags = ClangFlags()
|
||||
else:
|
||||
warnmsg = '%s compiler is unsupported' % cxx
|
||||
@@ -181,7 +182,7 @@ class GccFlags(GccBasicFlags):
|
||||
flags['CXXFLAGS'] += ['-fdiagnostics-color',
|
||||
'-Wredundant-tags',
|
||||
]
|
||||
if platform.machine() == 'armv7l' and self.getCompilerVersion(conf) >= (7, 1, 0):
|
||||
if platform.machine() == 'armv7l':
|
||||
flags['CXXFLAGS'] += ['-Wno-psabi'] # Bug #5106
|
||||
return flags
|
||||
|
||||
@@ -190,7 +191,7 @@ class GccFlags(GccBasicFlags):
|
||||
flags['CXXFLAGS'] += ['-fdiagnostics-color',
|
||||
'-Wredundant-tags',
|
||||
]
|
||||
if platform.machine() == 'armv7l' and self.getCompilerVersion(conf) >= (7, 1, 0):
|
||||
if platform.machine() == 'armv7l':
|
||||
flags['CXXFLAGS'] += ['-Wno-psabi'] # Bug #5106
|
||||
return flags
|
||||
|
||||
@@ -212,8 +213,6 @@ class ClangFlags(GccBasicFlags):
|
||||
'-Wundefined-func-template',
|
||||
'-Wno-unused-local-typedef', # Bugs #2657 and #3209
|
||||
]
|
||||
if self.getCompilerVersion(conf) < (6, 0, 0):
|
||||
flags['CXXFLAGS'] += ['-Wno-missing-braces'] # Bug #4721
|
||||
return flags
|
||||
|
||||
def getOptimizedFlags(self, conf):
|
||||
@@ -222,6 +221,4 @@ class ClangFlags(GccBasicFlags):
|
||||
'-Wundefined-func-template',
|
||||
'-Wno-unused-local-typedef', # Bugs #2657 and #3209
|
||||
]
|
||||
if self.getCompilerVersion(conf) < (6, 0, 0):
|
||||
flags['CXXFLAGS'] += ['-Wno-missing-braces'] # Bug #4721
|
||||
return flags
|
||||
+1
-1
@@ -18,7 +18,7 @@ import sys
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = u'Named Data Link State Routing Protocol (NLSR)'
|
||||
copyright = u'Copyright © 2014-2021 Named Data Networking Project.'
|
||||
copyright = u'Copyright © 2014-2022 Named Data Networking Project.'
|
||||
author = u'Named Data Networking Project'
|
||||
|
||||
# The short X.Y version.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2021, The University of Memphis,
|
||||
* Copyright (c) 2014-2022, The University of Memphis,
|
||||
* Regents of the University of California,
|
||||
* Arizona Board of Regents.
|
||||
*
|
||||
@@ -36,13 +36,7 @@ class SyncLogicFixture : public UnitTestTimeFixture
|
||||
{
|
||||
public:
|
||||
SyncLogicFixture()
|
||||
: face(m_ioService, m_keyChain)
|
||||
, conf(face, m_keyChain)
|
||||
, confProcessor(conf, SYNC_PROTOCOL_PSYNC)
|
||||
, testIsLsaNew([] (const ndn::Name& name, const Lsa::Type& lsaType,
|
||||
const uint64_t sequenceNumber) {
|
||||
return true;
|
||||
})
|
||||
: testIsLsaNew([] (auto&&...) { return true; })
|
||||
, sync(face, testIsLsaNew, conf)
|
||||
, updateNamePrefix(this->conf.getLsaPrefix().toUri() +
|
||||
this->conf.getSiteName().toUri() +
|
||||
@@ -65,146 +59,156 @@ public:
|
||||
}
|
||||
|
||||
public:
|
||||
ndn::util::DummyClientFace face;
|
||||
ConfParameter conf;
|
||||
DummyConfFileProcessor confProcessor;
|
||||
ndn::util::DummyClientFace face{m_ioService, m_keyChain};
|
||||
ConfParameter conf{face, m_keyChain};
|
||||
DummyConfFileProcessor confProcessor{conf, SYNC_PROTOCOL_PSYNC};
|
||||
SyncLogicHandler::IsLsaNew testIsLsaNew;
|
||||
SyncLogicHandler sync;
|
||||
|
||||
const std::string updateNamePrefix;
|
||||
const std::vector<Lsa::Type> lsaTypes = {Lsa::Type::NAME, Lsa::Type::ADJACENCY,
|
||||
Lsa::Type::COORDINATE};
|
||||
const std::vector<Lsa::Type> lsaTypes = {Lsa::Type::NAME,
|
||||
Lsa::Type::ADJACENCY,
|
||||
Lsa::Type::COORDINATE};
|
||||
};
|
||||
|
||||
BOOST_AUTO_TEST_SUITE(TestSyncLogicHandler)
|
||||
BOOST_FIXTURE_TEST_SUITE(TestSyncLogicHandler, SyncLogicFixture)
|
||||
|
||||
/* Tests that when SyncLogicHandler receives an LSA of either Name or
|
||||
Adjacency type that appears to be newer, it will emit to its signal
|
||||
with those LSA details.
|
||||
*/
|
||||
BOOST_FIXTURE_TEST_CASE(UpdateForOtherLS, SyncLogicFixture)
|
||||
BOOST_AUTO_TEST_CASE(UpdateForOtherLS)
|
||||
{
|
||||
std::vector<Lsa::Type> lsaTypes = {Lsa::Type::NAME, Lsa::Type::ADJACENCY};
|
||||
|
||||
size_t nCallbacks = 0;
|
||||
uint64_t syncSeqNo = 1;
|
||||
|
||||
for (const Lsa::Type& lsaType : lsaTypes) {
|
||||
for (auto lsaType : {Lsa::Type::NAME, Lsa::Type::ADJACENCY}) {
|
||||
std::string updateName = this->updateNamePrefix + boost::lexical_cast<std::string>(lsaType);
|
||||
|
||||
// Actual testing done here -- signal function callback
|
||||
ndn::util::signal::ScopedConnection connection = this->sync.onNewLsa->connect(
|
||||
[&] (const ndn::Name& routerName, const uint64_t& sequenceNumber,
|
||||
const ndn::Name& originRouter) {
|
||||
[&] (const auto& routerName, uint64_t sequenceNumber, const auto& originRouter) {
|
||||
BOOST_CHECK_EQUAL(ndn::Name{updateName}, routerName);
|
||||
BOOST_CHECK_EQUAL(sequenceNumber, syncSeqNo);
|
||||
++nCallbacks;
|
||||
});
|
||||
|
||||
this->receiveUpdate(updateName, syncSeqNo);
|
||||
}
|
||||
|
||||
BOOST_CHECK_EQUAL(nCallbacks, 2);
|
||||
}
|
||||
|
||||
/* Tests that when SyncLogicHandler in HR mode receives an LSA of
|
||||
either Coordinate or Name type that appears to be newer, it will
|
||||
emit to its signal with those LSA details.
|
||||
*/
|
||||
BOOST_FIXTURE_TEST_CASE(UpdateForOtherHR, SyncLogicFixture)
|
||||
BOOST_AUTO_TEST_CASE(UpdateForOtherHR)
|
||||
{
|
||||
this->conf.setHyperbolicState(HYPERBOLIC_STATE_ON);
|
||||
|
||||
size_t nCallbacks = 0;
|
||||
uint64_t syncSeqNo = 1;
|
||||
std::vector<Lsa::Type> lsaTypes = {Lsa::Type::NAME, Lsa::Type::COORDINATE};
|
||||
|
||||
for (const Lsa::Type& lsaType : lsaTypes) {
|
||||
for (auto lsaType : {Lsa::Type::NAME, Lsa::Type::COORDINATE}) {
|
||||
std::string updateName = this->updateNamePrefix + boost::lexical_cast<std::string>(lsaType);
|
||||
|
||||
ndn::util::signal::ScopedConnection connection = this->sync.onNewLsa->connect(
|
||||
[&] (const ndn::Name& routerName, const uint64_t& sequenceNumber,
|
||||
const ndn::Name& originRouter) {
|
||||
[&] (const auto& routerName, uint64_t sequenceNumber, const auto& originRouter) {
|
||||
BOOST_CHECK_EQUAL(ndn::Name{updateName}, routerName);
|
||||
BOOST_CHECK_EQUAL(sequenceNumber, syncSeqNo);
|
||||
++nCallbacks;
|
||||
});
|
||||
|
||||
this->receiveUpdate(updateName, syncSeqNo);
|
||||
}
|
||||
|
||||
BOOST_CHECK_EQUAL(nCallbacks, 2);
|
||||
}
|
||||
|
||||
/* Tests that when SyncLogicHandler in HR-dry mode receives an LSA of
|
||||
any type that appears to be newer, it will emit to its signal with
|
||||
those LSA details.
|
||||
*/
|
||||
BOOST_FIXTURE_TEST_CASE(UpdateForOtherHRDry, SyncLogicFixture)
|
||||
BOOST_AUTO_TEST_CASE(UpdateForOtherHRDry)
|
||||
{
|
||||
this->conf.setHyperbolicState(HYPERBOLIC_STATE_DRY_RUN);
|
||||
|
||||
size_t nCallbacks = 0;
|
||||
uint64_t syncSeqNo = 1;
|
||||
|
||||
for (const Lsa::Type& lsaType : this->lsaTypes) {
|
||||
for (auto lsaType : this->lsaTypes) {
|
||||
std::string updateName = this->updateNamePrefix + boost::lexical_cast<std::string>(lsaType);
|
||||
|
||||
ndn::util::signal::ScopedConnection connection = this->sync.onNewLsa->connect(
|
||||
[&] (const ndn::Name& routerName, const uint64_t& sequenceNumber,
|
||||
const ndn::Name& originRouter) {
|
||||
[&] (const auto& routerName, uint64_t sequenceNumber, const auto& originRouter) {
|
||||
BOOST_CHECK_EQUAL(ndn::Name{updateName}, routerName);
|
||||
BOOST_CHECK_EQUAL(sequenceNumber, syncSeqNo);
|
||||
++nCallbacks;
|
||||
});
|
||||
|
||||
this->receiveUpdate(updateName, syncSeqNo);
|
||||
}
|
||||
|
||||
BOOST_CHECK_EQUAL(nCallbacks, 3);
|
||||
}
|
||||
|
||||
/* Tests that when SyncLogicHandler receives an update for an LSA with
|
||||
details matching this router's details, it will *not* emit to its
|
||||
signal those LSA details.
|
||||
*/
|
||||
BOOST_FIXTURE_TEST_CASE(NoUpdateForSelf, SyncLogicFixture)
|
||||
BOOST_AUTO_TEST_CASE(NoUpdateForSelf)
|
||||
{
|
||||
const uint64_t sequenceNumber = 1;
|
||||
|
||||
for (const Lsa::Type& lsaType : this->lsaTypes) {
|
||||
for (auto lsaType : this->lsaTypes) {
|
||||
// To ensure that we get correctly-separated components, create
|
||||
// and modify a Name to hand off.
|
||||
ndn::Name updateName = ndn::Name{this->conf.getLsaPrefix()};
|
||||
ndn::Name updateName{this->conf.getLsaPrefix()};
|
||||
updateName.append(this->conf.getSiteName())
|
||||
.append(this->conf.getRouterName())
|
||||
.append(boost::lexical_cast<std::string>(lsaType));
|
||||
|
||||
ndn::util::signal::ScopedConnection connection = this->sync.onNewLsa->connect(
|
||||
[&] (const ndn::Name& routerName, const uint64_t& sequenceNumber,
|
||||
const ndn::Name& originRouter) {
|
||||
[&] (const auto& routerName, uint64_t sequenceNumber, const auto& originRouter) {
|
||||
BOOST_FAIL("Updates for self should not be emitted!");
|
||||
});
|
||||
|
||||
this->receiveUpdate(updateName.toUri(), sequenceNumber);
|
||||
}
|
||||
|
||||
// avoid "test case [...] did not check any assertions" message from Boost.Test
|
||||
BOOST_CHECK(true);
|
||||
}
|
||||
|
||||
/* Tests that when SyncLogicHandler receives an update for an LSA with
|
||||
details that do not match the expected format, it will *not* emit
|
||||
to its signal those LSA details.
|
||||
*/
|
||||
BOOST_FIXTURE_TEST_CASE(MalformedUpdate, SyncLogicFixture)
|
||||
BOOST_AUTO_TEST_CASE(MalformedUpdate)
|
||||
{
|
||||
const uint64_t sequenceNumber = 1;
|
||||
|
||||
for (const Lsa::Type& lsaType : this->lsaTypes) {
|
||||
for (auto lsaType : this->lsaTypes) {
|
||||
ndn::Name updateName{this->conf.getSiteName()};
|
||||
updateName.append(this->conf.getRouterName()).append(boost::lexical_cast<std::string>(lsaType));
|
||||
|
||||
ndn::util::signal::ScopedConnection connection = this->sync.onNewLsa->connect(
|
||||
[&] (const ndn::Name& routerName, const uint64_t& sequenceNumber,
|
||||
const ndn::Name& originRouter) {
|
||||
[&] (const auto& routerName, uint64_t sequenceNumber, const auto& originRouter) {
|
||||
BOOST_FAIL("Malformed updates should not be emitted!");
|
||||
});
|
||||
|
||||
this->receiveUpdate(updateName.toUri(), sequenceNumber);
|
||||
}
|
||||
|
||||
// avoid "test case [...] did not check any assertions" message from Boost.Test
|
||||
BOOST_CHECK(true);
|
||||
}
|
||||
|
||||
/* Tests that when SyncLogicHandler receives an update for an LSA with
|
||||
details that do not appear to be new, it will *not* emit to its
|
||||
signal those LSA details.
|
||||
*/
|
||||
BOOST_FIXTURE_TEST_CASE(LsaNotNew, SyncLogicFixture)
|
||||
BOOST_AUTO_TEST_CASE(LsaNotNew)
|
||||
{
|
||||
auto testLsaAlwaysFalse = [] (const ndn::Name& routerName, const Lsa::Type& lsaType,
|
||||
const uint64_t& sequenceNumber) {
|
||||
@@ -214,21 +218,22 @@ BOOST_FIXTURE_TEST_CASE(LsaNotNew, SyncLogicFixture)
|
||||
const uint64_t sequenceNumber = 1;
|
||||
SyncLogicHandler sync{this->face, testLsaAlwaysFalse, this->conf};
|
||||
ndn::util::signal::ScopedConnection connection = sync.onNewLsa->connect(
|
||||
[&] (const ndn::Name& routerName, const uint64_t& sequenceNumber,
|
||||
const ndn::Name& originRouter) {
|
||||
[&] (const auto& routerName, uint64_t sequenceNumber, const auto& originRouter) {
|
||||
BOOST_FAIL("An update for an LSA with non-new sequence number should not emit!");
|
||||
});
|
||||
|
||||
std::string updateName = this->updateNamePrefix + boost::lexical_cast<std::string>(Lsa::Type::NAME);
|
||||
|
||||
this->receiveUpdate(updateName, sequenceNumber);
|
||||
|
||||
// avoid "test case [...] did not check any assertions" message from Boost.Test
|
||||
BOOST_CHECK(true);
|
||||
}
|
||||
|
||||
/* Tests that SyncLogicHandler successfully concatenates configured
|
||||
variables together to form the necessary prefixes to advertise
|
||||
through sync.
|
||||
*/
|
||||
BOOST_FIXTURE_TEST_CASE(UpdatePrefix, SyncLogicFixture)
|
||||
BOOST_AUTO_TEST_CASE(UpdatePrefix)
|
||||
{
|
||||
ndn::Name expectedPrefix = this->conf.getLsaPrefix();
|
||||
expectedPrefix.append(this->conf.getSiteName());
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2021, The University of Memphis,
|
||||
* Copyright (c) 2014-2022, The University of Memphis,
|
||||
* Regents of the University of California,
|
||||
* Arizona Board of Regents.
|
||||
*
|
||||
@@ -46,11 +46,11 @@ processDatasetInterest(ndn::util::DummyClientFace& face,
|
||||
face.sentData.clear();
|
||||
}
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(PublisherTestLsdbDatasetInterestHandler, PublisherFixture)
|
||||
BOOST_FIXTURE_TEST_SUITE(TestDatasetInterestHandler, PublisherFixture)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(Localhost)
|
||||
{
|
||||
nlsr::test::checkPrefixRegistered(face, Nlsr::LOCALHOST_PREFIX);
|
||||
checkPrefixRegistered(face, Nlsr::LOCALHOST_PREFIX);
|
||||
|
||||
// Install adjacency LSA
|
||||
AdjLsa adjLsa;
|
||||
@@ -102,7 +102,7 @@ BOOST_AUTO_TEST_CASE(RouterName)
|
||||
// Should already be added to dispatcher
|
||||
BOOST_CHECK_THROW(nlsr.m_dispatcher.addTopPrefix(regRouterPrefix), std::out_of_range);
|
||||
|
||||
nlsr::test::checkPrefixRegistered(face,regRouterPrefix);
|
||||
checkPrefixRegistered(face,regRouterPrefix);
|
||||
|
||||
// Install adjacencies LSA
|
||||
AdjLsa adjLsa;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2021, The University of Memphis,
|
||||
* Copyright (c) 2014-2022, The University of Memphis,
|
||||
* Regents of the University of California
|
||||
*
|
||||
* This file is part of NLSR (Named-data Link State Routing).
|
||||
@@ -19,11 +19,12 @@
|
||||
*/
|
||||
|
||||
#include "route/fib.hpp"
|
||||
#include "../test-common.hpp"
|
||||
#include "../control-commands.hpp"
|
||||
#include "adjacency-list.hpp"
|
||||
#include "conf-parameter.hpp"
|
||||
|
||||
#include "../test-common.hpp"
|
||||
#include "../control-commands.hpp"
|
||||
|
||||
#include <ndn-cxx/util/dummy-client-face.hpp>
|
||||
|
||||
namespace nlsr {
|
||||
@@ -335,11 +336,11 @@ BOOST_FIXTURE_TEST_CASE(ScheduleFibEntryRefresh, FibFixture)
|
||||
int origSeqNo = fe.seqNo;
|
||||
fib.m_table.emplace(name1, std::move(fe));
|
||||
|
||||
fib.scheduleEntryRefresh(fe,
|
||||
[&] (FibEntry& entry) {
|
||||
BOOST_CHECK_EQUAL(origSeqNo + 1, entry.seqNo);
|
||||
});
|
||||
fib.scheduleEntryRefresh(fe, [&] (auto& entry) { BOOST_CHECK_EQUAL(origSeqNo + 1, entry.seqNo); });
|
||||
this->advanceClocks(ndn::time::milliseconds(10), 1);
|
||||
|
||||
// avoid "test case [...] did not check any assertions" message from Boost.Test
|
||||
BOOST_CHECK(true);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(ShouldNotRefreshNeighborRoute) // #4799
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2021, The University of Memphis,
|
||||
* Copyright (c) 2014-2022, The University of Memphis,
|
||||
* Regents of the University of California,
|
||||
* Arizona Board of Regents.
|
||||
*
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
const std::string ACTIVE_NEIGHBOR = "/ndn/site/%C1.Router/router-active";
|
||||
};
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(HelloProtocol, HelloProtocolFixture)
|
||||
BOOST_FIXTURE_TEST_SUITE(TestHelloProtocol, HelloProtocolFixture)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(Basic)
|
||||
{
|
||||
@@ -150,4 +150,4 @@ BOOST_AUTO_TEST_CASE(CheckHelloDataValidatedSignal) // # 5157
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
} // namespace test
|
||||
} // namespace nlsr
|
||||
} // namespace nlsr
|
||||
@@ -1,6 +1,6 @@
|
||||
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2021, The University of Memphis,
|
||||
* Copyright (c) 2014-2022, The University of Memphis,
|
||||
* Regents of the University of California,
|
||||
* Arizona Board of Regents.
|
||||
*
|
||||
@@ -39,7 +39,7 @@ using namespace ndn;
|
||||
namespace nlsr {
|
||||
namespace test {
|
||||
|
||||
class LsaRuleFixture : public nlsr::test::UnitTestTimeFixture
|
||||
class LsaRuleFixture : public UnitTestTimeFixture
|
||||
{
|
||||
public:
|
||||
LsaRuleFixture()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2021, The University of Memphis,
|
||||
* Copyright (c) 2014-2022, The University of Memphis,
|
||||
* Regents of the University of California,
|
||||
* Arizona Board of Regents.
|
||||
*
|
||||
@@ -26,7 +26,7 @@
|
||||
namespace nlsr {
|
||||
namespace test {
|
||||
|
||||
class AdvertiseCrashFixture : public nlsr::test::UnitTestTimeFixture
|
||||
class AdvertiseCrashFixture : public UnitTestTimeFixture
|
||||
{
|
||||
public:
|
||||
AdvertiseCrashFixture()
|
||||
@@ -70,7 +70,9 @@ public:
|
||||
NamePrefixList& namePrefixList;
|
||||
};
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(TestAdvertiseCrash, AdvertiseCrashFixture)
|
||||
BOOST_FIXTURE_TEST_SUITE(TestAdvertiseCrash, AdvertiseCrashFixture)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(ReceiveAdvertiseInterest)
|
||||
{
|
||||
// Note that this test does not setup any security
|
||||
// and the interest will be rejected by NLSR.
|
||||
@@ -84,10 +86,14 @@ BOOST_FIXTURE_TEST_CASE(TestAdvertiseCrash, AdvertiseCrashFixture)
|
||||
advertiseCommand.append(parameters.wireEncode());
|
||||
|
||||
auto advertiseInterest = std::make_shared<ndn::Interest>(advertiseCommand);
|
||||
advertiseInterest->setCanBePrefix(false);
|
||||
face.receive(*advertiseInterest);
|
||||
this->advanceClocks(ndn::time::milliseconds(10), 10);
|
||||
|
||||
// avoid "test case [...] did not check any assertions" message from Boost.Test
|
||||
BOOST_CHECK(true);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
} // namespace test
|
||||
} // namespace nlsr
|
||||
@@ -1,6 +1,6 @@
|
||||
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2021, The University of Memphis,
|
||||
* Copyright (c) 2014-2022, The University of Memphis,
|
||||
* Regents of the University of California,
|
||||
* Arizona Board of Regents.
|
||||
*
|
||||
@@ -32,7 +32,7 @@
|
||||
namespace nlsr {
|
||||
namespace test {
|
||||
|
||||
class NfdRibCommandProcessorFixture : public nlsr::test::UnitTestTimeFixture
|
||||
class NfdRibCommandProcessorFixture : public UnitTestTimeFixture
|
||||
{
|
||||
public:
|
||||
NfdRibCommandProcessorFixture()
|
||||
@@ -55,7 +55,6 @@ public:
|
||||
sendCommand(ndn::Name prefix, const ndn::nfd::ControlParameters& parameters)
|
||||
{
|
||||
ndn::Interest interest(prefix.append(parameters.wireEncode()));
|
||||
interest.setCanBePrefix(false);
|
||||
face.receive(interest);
|
||||
this->advanceClocks(ndn::time::milliseconds(10), 10);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
|
||||
/*
|
||||
* Copyright (c) 2014-2021, The University of Memphis,
|
||||
* Copyright (c) 2014-2022, The University of Memphis,
|
||||
* Regents of the University of California,
|
||||
* Arizona Board of Regents.
|
||||
*
|
||||
@@ -40,7 +40,7 @@ using namespace ndn;
|
||||
namespace nlsr {
|
||||
namespace test {
|
||||
|
||||
class PrefixUpdateFixture : public nlsr::test::UnitTestTimeFixture
|
||||
class PrefixUpdateFixture : public UnitTestTimeFixture
|
||||
{
|
||||
public:
|
||||
PrefixUpdateFixture()
|
||||
|
||||
@@ -50,30 +50,26 @@ def configure(conf):
|
||||
|
||||
conf.find_program('dot', var='DOT', mandatory=False)
|
||||
|
||||
pkg_config_path = os.environ.get('PKG_CONFIG_PATH', '%s/pkgconfig' % conf.env.LIBDIR)
|
||||
conf.check_cfg(package='libndn-cxx', args=['--cflags', '--libs'], uselib_store='NDN_CXX',
|
||||
pkg_config_path=pkg_config_path)
|
||||
pkg_config_path = os.environ.get('PKG_CONFIG_PATH', f'{conf.env.LIBDIR}/pkgconfig')
|
||||
conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.0', '--cflags', '--libs'],
|
||||
uselib_store='NDN_CXX', pkg_config_path=pkg_config_path)
|
||||
|
||||
boost_libs = ['system', 'iostreams', 'filesystem', 'regex']
|
||||
if conf.env.WITH_TESTS:
|
||||
boost_libs += ['program_options', 'unit_test_framework']
|
||||
boost_libs.append('unit_test_framework')
|
||||
|
||||
conf.check_boost(lib=boost_libs, mt=True)
|
||||
if conf.env.BOOST_VERSION_NUMBER < 105800:
|
||||
if conf.env.BOOST_VERSION_NUMBER < 106501:
|
||||
conf.fatal('The minimum supported version of Boost is 1.65.1.\n'
|
||||
'Please upgrade your distribution or manually install a newer version of Boost.\n'
|
||||
'For more information, see https://redmine.named-data.net/projects/nfd/wiki/Boost')
|
||||
elif conf.env.BOOST_VERSION_NUMBER < 106501:
|
||||
Logs.warn('WARNING: Using a version of Boost older than 1.65.1 is not officially supported and may not work.\n'
|
||||
'If you encounter any problems, please upgrade your distribution or manually install a newer version of Boost.\n'
|
||||
'For more information, see https://redmine.named-data.net/projects/nfd/wiki/Boost')
|
||||
|
||||
if conf.options.with_chronosync:
|
||||
conf.check_cfg(package='ChronoSync', args=['--cflags', '--libs'],
|
||||
conf.check_cfg(package='ChronoSync', args=['ChronoSync >= 0.5.4', '--cflags', '--libs'],
|
||||
uselib_store='CHRONOSYNC', pkg_config_path=pkg_config_path)
|
||||
|
||||
conf.check_cfg(package='PSync', args=['--cflags', '--libs'], uselib_store='PSYNC',
|
||||
pkg_config_path=pkg_config_path)
|
||||
conf.check_cfg(package='PSync', args=['PSync >= 0.3.0', '--cflags', '--libs'],
|
||||
uselib_store='PSYNC', pkg_config_path=pkg_config_path)
|
||||
|
||||
conf.check_compiler_flags()
|
||||
|
||||
|
||||
Reference in new issue
Block a user