build: align minimum build dependencies with ndn-cxx
* Recommend boost >= 1.65.1 and gcc >= 7.4.0
* Require clang >= 4.0, or Xcode >= 9.0 on macOS
* Silence an ABI-related diagnostic message from gcc on armv7
Refs: #5087, #5106
Change-Id: I88ef0e0f183736f19ac414a84baebb0e1073381b
diff --git a/tests/README.md b/tests/README.md
index 83cab77..ca34f42 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -1,13 +1,12 @@
-ndn-tools unit tests
-====================
+# ndn-tools unit tests
## Assumptions
-Unit tests for a tool `foo` should be placed in the folder `foo` and build script for the tool
-should define `foo-objects` that includes all object files for the tool, except object files
-defining main function.
+Unit tests for a tool `foo` should be placed in the folder `foo` and the build script
+for the tool should define `foo-objects` that includes all object files for that tool,
+except the object that contains the `main()` function.
-For example,
+For example:
bld(features='cxx',
name='tool-subtool-objects',
diff --git a/tests/main.cpp b/tests/main.cpp
index c111daf..1a6b9b0 100644
--- a/tests/main.cpp
+++ b/tests/main.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
- * Copyright (c) 2014-2019, Regents of the University of California,
+ * Copyright (c) 2014-2020, Regents of the University of California,
* Arizona Board of Regents,
* Colorado State University,
* University Pierre & Marie Curie, Sorbonne University,
@@ -23,6 +23,5 @@
* ndn-tools, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
*/
-#define BOOST_TEST_MODULE ndn-tools Unit Tests
-
-#include "boost-test.hpp"
+#define BOOST_TEST_MODULE ndn-tools
+#include "tests/boost-test.hpp"
diff --git a/tests/test-case.t.cpp.sample b/tests/test-case.t.cpp.sample
index 77d22c1..44223a6 100644
--- a/tests/test-case.t.cpp.sample
+++ b/tests/test-case.t.cpp.sample
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2016, Arizona Board of Regents.
+/*
+ * Copyright (c) 2014-2020 Arizona Board of Regents.
*
* This file is part of ndn-tools (Named Data Networking Essential Tools).
* See AUTHORS.md for complete list of ndn-tools authors and contributors.
@@ -17,22 +17,22 @@
* ndn-tools, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
*/
-// #include "unit-under-test.hpp"
-// Unit being tested MUST be included first, to ensure header compiles on its own.
+// The unit being tested should be included first, to ensure the header compiles on its own.
// For further information about test naming conventions, see
-// http://redmine.named-data.net/projects/nfd/wiki/UnitTesting
+// https://redmine.named-data.net/projects/nfd/wiki/UnitTesting
+//#include "unit-under-test.hpp"
#include "tests/test-common.hpp"
namespace ndn {
namespace tool_name {
namespace tests {
-// Unit tests SHOULD go inside ndn::tool_name::tests namespace.
+// Unit tests should go inside the ndn::tool_name::tests namespace.
-// Common fixtures in ndn::tests can be imported.
+// Common fixtures in ndn::tests can be imported if needed.
using namespace ndn::tests;
-// See http://redmine.named-data.net/projects/nfd/wiki/UnitTesting on how to name a test suite.
+// See https://redmine.named-data.net/projects/nfd/wiki/UnitTesting for a guide on how to name a test suite.
BOOST_AUTO_TEST_SUITE(TestSkeleton)
BOOST_AUTO_TEST_CASE(Test1)
@@ -40,16 +40,16 @@
int i = 0;
// For reference of available Boost.Test macros, see
- // https://www.boost.org/doc/libs/1_58_0/libs/test/doc/html/utf/testing-tools/reference.html
+ // https://www.boost.org/doc/libs/1_65_1/libs/test/doc/html/boost_test/testing_tools/summary.html
BOOST_REQUIRE_NO_THROW(i = 1);
- BOOST_REQUIRE_EQUAL(i, 1);
+ BOOST_CHECK_EQUAL(i, 1);
}
// Use UnitTestTimeFixture to mock clocks.
BOOST_FIXTURE_TEST_CASE(Test2, UnitTestTimeFixture)
{
- // this->advanceClocks increments mock clocks.
+ // advanceClocks() increments mock clocks.
boost::asio::io_service io;
this->advanceClocks(io, time::milliseconds(500));
}