diff --git a/tests/daemon/face/ethernet.cpp b/tests/daemon/face/ethernet.t.cpp
similarity index 100%
rename from tests/daemon/face/ethernet.cpp
rename to tests/daemon/face/ethernet.t.cpp
diff --git a/tests/daemon/face/face-counters.cpp b/tests/daemon/face/face-counters.t.cpp
similarity index 82%
rename from tests/daemon/face/face-counters.cpp
rename to tests/daemon/face/face-counters.t.cpp
index 3be0d88..2d56113 100644
--- a/tests/daemon/face/face-counters.cpp
+++ b/tests/daemon/face/face-counters.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -21,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #include "face/face-counters.hpp"
 #include "dummy-face.hpp"
diff --git a/tests/daemon/face/face.cpp b/tests/daemon/face/face.t.cpp
similarity index 100%
rename from tests/daemon/face/face.cpp
rename to tests/daemon/face/face.t.cpp
diff --git a/tests/daemon/face/ndnlp.cpp b/tests/daemon/face/ndnlp.t.cpp
similarity index 98%
rename from tests/daemon/face/ndnlp.cpp
rename to tests/daemon/face/ndnlp.t.cpp
index 52091d3..bf6edea 100644
--- a/tests/daemon/face/ndnlp.cpp
+++ b/tests/daemon/face/ndnlp.t.cpp
@@ -32,8 +32,11 @@
 #include <boost/scoped_array.hpp>
 
 namespace nfd {
+namespace ndnlp {
 namespace tests {
 
+using namespace nfd::tests;
+
 BOOST_FIXTURE_TEST_SUITE(FaceNdnlp, BaseFixture)
 
 BOOST_AUTO_TEST_CASE(SequenceBlock)
@@ -289,4 +292,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace ndnlp
 } // namespace nfd
diff --git a/tests/daemon/face/null.cpp b/tests/daemon/face/null-face.t.cpp
similarity index 73%
rename from tests/daemon/face/null.cpp
rename to tests/daemon/face/null-face.t.cpp
index db90410..83dfbf4 100644
--- a/tests/daemon/face/null.cpp
+++ b/tests/daemon/face/null-face.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -30,7 +30,7 @@
 namespace nfd {
 namespace tests {
 
-BOOST_FIXTURE_TEST_SUITE(FaceNull, BaseFixture)
+BOOST_FIXTURE_TEST_SUITE(FaceNullFace, BaseFixture)
 
 BOOST_AUTO_TEST_CASE(Send)
 {
diff --git a/tests/daemon/face/tcp.cpp b/tests/daemon/face/tcp.t.cpp
similarity index 100%
rename from tests/daemon/face/tcp.cpp
rename to tests/daemon/face/tcp.t.cpp
diff --git a/tests/daemon/face/udp.cpp b/tests/daemon/face/udp.t.cpp
similarity index 100%
rename from tests/daemon/face/udp.cpp
rename to tests/daemon/face/udp.t.cpp
diff --git a/tests/daemon/face/unix-stream.cpp b/tests/daemon/face/unix-stream.t.cpp
similarity index 100%
rename from tests/daemon/face/unix-stream.cpp
rename to tests/daemon/face/unix-stream.t.cpp
diff --git a/tests/daemon/face/websocket.cpp b/tests/daemon/face/websocket.t.cpp
similarity index 100%
rename from tests/daemon/face/websocket.cpp
rename to tests/daemon/face/websocket.t.cpp
diff --git a/tests/daemon/fw/access-strategy.cpp b/tests/daemon/fw/access-strategy.t.cpp
similarity index 99%
rename from tests/daemon/fw/access-strategy.cpp
rename to tests/daemon/fw/access-strategy.t.cpp
index 934dfcd..732e0e8 100644
--- a/tests/daemon/fw/access-strategy.cpp
+++ b/tests/daemon/fw/access-strategy.t.cpp
@@ -29,8 +29,11 @@
 #include "topology-tester.hpp"
 
 namespace nfd {
+namespace fw {
 namespace tests {
 
+using namespace nfd::tests;
+
 // This test suite tests AccessStrategy's behavior as a black box,
 // without accessing its internals.
 //
@@ -350,4 +353,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace fw
 } // namespace nfd
diff --git a/tests/daemon/fw/best-route-strategy2.cpp b/tests/daemon/fw/best-route-strategy2.t.cpp
similarity index 98%
rename from tests/daemon/fw/best-route-strategy2.cpp
rename to tests/daemon/fw/best-route-strategy2.t.cpp
index 5357bc8..385e774 100644
--- a/tests/daemon/fw/best-route-strategy2.cpp
+++ b/tests/daemon/fw/best-route-strategy2.t.cpp
@@ -30,8 +30,11 @@
 #include "tests/daemon/face/dummy-face.hpp"
 
 namespace nfd {
+namespace fw {
 namespace tests {
 
+using namespace nfd::tests;
+
 BOOST_FIXTURE_TEST_SUITE(FwBestRouteStrategy2, UnitTestTimeFixture)
 
 BOOST_AUTO_TEST_CASE(Forward)
@@ -129,4 +132,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace fw
 } // namespace nfd
diff --git a/tests/daemon/fw/broadcast-strategy.cpp b/tests/daemon/fw/broadcast-strategy.t.cpp
similarity index 89%
rename from tests/daemon/fw/broadcast-strategy.cpp
rename to tests/daemon/fw/broadcast-strategy.t.cpp
index cde9b44..ad47daa 100644
--- a/tests/daemon/fw/broadcast-strategy.cpp
+++ b/tests/daemon/fw/broadcast-strategy.t.cpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #include "fw/broadcast-strategy.hpp"
 #include "strategy-tester.hpp"
@@ -29,8 +30,11 @@
 #include "tests/test-common.hpp"
 
 namespace nfd {
+namespace fw {
 namespace tests {
 
+using namespace nfd::tests;
+
 BOOST_FIXTURE_TEST_SUITE(FwBroadcastStrategy, BaseFixture)
 
 BOOST_AUTO_TEST_CASE(Forward2)
@@ -126,4 +130,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace fw
 } // namespace nfd
diff --git a/tests/daemon/fw/client-control-strategy.cpp b/tests/daemon/fw/client-control-strategy.t.cpp
similarity index 87%
rename from tests/daemon/fw/client-control-strategy.cpp
rename to tests/daemon/fw/client-control-strategy.t.cpp
index c76fb52..ee3a362 100644
--- a/tests/daemon/fw/client-control-strategy.cpp
+++ b/tests/daemon/fw/client-control-strategy.t.cpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #include "fw/client-control-strategy.hpp"
 #include "strategy-tester.hpp"
@@ -29,8 +30,11 @@
 #include "tests/test-common.hpp"
 
 namespace nfd {
+namespace fw {
 namespace tests {
 
+using namespace nfd::tests;
+
 BOOST_FIXTURE_TEST_SUITE(FwClientControlStrategy, BaseFixture)
 
 BOOST_AUTO_TEST_CASE(Forward3)
@@ -93,4 +97,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace fw
 } // namespace nfd
diff --git a/tests/daemon/fw/face-table.cpp b/tests/daemon/fw/face-table.t.cpp
similarity index 90%
rename from tests/daemon/fw/face-table.cpp
rename to tests/daemon/fw/face-table.t.cpp
index b2bfab4..6610034 100644
--- a/tests/daemon/fw/face-table.cpp
+++ b/tests/daemon/fw/face-table.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
diff --git a/tests/daemon/fw/forwarder.cpp b/tests/daemon/fw/forwarder.t.cpp
similarity index 100%
rename from tests/daemon/fw/forwarder.cpp
rename to tests/daemon/fw/forwarder.t.cpp
diff --git a/tests/daemon/fw/ncc-strategy.cpp b/tests/daemon/fw/ncc-strategy.t.cpp
similarity index 99%
rename from tests/daemon/fw/ncc-strategy.cpp
rename to tests/daemon/fw/ncc-strategy.t.cpp
index da70e86..a10fc47 100644
--- a/tests/daemon/fw/ncc-strategy.cpp
+++ b/tests/daemon/fw/ncc-strategy.t.cpp
@@ -31,8 +31,11 @@
 #include "tests/test-common.hpp"
 
 namespace nfd {
+namespace fw {
 namespace tests {
 
+using namespace nfd::tests;
+
 BOOST_FIXTURE_TEST_SUITE(FwNccStrategy, UnitTestTimeFixture)
 
 // NccStrategy is fairly complex.
@@ -310,4 +313,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace fw
 } // namespace nfd
diff --git a/tests/daemon/fw/retx-suppression.cpp b/tests/daemon/fw/retx-suppression.t.cpp
similarity index 98%
rename from tests/daemon/fw/retx-suppression.cpp
rename to tests/daemon/fw/retx-suppression.t.cpp
index bec696f..2d1b146 100644
--- a/tests/daemon/fw/retx-suppression.cpp
+++ b/tests/daemon/fw/retx-suppression.t.cpp
@@ -32,11 +32,10 @@
 #include "tests/daemon/face/dummy-face.hpp"
 
 namespace nfd {
+namespace fw {
 namespace tests {
 
-using fw::RetxSuppression;
-using fw::RetxSuppressionFixed;
-using fw::RetxSuppressionExponential;
+using namespace nfd::tests;
 
 BOOST_FIXTURE_TEST_SUITE(FwRetxSuppression, UnitTestTimeFixture)
 
@@ -160,4 +159,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace fw
 } // namespace nfd
diff --git a/tests/daemon/fw/rtt-estimator.cpp b/tests/daemon/fw/rtt-estimator.t.cpp
similarity index 82%
rename from tests/daemon/fw/rtt-estimator.cpp
rename to tests/daemon/fw/rtt-estimator.t.cpp
index b5af0ab..1a19443 100644
--- a/tests/daemon/fw/rtt-estimator.cpp
+++ b/tests/daemon/fw/rtt-estimator.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology,
- *                     The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -21,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #include "fw/rtt-estimator.hpp"
 
diff --git a/tests/daemon/fw/strategy-tester.hpp b/tests/daemon/fw/strategy-tester.hpp
index 980144d..9cf4855 100644
--- a/tests/daemon/fw/strategy-tester.hpp
+++ b/tests/daemon/fw/strategy-tester.hpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -30,6 +30,7 @@
 #include "fw/strategy.hpp"
 
 namespace nfd {
+namespace fw {
 namespace tests {
 
 /** \class StrategyTester
@@ -88,6 +89,7 @@
 }
 
 } // namespace tests
+} // namespace fw
 } // namespace nfd
 
 #endif // NFD_TESTS_NFD_FW_STRATEGY_TESTER_HPP
diff --git a/tests/daemon/fw/strategy.cpp b/tests/daemon/fw/strategy.t.cpp
similarity index 83%
rename from tests/daemon/fw/strategy.cpp
rename to tests/daemon/fw/strategy.t.cpp
index 066b280..44fead2 100644
--- a/tests/daemon/fw/strategy.cpp
+++ b/tests/daemon/fw/strategy.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -31,8 +31,11 @@
 #include "tests/test-common.hpp"
 
 namespace nfd {
+namespace fw {
 namespace tests {
 
+using namespace nfd::tests;
+
 BOOST_FIXTURE_TEST_SUITE(FwStrategy, BaseFixture)
 
 class FaceTableAccessTestStrategy : public DummyStrategy
@@ -94,4 +97,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace fw
 } // namespace nfd
diff --git a/tests/daemon/fw/topology-tester.hpp b/tests/daemon/fw/topology-tester.hpp
index f343738..16a1173 100644
--- a/tests/daemon/fw/topology-tester.hpp
+++ b/tests/daemon/fw/topology-tester.hpp
@@ -37,9 +37,11 @@
 #include "../face/dummy-face.hpp"
 
 namespace nfd {
+namespace fw {
 namespace tests {
 
 using ndn::util::DummyClientFace;
+using namespace nfd::tests;
 
 /** \brief identifies a node (forwarder) in the topology
  */
@@ -361,6 +363,7 @@
 };
 
 } // namespace tests
+} // namespace fw
 } // namespace nfd
 
 #endif // NFD_TESTS_NFD_FW_TOPOLOGY_TESTER_HPP
diff --git a/tests/daemon/mgmt/channel-status-publisher.cpp b/tests/daemon/mgmt/channel-status-publisher.t.cpp
similarity index 100%
rename from tests/daemon/mgmt/channel-status-publisher.cpp
rename to tests/daemon/mgmt/channel-status-publisher.t.cpp
diff --git a/tests/daemon/mgmt/command-validator.cpp b/tests/daemon/mgmt/command-validator.t.cpp
similarity index 97%
rename from tests/daemon/mgmt/command-validator.cpp
rename to tests/daemon/mgmt/command-validator.t.cpp
index ac32a6e..f29ff6d 100644
--- a/tests/daemon/mgmt/command-validator.cpp
+++ b/tests/daemon/mgmt/command-validator.t.cpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #include "mgmt/command-validator.hpp"
 #include "core/config-file.hpp"
@@ -33,7 +34,6 @@
 #include <fstream>
 
 namespace nfd {
-
 namespace tests {
 
 NFD_LOG_INIT("CommandValidatorTest");
@@ -653,5 +653,4 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
-
 } // namespace nfd
diff --git a/tests/daemon/mgmt/face-manager.cpp b/tests/daemon/mgmt/face-manager.t.cpp
similarity index 100%
rename from tests/daemon/mgmt/face-manager.cpp
rename to tests/daemon/mgmt/face-manager.t.cpp
diff --git a/tests/daemon/mgmt/face-query-status-publisher.cpp b/tests/daemon/mgmt/face-query-status-publisher.t.cpp
similarity index 91%
rename from tests/daemon/mgmt/face-query-status-publisher.cpp
rename to tests/daemon/mgmt/face-query-status-publisher.t.cpp
index 948ee88..076c384 100644
--- a/tests/daemon/mgmt/face-query-status-publisher.cpp
+++ b/tests/daemon/mgmt/face-query-status-publisher.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -30,7 +30,7 @@
 
 NFD_LOG_INIT("FaceQueryStatusPublisherTest");
 
-BOOST_FIXTURE_TEST_SUITE(MgmtFaceQuerySatusPublisher, FaceQueryStatusPublisherFixture)
+BOOST_FIXTURE_TEST_SUITE(MgmtFaceQueryStatusPublisher, FaceQueryStatusPublisherFixture)
 
 BOOST_AUTO_TEST_CASE(NoConditionFilter)
 {
diff --git a/tests/daemon/mgmt/face-status-publisher.cpp b/tests/daemon/mgmt/face-status-publisher.t.cpp
similarity index 96%
rename from tests/daemon/mgmt/face-status-publisher.cpp
rename to tests/daemon/mgmt/face-status-publisher.t.cpp
index 5a8bdd0..0843881 100644
--- a/tests/daemon/mgmt/face-status-publisher.cpp
+++ b/tests/daemon/mgmt/face-status-publisher.t.cpp
@@ -30,7 +30,7 @@
 
 NFD_LOG_INIT("FaceStatusPublisherTest");
 
-BOOST_FIXTURE_TEST_SUITE(MgmtFaceSatusPublisher, FaceStatusPublisherFixture)
+BOOST_FIXTURE_TEST_SUITE(MgmtFaceStatusPublisher, FaceStatusPublisherFixture)
 
 BOOST_AUTO_TEST_CASE(EncodingDecoding)
 {
diff --git a/tests/daemon/mgmt/fib-enumeration-publisher.cpp b/tests/daemon/mgmt/fib-enumeration-publisher.t.cpp
similarity index 96%
rename from tests/daemon/mgmt/fib-enumeration-publisher.cpp
rename to tests/daemon/mgmt/fib-enumeration-publisher.t.cpp
index 0a79fdb..62ea6a7 100644
--- a/tests/daemon/mgmt/fib-enumeration-publisher.cpp
+++ b/tests/daemon/mgmt/fib-enumeration-publisher.t.cpp
@@ -40,9 +40,7 @@
 
 NFD_LOG_INIT("TestFibEnumerationPublisher");
 
-
-
-BOOST_FIXTURE_TEST_SUITE(MgmtFibEnumeration, FibEnumerationPublisherFixture)
+BOOST_FIXTURE_TEST_SUITE(MgmtFibEnumerationPublisher, FibEnumerationPublisherFixture)
 
 BOOST_AUTO_TEST_CASE(TestFibEnumerationPublisher)
 {
diff --git a/tests/daemon/mgmt/fib-manager.cpp b/tests/daemon/mgmt/fib-manager.t.cpp
similarity index 100%
rename from tests/daemon/mgmt/fib-manager.cpp
rename to tests/daemon/mgmt/fib-manager.t.cpp
diff --git a/tests/daemon/mgmt/general-config-section.cpp b/tests/daemon/mgmt/general-config-section.t.cpp
similarity index 97%
rename from tests/daemon/mgmt/general-config-section.cpp
rename to tests/daemon/mgmt/general-config-section.t.cpp
index b18e274..83063b9 100644
--- a/tests/daemon/mgmt/general-config-section.cpp
+++ b/tests/daemon/mgmt/general-config-section.t.cpp
@@ -29,8 +29,11 @@
 #include "tests/test-common.hpp"
 
 namespace nfd {
+namespace general {
 namespace tests {
 
+using namespace nfd::tests;
+
 class GeneralConfigSectionFixture : public BaseFixture
 {
 public:
@@ -144,5 +147,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
-
+} // namespace general
 } // namespace nfd
diff --git a/tests/daemon/mgmt/internal-face.cpp b/tests/daemon/mgmt/internal-face.t.cpp
similarity index 100%
rename from tests/daemon/mgmt/internal-face.cpp
rename to tests/daemon/mgmt/internal-face.t.cpp
diff --git a/tests/daemon/mgmt/manager-base.cpp b/tests/daemon/mgmt/manager-base.t.cpp
similarity index 100%
rename from tests/daemon/mgmt/manager-base.cpp
rename to tests/daemon/mgmt/manager-base.t.cpp
diff --git a/tests/daemon/mgmt/status-server.cpp b/tests/daemon/mgmt/status-server.t.cpp
similarity index 100%
rename from tests/daemon/mgmt/status-server.cpp
rename to tests/daemon/mgmt/status-server.t.cpp
diff --git a/tests/daemon/mgmt/strategy-choice-manager.cpp b/tests/daemon/mgmt/strategy-choice-manager.t.cpp
similarity index 100%
rename from tests/daemon/mgmt/strategy-choice-manager.cpp
rename to tests/daemon/mgmt/strategy-choice-manager.t.cpp
diff --git a/tests/daemon/mgmt/strategy-choice-publisher.cpp b/tests/daemon/mgmt/strategy-choice-publisher.t.cpp
similarity index 100%
rename from tests/daemon/mgmt/strategy-choice-publisher.cpp
rename to tests/daemon/mgmt/strategy-choice-publisher.t.cpp
diff --git a/tests/daemon/mgmt/tables-config-section.cpp b/tests/daemon/mgmt/tables-config-section.t.cpp
similarity index 95%
rename from tests/daemon/mgmt/tables-config-section.cpp
rename to tests/daemon/mgmt/tables-config-section.t.cpp
index 5129287..1735154 100644
--- a/tests/daemon/mgmt/tables-config-section.cpp
+++ b/tests/daemon/mgmt/tables-config-section.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -82,7 +82,7 @@
   ConfigFile m_config;
 };
 
-BOOST_FIXTURE_TEST_SUITE(TestTableConfigSection, TablesConfigSectionFixture)
+BOOST_FIXTURE_TEST_SUITE(MgmtTableConfigSection, TablesConfigSectionFixture)
 
 BOOST_AUTO_TEST_CASE(ConfigureTablesWithDefaults)
 {
diff --git a/tests/daemon/table/cs.cpp b/tests/daemon/table/cs.t.cpp
similarity index 99%
rename from tests/daemon/table/cs.cpp
rename to tests/daemon/table/cs.t.cpp
index e9efddf..6d69eda 100644
--- a/tests/daemon/table/cs.cpp
+++ b/tests/daemon/table/cs.t.cpp
@@ -29,8 +29,11 @@
 #include "tests/test-common.hpp"
 
 namespace nfd {
+namespace cs {
 namespace tests {
 
+using namespace nfd::tests;
+
 BOOST_FIXTURE_TEST_SUITE(TableCs, BaseFixture)
 
 class FindFixture : protected BaseFixture
@@ -436,4 +439,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace cs
 } // namespace nfd
diff --git a/tests/daemon/table/dead-nonce-list.cpp b/tests/daemon/table/dead-nonce-list.t.cpp
similarity index 100%
rename from tests/daemon/table/dead-nonce-list.cpp
rename to tests/daemon/table/dead-nonce-list.t.cpp
diff --git a/tests/daemon/table/fib.cpp b/tests/daemon/table/fib.t.cpp
similarity index 96%
rename from tests/daemon/table/fib.cpp
rename to tests/daemon/table/fib.t.cpp
index d75088b..59a88e9 100644
--- a/tests/daemon/table/fib.cpp
+++ b/tests/daemon/table/fib.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
diff --git a/tests/daemon/table/measurements-accessor.cpp b/tests/daemon/table/measurements-accessor.t.cpp
similarity index 100%
rename from tests/daemon/table/measurements-accessor.cpp
rename to tests/daemon/table/measurements-accessor.t.cpp
diff --git a/tests/daemon/table/measurements.cpp b/tests/daemon/table/measurements.t.cpp
similarity index 100%
rename from tests/daemon/table/measurements.cpp
rename to tests/daemon/table/measurements.t.cpp
diff --git a/tests/daemon/table/name-tree.cpp b/tests/daemon/table/name-tree.t.cpp
similarity index 96%
rename from tests/daemon/table/name-tree.cpp
rename to tests/daemon/table/name-tree.t.cpp
index 9790596..de7ecbb 100644
--- a/tests/daemon/table/name-tree.cpp
+++ b/tests/daemon/table/name-tree.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
diff --git a/tests/daemon/table/pit.cpp b/tests/daemon/table/pit.t.cpp
similarity index 99%
rename from tests/daemon/table/pit.cpp
rename to tests/daemon/table/pit.t.cpp
index 5de6fe3..7bd89fc 100644
--- a/tests/daemon/table/pit.cpp
+++ b/tests/daemon/table/pit.t.cpp
@@ -29,8 +29,11 @@
 #include "tests/test-common.hpp"
 
 namespace nfd {
+namespace pit {
 namespace tests {
 
+using namespace nfd::tests;
+
 BOOST_FIXTURE_TEST_SUITE(TablePit, BaseFixture)
 
 BOOST_AUTO_TEST_CASE(EntryInOutRecords)
@@ -495,4 +498,5 @@
 BOOST_AUTO_TEST_SUITE_END()
 
 } // namespace tests
+} // namespace pit
 } // namespace nfd
diff --git a/tests/daemon/table/strategy-choice.cpp b/tests/daemon/table/strategy-choice.t.cpp
similarity index 95%
rename from tests/daemon/table/strategy-choice.cpp
rename to tests/daemon/table/strategy-choice.t.cpp
index 494c76b..ec450f5 100644
--- a/tests/daemon/table/strategy-choice.cpp
+++ b/tests/daemon/table/strategy-choice.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
diff --git a/tests/daemon/table/strategy-info-host.cpp b/tests/daemon/table/strategy-info-host.t.cpp
similarity index 89%
rename from tests/daemon/table/strategy-info-host.cpp
rename to tests/daemon/table/strategy-info-host.t.cpp
index 5c0c14f..746d51a 100644
--- a/tests/daemon/table/strategy-info-host.cpp
+++ b/tests/daemon/table/strategy-info-host.t.cpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2015,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
