diff --git a/tests/core/config-file.t.cpp b/tests/core/config-file.t.cpp
index c2ceb85..05b2722 100644
--- a/tests/core/config-file.t.cpp
+++ b/tests/core/config-file.t.cpp
@@ -325,7 +325,7 @@
   BOOST_CHECK(subB.allCallbacksFired());
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END() // TestConfigFile
 
 } // namespace tests
 } // namespace nfd
diff --git a/tests/core/ndebug.t.cpp b/tests/core/ndebug.t.cpp
index 3af09aa..8465b06 100644
--- a/tests/core/ndebug.t.cpp
+++ b/tests/core/ndebug.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2016,  Regents of the University of California,
+/*
+ * Copyright (c) 2014-2019,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -53,7 +53,7 @@
 #endif
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END() // TestNdebug
 
 } // namespace tests
 } // namespace nfd
diff --git a/tests/core/rtt-estimator.t.cpp b/tests/core/rtt-estimator.t.cpp
index 526b03d..6673ecd 100644
--- a/tests/core/rtt-estimator.t.cpp
+++ b/tests/core/rtt-estimator.t.cpp
@@ -46,7 +46,7 @@
   RttEstimator rtt;
 
   for (int i = 0; i < 100; ++i) {
-    rtt.addMeasurement(time::seconds(5));
+    rtt.addMeasurement(5_s);
   }
   double rto1 = computeRtoAsFloatSeconds(rtt);
   BOOST_CHECK_CLOSE(rto1, 5.0, 0.1);
@@ -59,7 +59,7 @@
   double rto3 = computeRtoAsFloatSeconds(rtt);
   BOOST_CHECK_CLOSE(rto3, 20.0, 0.1);
 
-  rtt.addMeasurement(time::seconds(5)); // reset multiplier
+  rtt.addMeasurement(5_s); // reset multiplier
   double rto4 = computeRtoAsFloatSeconds(rtt);
   BOOST_CHECK_CLOSE(rto4, 5.0, 0.1);
 
@@ -68,7 +68,7 @@
   BOOST_CHECK_CLOSE(rto5, 10.0, 0.1);
 
   for (int i = 0; i < 5; ++i) {
-    rtt.addMeasurement(time::seconds(6));
+    rtt.addMeasurement(6_s);
   } // increased variance
   double rto6 = computeRtoAsFloatSeconds(rtt);
   BOOST_CHECK_GT(rto6, rto1);
diff --git a/tests/core/version.t.cpp b/tests/core/version.t.cpp
index 1de0e60..27e3799 100644
--- a/tests/core/version.t.cpp
+++ b/tests/core/version.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014-2017,  Regents of the University of California,
+/*
+ * Copyright (c) 2014-2019,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -56,7 +56,7 @@
   BOOST_CHECK_EQUAL(NFD_VERSION_STRING, buf);
 }
 
-BOOST_AUTO_TEST_SUITE_END()
+BOOST_AUTO_TEST_SUITE_END() // TestVersion
 
 } // namespace tests
 } // namespace nfd
