Change #include style

Header files are now always included with their path from the
project's root directory rather than the path relative to
the includer.

Change-Id: If39b8510eef8da00baf5fe88337c45dbdf8c766e
Refs: #3084
diff --git a/tests/unit/boost-multi-log-formatter.hpp b/tests/unit/boost-multi-log-formatter.hpp
new file mode 100644
index 0000000..59e850e
--- /dev/null
+++ b/tests/unit/boost-multi-log-formatter.hpp
@@ -0,0 +1,214 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2015-2018 Regents of the University of California.
+ *
+ * Based on work by Martin Ba (http://stackoverflow.com/a/26718189)
+ *
+ * This file is distributed under the Boost Software License, Version 1.0.
+ * (See http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef NDN_TESTS_UNIT_BOOST_MULTI_LOG_FORMATTER_HPP
+#define NDN_TESTS_UNIT_BOOST_MULTI_LOG_FORMATTER_HPP
+
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 105900
+#include <boost/test/unit_test_parameters.hpp>
+#else
+#include <boost/test/detail/unit_test_parameters.hpp>
+#endif // BOOST_VERSION >= 105900
+
+#include <boost/test/unit_test_log_formatter.hpp>
+#include <boost/test/output/compiler_log_formatter.hpp>
+#include <boost/test/output/xml_log_formatter.hpp>
+
+namespace boost {
+namespace unit_test {
+namespace output {
+
+/**
+ * @brief Log formatter for Boost.Test that outputs the logging to multiple formatters
+ *
+ * The log formatter is designed to output to one or multiple formatters at the same time.  For
+ * example, one HRF formatter can output to the standard output, while XML formatter output to
+ * the file.
+ *
+ * Usage:
+ *
+ *     // Call in init_unit_test_suite: (this will override the --log_format parameter)
+ *     auto formatter = new boost::unit_test::output::multi_log_formatter; // same as already configured logger
+ *
+ *     // Prepare and add additional logger(s)
+ *     formatter.add(std::make_shared<boost::unit_test::output::xml_log_formatter>(),
+ *                   std::make_shared<std::ofstream>("out.xml"));
+ *
+ *      boost::unit_test::unit_test_log.set_formatter(formatter);
+ *
+ * @note Calling `boost::unit_test::unit_test_log.set_stream(...)` will change the stream for
+ *       the original logger.
+ */
+class multi_log_formatter : public unit_test_log_formatter
+{
+public:
+  /**
+   * @brief Create instance of the logger, based on the configured logger instance
+   */
+  multi_log_formatter()
+  {
+    auto format =
+#if BOOST_VERSION > 105900
+      runtime_config::get<output_format>(runtime_config::LOG_FORMAT);
+#else
+      runtime_config::log_format();
+#endif // BOOST_VERSION > 105900
+
+    switch (format) {
+      default:
+#if BOOST_VERSION >= 105900
+      case OF_CLF:
+#else
+      case CLF:
+#endif // BOOST_VERSION >= 105900
+        m_loggers.push_back({std::make_shared<compiler_log_formatter>(), nullptr});
+        break;
+#if BOOST_VERSION >= 105900
+      case OF_XML:
+#else
+      case XML:
+#endif // BOOST_VERSION >= 105900
+        m_loggers.push_back({std::make_shared<xml_log_formatter>(), nullptr});
+        break;
+    }
+  }
+
+  void
+  add(std::shared_ptr<unit_test_log_formatter> formatter, std::shared_ptr<std::ostream> os)
+  {
+    m_loggers.push_back({formatter, os});
+  }
+
+  // Formatter interface
+  void
+  log_start(std::ostream& os, counter_t test_cases_amount)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_start(l.os == nullptr ? os : *l.os, test_cases_amount);
+  }
+
+  void
+  log_finish(std::ostream& os)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_finish(l.os == nullptr ? os : *l.os);
+  }
+
+  void
+  log_build_info(std::ostream& os)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_build_info(l.os == nullptr ? os : *l.os);
+  }
+
+  void
+  test_unit_start(std::ostream& os, const test_unit& tu)
+  {
+    for (auto& l : m_loggers)
+      l.logger->test_unit_start(l.os == nullptr ? os : *l.os, tu);
+  }
+
+  void
+  test_unit_finish(std::ostream& os, const test_unit& tu, unsigned long elapsed)
+  {
+    for (auto& l : m_loggers)
+      l.logger->test_unit_finish(l.os == nullptr ? os : *l.os, tu, elapsed);
+  }
+
+  void
+  test_unit_skipped(std::ostream& os, const test_unit& tu)
+  {
+    for (auto& l : m_loggers)
+      l.logger->test_unit_skipped(l.os == nullptr ? os : *l.os, tu);
+  }
+
+#if BOOST_VERSION >= 105900
+  void
+  log_exception_start(std::ostream& os, const log_checkpoint_data& lcd, const execution_exception& ex)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_exception_start(l.os == nullptr ? os : *l.os, lcd, ex);
+  }
+
+  void
+  log_exception_finish(std::ostream& os)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_exception_finish(l.os == nullptr ? os : *l.os);
+  }
+#else
+  void
+  log_exception(std::ostream& os, const log_checkpoint_data& lcd, const execution_exception& ex)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_exception(l.os == nullptr ? os : *l.os, lcd, ex);
+  }
+#endif // BOOST_VERSION >= 105900
+
+  void
+  log_entry_start(std::ostream& os, const log_entry_data& entry_data, log_entry_types let)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_entry_start(l.os == nullptr ? os : *l.os, entry_data, let);
+  }
+
+  void
+  log_entry_value(std::ostream& os, const_string value)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_entry_value(l.os == nullptr ? os : *l.os, value);
+  }
+
+  void
+  log_entry_finish(std::ostream& os)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_entry_finish(l.os == nullptr ? os : *l.os);
+  }
+
+#if BOOST_VERSION >= 105900
+  void
+  entry_context_start(std::ostream& os, log_level level)
+  {
+    for (auto& l : m_loggers)
+      l.logger->entry_context_start(l.os == nullptr ? os : *l.os, level);
+  }
+
+  void
+  log_entry_context(std::ostream& os, const_string value)
+  {
+    for (auto& l : m_loggers)
+      l.logger->log_entry_context(l.os == nullptr ? os : *l.os, value);
+  }
+
+  void
+  entry_context_finish(std::ostream& os)
+  {
+    for (auto& l : m_loggers)
+      l.logger->entry_context_finish(l.os == nullptr ? os : *l.os);
+  }
+#endif // BOOST_VERSION >= 105900
+
+private:
+  struct LoggerInfo
+  {
+    std::shared_ptr<unit_test_log_formatter> logger;
+    std::shared_ptr<std::ostream> os;
+  };
+  std::vector<LoggerInfo> m_loggers;
+};
+
+} // namespace output
+} // namespace unit_test
+} // namespace boost
+
+#endif // NDN_TESTS_UNIT_BOOST_MULTI_LOG_FORMATTER_HPP
diff --git a/tests/unit/data.t.cpp b/tests/unit/data.t.cpp
index 0d91005..08a5cef 100644
--- a/tests/unit/data.t.cpp
+++ b/tests/unit/data.t.cpp
@@ -19,19 +19,19 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "data.hpp"
-#include "encoding/buffer-stream.hpp"
-#include "security/signature-sha256-with-rsa.hpp"
-#include "security/transform/private-key.hpp"
-#include "security/transform/public-key.hpp"
-#include "security/transform/signer-filter.hpp"
-#include "security/transform/step-source.hpp"
-#include "security/transform/stream-sink.hpp"
-#include "security/verification-helpers.hpp"
-#include "util/sha256.hpp"
+#include "ndn-cxx/data.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/signature-sha256-with-rsa.hpp"
+#include "ndn-cxx/security/transform/private-key.hpp"
+#include "ndn-cxx/security/transform/public-key.hpp"
+#include "ndn-cxx/security/transform/signer-filter.hpp"
+#include "ndn-cxx/security/transform/step-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
+#include "ndn-cxx/security/verification-helpers.hpp"
+#include "ndn-cxx/util/sha256.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/delegation-list.t.cpp b/tests/unit/delegation-list.t.cpp
index e2aada8..0831dca 100644
--- a/tests/unit/delegation-list.t.cpp
+++ b/tests/unit/delegation-list.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "delegation-list.hpp"
+#include "ndn-cxx/delegation-list.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/delegation.t.cpp b/tests/unit/delegation.t.cpp
index 6cf03dd..9f23e89 100644
--- a/tests/unit/delegation.t.cpp
+++ b/tests/unit/delegation.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "delegation.hpp"
+#include "ndn-cxx/delegation.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/dummy-validator.hpp b/tests/unit/dummy-validator.hpp
new file mode 100644
index 0000000..aab9114
--- /dev/null
+++ b/tests/unit/dummy-validator.hpp
@@ -0,0 +1,114 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
+ *
+ * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
+ *
+ * ndn-cxx library is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ *
+ * You should have received copies of the GNU General Public License and GNU Lesser
+ * General Public License along with ndn-cxx, e.g., in COPYING.md file.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
+ */
+
+#ifndef NDN_TESTS_UNIT_DUMMY_VALIDATOR_HPP
+#define NDN_TESTS_UNIT_DUMMY_VALIDATOR_HPP
+
+#include "ndn-cxx/security/v2/validator.hpp"
+#include "ndn-cxx/security/v2/validation-policy.hpp"
+#include "ndn-cxx/security/v2/certificate-fetcher-offline.hpp"
+
+namespace ndn {
+namespace tests {
+
+/** \brief A validation policy for unit testing
+ */
+class DummyValidationPolicy : public security::v2::ValidationPolicy
+{
+public:
+  /** \brief constructor
+   *  \param shouldAccept whether to accept or reject all validation requests
+   */
+  explicit
+  DummyValidationPolicy(bool shouldAccept = true)
+  {
+    this->setResult(shouldAccept);
+  }
+
+  /** \brief change the validation result
+   *  \param shouldAccept whether to accept or reject all validation requests
+   */
+  void
+  setResult(bool shouldAccept)
+  {
+    m_decide = [shouldAccept] (const Name&) { return shouldAccept; };
+  }
+
+  /** \brief set a callback for validation
+   *  \param cb a callback which receives the Interest/Data name for each validation request;
+   *            its return value determines the validation result
+   */
+  void
+  setResultCallback(const function<bool(const Name&)>& cb)
+  {
+    m_decide = cb;
+  }
+
+protected:
+  void
+  checkPolicy(const Data& data, const shared_ptr<security::v2::ValidationState>& state,
+              const ValidationContinuation& continueValidation) override
+  {
+    if (m_decide(data.getName())) {
+      continueValidation(nullptr, state);
+    }
+    else {
+      state->fail(security::v2::ValidationError::NO_ERROR);
+    }
+  }
+
+  void
+  checkPolicy(const Interest& interest, const shared_ptr<security::v2::ValidationState>& state,
+              const ValidationContinuation& continueValidation) override
+  {
+    if (m_decide(interest.getName())) {
+      continueValidation(nullptr, state);
+    }
+    else {
+      state->fail(security::v2::ValidationError::NO_ERROR);
+    }
+  }
+
+private:
+  function<bool(const Name&)> m_decide;
+};
+
+class DummyValidator : public security::v2::Validator
+{
+public:
+  explicit
+  DummyValidator(bool shouldAccept = true)
+    : security::v2::Validator(make_unique<DummyValidationPolicy>(shouldAccept),
+                              make_unique<security::v2::CertificateFetcherOffline>())
+  {
+  }
+
+  DummyValidationPolicy&
+  getPolicy()
+  {
+    return static_cast<DummyValidationPolicy&>(security::v2::Validator::getPolicy());
+  }
+};
+
+} // namespace tests
+} // namespace ndn
+
+#endif // NDN_TESTS_UNIT_DUMMY_VALIDATOR_HPP
diff --git a/tests/unit/encoding/block-helpers.t.cpp b/tests/unit/encoding/block-helpers.t.cpp
index 5b9711d..c44be84 100644
--- a/tests/unit/encoding/block-helpers.t.cpp
+++ b/tests/unit/encoding/block-helpers.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "encoding/block-helpers.hpp"
-#include "name.hpp"
+#include "ndn-cxx/encoding/block-helpers.hpp"
+#include "ndn-cxx/name.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace encoding {
diff --git a/tests/unit/encoding/block.t.cpp b/tests/unit/encoding/block.t.cpp
index a3459e7..dd7e3b0 100644
--- a/tests/unit/encoding/block.t.cpp
+++ b/tests/unit/encoding/block.t.cpp
@@ -19,10 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "encoding/block.hpp"
-#include "encoding/block-helpers.hpp"
+#include "ndn-cxx/encoding/block.hpp"
+#include "ndn-cxx/encoding/block-helpers.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+
 #include <boost/lexical_cast.hpp>
 #include <cstring>
 #include <sstream>
diff --git a/tests/unit/encoding/buffer-stream.t.cpp b/tests/unit/encoding/buffer-stream.t.cpp
index 9c95b2c..9418f8c 100644
--- a/tests/unit/encoding/buffer-stream.t.cpp
+++ b/tests/unit/encoding/buffer-stream.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "encoding/buffer-stream.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/encoding/encoder.t.cpp b/tests/unit/encoding/encoder.t.cpp
index 47cf8e4..3f5fe8e 100644
--- a/tests/unit/encoding/encoder.t.cpp
+++ b/tests/unit/encoding/encoder.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "encoding/encoder.hpp"
+#include "ndn-cxx/encoding/encoder.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace encoding {
diff --git a/tests/unit/encoding/encoding-buffer.t.cpp b/tests/unit/encoding/encoding-buffer.t.cpp
index 646024b..c0997b4 100644
--- a/tests/unit/encoding/encoding-buffer.t.cpp
+++ b/tests/unit/encoding/encoding-buffer.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "encoding/encoding-buffer.hpp"
-#include "encoding/block.hpp"
+#include "ndn-cxx/encoding/encoding-buffer.hpp"
+#include "ndn-cxx/encoding/block.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/encoding/estimator.t.cpp b/tests/unit/encoding/estimator.t.cpp
index 8ab4399..f5e4392 100644
--- a/tests/unit/encoding/estimator.t.cpp
+++ b/tests/unit/encoding/estimator.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "encoding/estimator.hpp"
+#include "ndn-cxx/encoding/estimator.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace encoding {
diff --git a/tests/unit/encoding/nfd-constants.t.cpp b/tests/unit/encoding/nfd-constants.t.cpp
index af9997b..e87f391 100644
--- a/tests/unit/encoding/nfd-constants.t.cpp
+++ b/tests/unit/encoding/nfd-constants.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "encoding/nfd-constants.hpp"
+#include "ndn-cxx/encoding/nfd-constants.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/lexical_cast.hpp>
 #include <sstream>
diff --git a/tests/unit/encoding/tlv.t.cpp b/tests/unit/encoding/tlv.t.cpp
index a82ffbe..8c73267 100644
--- a/tests/unit/encoding/tlv.t.cpp
+++ b/tests/unit/encoding/tlv.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "encoding/tlv.hpp"
-#include "encoding/buffer.hpp"
+#include "ndn-cxx/encoding/tlv.hpp"
+#include "ndn-cxx/encoding/buffer.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <array>
 #include <deque>
diff --git a/tests/unit/exclude.t.cpp b/tests/unit/exclude.t.cpp
index da93a85..d9e4379 100644
--- a/tests/unit/exclude.t.cpp
+++ b/tests/unit/exclude.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "exclude.hpp"
-#include "util/sha256.hpp"
+#include "ndn-cxx/exclude.hpp"
+#include "ndn-cxx/util/sha256.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/lexical_cast.hpp>
 
diff --git a/tests/unit/face.t.cpp b/tests/unit/face.t.cpp
index 3f2b82a..6f7bb17 100644
--- a/tests/unit/face.t.cpp
+++ b/tests/unit/face.t.cpp
@@ -19,17 +19,16 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "face.hpp"
-#include "lp/tags.hpp"
-#include "transport/tcp-transport.hpp"
-#include "transport/unix-transport.hpp"
-#include "util/dummy-client-face.hpp"
-#include "util/scheduler.hpp"
+#include "ndn-cxx/face.hpp"
+#include "ndn-cxx/lp/tags.hpp"
+#include "ndn-cxx/transport/tcp-transport.hpp"
+#include "ndn-cxx/transport/unix-transport.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
+#include "ndn-cxx/util/scheduler.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
-#include "identity-management-time-fixture.hpp"
-#include "test-home-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/identity-management-time-fixture.hpp b/tests/unit/identity-management-time-fixture.hpp
index cafa9c6..6bff890 100644
--- a/tests/unit/identity-management-time-fixture.hpp
+++ b/tests/unit/identity-management-time-fixture.hpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_TESTS_UNIT_TESTS_IDENTITY_MANAGEMENT_TIME_FIXTURE_HPP
-#define NDN_TESTS_UNIT_TESTS_IDENTITY_MANAGEMENT_TIME_FIXTURE_HPP
+#ifndef NDN_TESTS_UNIT_IDENTITY_MANAGEMENT_TIME_FIXTURE_HPP
+#define NDN_TESTS_UNIT_IDENTITY_MANAGEMENT_TIME_FIXTURE_HPP
 
-#include "identity-management-fixture.hpp"
-#include "unit-test-time-fixture.hpp"
+#include "tests/identity-management-fixture.hpp"
+#include "tests/unit/unit-test-time-fixture.hpp"
 
 namespace ndn {
 namespace tests {
@@ -36,4 +36,4 @@
 } // namespace tests
 } // namespace ndn
 
-#endif // NDN_TESTS_UNIT_TESTS_IDENTITY_MANAGEMENT_TIME_FIXTURE_HPP
+#endif // NDN_TESTS_UNIT_IDENTITY_MANAGEMENT_TIME_FIXTURE_HPP
diff --git a/tests/unit/ims/in-memory-storage-fifo.t.cpp b/tests/unit/ims/in-memory-storage-fifo.t.cpp
index 00cde40..b188797 100644
--- a/tests/unit/ims/in-memory-storage-fifo.t.cpp
+++ b/tests/unit/ims/in-memory-storage-fifo.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "ims/in-memory-storage-fifo.hpp"
+#include "ndn-cxx/ims/in-memory-storage-fifo.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/ims/in-memory-storage-lfu.t.cpp b/tests/unit/ims/in-memory-storage-lfu.t.cpp
index ef58ce7..8756856 100644
--- a/tests/unit/ims/in-memory-storage-lfu.t.cpp
+++ b/tests/unit/ims/in-memory-storage-lfu.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "ims/in-memory-storage-lfu.hpp"
+#include "ndn-cxx/ims/in-memory-storage-lfu.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/ims/in-memory-storage-lru.t.cpp b/tests/unit/ims/in-memory-storage-lru.t.cpp
index 9058d66..aeeb846 100644
--- a/tests/unit/ims/in-memory-storage-lru.t.cpp
+++ b/tests/unit/ims/in-memory-storage-lru.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "ims/in-memory-storage-lru.hpp"
+#include "ndn-cxx/ims/in-memory-storage-lru.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/ims/in-memory-storage-persistent.t.cpp b/tests/unit/ims/in-memory-storage-persistent.t.cpp
index d63061f..3758cc2 100644
--- a/tests/unit/ims/in-memory-storage-persistent.t.cpp
+++ b/tests/unit/ims/in-memory-storage-persistent.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "ims/in-memory-storage-persistent.hpp"
+#include "ndn-cxx/ims/in-memory-storage-persistent.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/ims/in-memory-storage.t.cpp b/tests/unit/ims/in-memory-storage.t.cpp
index d955d72..0cb4278 100644
--- a/tests/unit/ims/in-memory-storage.t.cpp
+++ b/tests/unit/ims/in-memory-storage.t.cpp
@@ -19,17 +19,17 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "ims/in-memory-storage.hpp"
-#include "ims/in-memory-storage-fifo.hpp"
-#include "ims/in-memory-storage-lfu.hpp"
-#include "ims/in-memory-storage-lru.hpp"
-#include "ims/in-memory-storage-persistent.hpp"
-#include "security/signature-sha256-with-rsa.hpp"
-#include "util/sha256.hpp"
+#include "ndn-cxx/ims/in-memory-storage.hpp"
+#include "ndn-cxx/ims/in-memory-storage-fifo.hpp"
+#include "ndn-cxx/ims/in-memory-storage-lfu.hpp"
+#include "ndn-cxx/ims/in-memory-storage-lru.hpp"
+#include "ndn-cxx/ims/in-memory-storage-persistent.hpp"
+#include "ndn-cxx/security/signature-sha256-with-rsa.hpp"
+#include "ndn-cxx/util/sha256.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
-#include "../unit-test-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/unit-test-time-fixture.hpp"
 
 #include <boost/mpl/vector.hpp>
 
diff --git a/tests/unit/interest-filter.t.cpp b/tests/unit/interest-filter.t.cpp
index 96f4ae9..100429c 100644
--- a/tests/unit/interest-filter.t.cpp
+++ b/tests/unit/interest-filter.t.cpp
@@ -19,15 +19,15 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "interest-filter.hpp"
-#include "data.hpp"
-#include "encoding/buffer-stream.hpp"
-#include "security/signature-sha256-with-rsa.hpp"
-#include "security/digest-sha256.hpp"
-#include "util/dummy-client-face.hpp"
+#include "ndn-cxx/interest-filter.hpp"
+#include "ndn-cxx/data.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/signature-sha256-with-rsa.hpp"
+#include "ndn-cxx/security/digest-sha256.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/interest.t.cpp b/tests/unit/interest.t.cpp
index 16e2ba2..ef646bb 100644
--- a/tests/unit/interest.t.cpp
+++ b/tests/unit/interest.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "interest.hpp"
-#include "data.hpp"
-#include "security/digest-sha256.hpp"
-#include "security/signature-sha256-with-rsa.hpp"
+#include "ndn-cxx/interest.hpp"
+#include "ndn-cxx/data.hpp"
+#include "ndn-cxx/security/digest-sha256.hpp"
+#include "ndn-cxx/security/signature-sha256-with-rsa.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/key-locator.t.cpp b/tests/unit/key-locator.t.cpp
index ce3c6ae..94d263e 100644
--- a/tests/unit/key-locator.t.cpp
+++ b/tests/unit/key-locator.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "key-locator.hpp"
-#include "encoding/block-helpers.hpp"
+#include "ndn-cxx/key-locator.hpp"
+#include "ndn-cxx/encoding/block-helpers.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/link.t.cpp b/tests/unit/link.t.cpp
index 347fb67..ef85f9f 100644
--- a/tests/unit/link.t.cpp
+++ b/tests/unit/link.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "link.hpp"
+#include "ndn-cxx/link.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/lp/cache-policy.t.cpp b/tests/unit/lp/cache-policy.t.cpp
index 6f1050d..78c1548 100644
--- a/tests/unit/lp/cache-policy.t.cpp
+++ b/tests/unit/lp/cache-policy.t.cpp
@@ -21,9 +21,9 @@
  * @author Eric Newberry <enewberry@email.arizona.edu>
  */
 
-#include "lp/cache-policy.hpp"
+#include "ndn-cxx/lp/cache-policy.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace lp {
diff --git a/tests/unit/lp/nack-header.t.cpp b/tests/unit/lp/nack-header.t.cpp
index 0645f40..4670608 100644
--- a/tests/unit/lp/nack-header.t.cpp
+++ b/tests/unit/lp/nack-header.t.cpp
@@ -21,9 +21,9 @@
  * @author Eric Newberry <enewberry@email.arizona.edu>
  */
 
-#include "lp/nack-header.hpp"
+#include "ndn-cxx/lp/nack-header.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace lp {
diff --git a/tests/unit/lp/nack.t.cpp b/tests/unit/lp/nack.t.cpp
index 436a649..ef30de1 100644
--- a/tests/unit/lp/nack.t.cpp
+++ b/tests/unit/lp/nack.t.cpp
@@ -21,9 +21,9 @@
  * @author Eric Newberry <enewberry@email.arizona.edu>
  */
 
-#include "lp/nack.hpp"
+#include "ndn-cxx/lp/nack.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace lp {
diff --git a/tests/unit/lp/packet.t.cpp b/tests/unit/lp/packet.t.cpp
index 1583772..6e10b11 100644
--- a/tests/unit/lp/packet.t.cpp
+++ b/tests/unit/lp/packet.t.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "lp/packet.hpp"
-#include "prefix-announcement.hpp"
-#include "security/signature-sha256-with-rsa.hpp"
+#include "ndn-cxx/lp/packet.hpp"
+#include "ndn-cxx/prefix-announcement.hpp"
+#include "ndn-cxx/security/signature-sha256-with-rsa.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
 
 namespace ndn {
 namespace lp {
diff --git a/tests/unit/lp/prefix-announcement-header.t.cpp b/tests/unit/lp/prefix-announcement-header.t.cpp
index 38a75f3..fb57ded 100644
--- a/tests/unit/lp/prefix-announcement-header.t.cpp
+++ b/tests/unit/lp/prefix-announcement-header.t.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "lp/prefix-announcement-header.hpp"
-#include "lp/tlv.hpp"
-#include "security/signature-sha256-with-rsa.hpp"
+#include "ndn-cxx/lp/prefix-announcement-header.hpp"
+#include "ndn-cxx/lp/tlv.hpp"
+#include "ndn-cxx/security/signature-sha256-with-rsa.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
 
 namespace ndn {
 namespace lp {
diff --git a/tests/unit/main.cpp b/tests/unit/main.cpp
new file mode 100644
index 0000000..cb54695
--- /dev/null
+++ b/tests/unit/main.cpp
@@ -0,0 +1,110 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
+ *
+ * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
+ *
+ * ndn-cxx library is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ *
+ * You should have received copies of the GNU General Public License and GNU Lesser
+ * General Public License along with ndn-cxx, e.g., in COPYING.md file.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
+ */
+
+#define BOOST_TEST_MODULE ndn-cxx Unit Tests
+
+#include <boost/version.hpp>
+
+#if BOOST_VERSION >= 106200
+// Boost.Test v3.3 (Boost 1.62) natively supports multi-logger output
+#include "tests/boost-test.hpp"
+#else
+#define BOOST_TEST_ALTERNATIVE_INIT_API
+#define BOOST_TEST_NO_MAIN
+#include "tests/boost-test.hpp"
+#include "tests/unit/boost-multi-log-formatter.hpp"
+
+#include <boost/program_options/options_description.hpp>
+#include <boost/program_options/variables_map.hpp>
+#include <boost/program_options/parsers.hpp>
+
+#include <fstream>
+#include <iostream>
+
+static bool
+init_tests()
+{
+  init_unit_test();
+
+  namespace po = boost::program_options;
+  namespace ut = boost::unit_test;
+
+  po::options_description extraOptions;
+  std::string logger;
+  std::string outputFile = "-";
+  extraOptions.add_options()
+    ("log_format2", po::value<std::string>(&logger), "Type of second log formatter: HRF or XML")
+    ("log_sink2", po::value<std::string>(&outputFile)->default_value(outputFile), "Second log sink, - for stdout")
+    ;
+  po::variables_map vm;
+  try {
+    po::store(po::command_line_parser(ut::framework::master_test_suite().argc,
+                                      ut::framework::master_test_suite().argv)
+                .options(extraOptions)
+                .run(),
+              vm);
+    po::notify(vm);
+  }
+  catch (const std::exception& e) {
+    std::cerr << "ERROR: " << e.what() << "\n"
+              << extraOptions << std::endl;
+    return false;
+  }
+
+  if (vm.count("log_format2") == 0) {
+    // second logger is not configured
+    return true;
+  }
+
+  std::shared_ptr<ut::unit_test_log_formatter> formatter;
+  if (logger == "XML") {
+    formatter = std::make_shared<ut::output::xml_log_formatter>();
+  }
+  else if (logger == "HRF") {
+    formatter = std::make_shared<ut::output::compiler_log_formatter>();
+  }
+  else {
+    std::cerr << "ERROR: only HRF or XML log formatter can be specified" << std::endl;
+    return false;
+  }
+
+  std::shared_ptr<std::ostream> output;
+  if (outputFile == "-") {
+    output = std::shared_ptr<std::ostream>(&std::cout, std::bind([]{}));
+  }
+  else {
+    output = std::make_shared<std::ofstream>(outputFile.c_str());
+  }
+
+  auto multiFormatter = new ut::output::multi_log_formatter;
+  multiFormatter->add(formatter, output);
+  ut::unit_test_log.set_formatter(multiFormatter);
+
+  return true;
+}
+
+int
+main(int argc, char* argv[])
+{
+  return ::boost::unit_test::unit_test_main(&init_tests, argc, argv);
+}
+
+#endif // BOOST_VERSION >= 106200
diff --git a/tests/unit/meta-info.t.cpp b/tests/unit/meta-info.t.cpp
index 2a2dac3..e6ad757 100644
--- a/tests/unit/meta-info.t.cpp
+++ b/tests/unit/meta-info.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "meta-info.hpp"
-#include "data.hpp"
+#include "ndn-cxx/meta-info.hpp"
+#include "ndn-cxx/data.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/mgmt/control-response.t.cpp b/tests/unit/mgmt/control-response.t.cpp
index 86aa780..74b1b03 100644
--- a/tests/unit/mgmt/control-response.t.cpp
+++ b/tests/unit/mgmt/control-response.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/control-response.hpp"
+#include "ndn-cxx/mgmt/control-response.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace mgmt {
diff --git a/tests/unit/mgmt/dispatcher.t.cpp b/tests/unit/mgmt/dispatcher.t.cpp
index c75af4d..c24f9cf 100644
--- a/tests/unit/mgmt/dispatcher.t.cpp
+++ b/tests/unit/mgmt/dispatcher.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/dispatcher.hpp"
-#include "mgmt/nfd/control-parameters.hpp"
-#include "util/dummy-client-face.hpp"
+#include "ndn-cxx/mgmt/dispatcher.hpp"
+#include "ndn-cxx/mgmt/nfd/control-parameters.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
-#include "../identity-management-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 namespace ndn {
 namespace mgmt {
diff --git a/tests/unit/mgmt/nfd/channel-status.t.cpp b/tests/unit/mgmt/nfd/channel-status.t.cpp
index b3afde8..9b1a4fa 100644
--- a/tests/unit/mgmt/nfd/channel-status.t.cpp
+++ b/tests/unit/mgmt/nfd/channel-status.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/channel-status.hpp"
+#include "ndn-cxx/mgmt/nfd/channel-status.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/mgmt/nfd/command-options.t.cpp b/tests/unit/mgmt/nfd/command-options.t.cpp
index e8fe76e..d41c512 100644
--- a/tests/unit/mgmt/nfd/command-options.t.cpp
+++ b/tests/unit/mgmt/nfd/command-options.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/command-options.hpp"
-#include "security/signing-helpers.hpp"
+#include "ndn-cxx/mgmt/nfd/command-options.hpp"
+#include "ndn-cxx/security/signing-helpers.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace nfd {
diff --git a/tests/unit/mgmt/nfd/control-command.t.cpp b/tests/unit/mgmt/nfd/control-command.t.cpp
index 4db3752..97c67ac 100644
--- a/tests/unit/mgmt/nfd/control-command.t.cpp
+++ b/tests/unit/mgmt/nfd/control-command.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/control-command.hpp"
+#include "ndn-cxx/mgmt/nfd/control-command.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace nfd {
diff --git a/tests/unit/mgmt/nfd/control-parameters.t.cpp b/tests/unit/mgmt/nfd/control-parameters.t.cpp
index 6030060..b098529 100644
--- a/tests/unit/mgmt/nfd/control-parameters.t.cpp
+++ b/tests/unit/mgmt/nfd/control-parameters.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/control-parameters.hpp"
+#include "ndn-cxx/mgmt/nfd/control-parameters.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace nfd {
diff --git a/tests/unit/mgmt/nfd/controller-fixture.hpp b/tests/unit/mgmt/nfd/controller-fixture.hpp
index 0d14296..bc42e20 100644
--- a/tests/unit/mgmt/nfd/controller-fixture.hpp
+++ b/tests/unit/mgmt/nfd/controller-fixture.hpp
@@ -19,16 +19,15 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_TESTS_MGMT_NFD_CONTROLLER_FIXTURE_HPP
-#define NDN_TESTS_MGMT_NFD_CONTROLLER_FIXTURE_HPP
+#ifndef NDN_TESTS_UNIT_MGMT_NFD_CONTROLLER_FIXTURE_HPP
+#define NDN_TESTS_UNIT_MGMT_NFD_CONTROLLER_FIXTURE_HPP
 
-#include "mgmt/nfd/controller.hpp"
-#include "util/dummy-client-face.hpp"
-#include "security/v2/certificate-fetcher-offline.hpp"
+#include "ndn-cxx/mgmt/nfd/controller.hpp"
+#include "ndn-cxx/security/v2/certificate-fetcher-offline.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
 
-#include "boost-test.hpp"
-#include "dummy-validator.hpp"
-#include "../../identity-management-time-fixture.hpp"
+#include "tests/unit/dummy-validator.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 namespace ndn {
 namespace nfd {
@@ -87,4 +86,4 @@
 } // namespace nfd
 } // namespace ndn
 
-#endif // NDN_TESTS_MGMT_NFD_CONTROLLER_FIXTURE_HPP
+#endif // NDN_TESTS_UNIT_MGMT_NFD_CONTROLLER_FIXTURE_HPP
diff --git a/tests/unit/mgmt/nfd/controller.t.cpp b/tests/unit/mgmt/nfd/controller.t.cpp
index e9a3c4f..01ff767 100644
--- a/tests/unit/mgmt/nfd/controller.t.cpp
+++ b/tests/unit/mgmt/nfd/controller.t.cpp
@@ -19,11 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/controller.hpp"
-#include "mgmt/nfd/control-response.hpp"
+#include "ndn-cxx/mgmt/nfd/controller.hpp"
+#include "ndn-cxx/mgmt/nfd/control-response.hpp"
 
-#include "controller-fixture.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/mgmt/nfd/controller-fixture.hpp"
 
 namespace ndn {
 namespace nfd {
diff --git a/tests/unit/mgmt/nfd/cs-info.t.cpp b/tests/unit/mgmt/nfd/cs-info.t.cpp
index 46a0ed3..9c1999c 100644
--- a/tests/unit/mgmt/nfd/cs-info.t.cpp
+++ b/tests/unit/mgmt/nfd/cs-info.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/cs-info.hpp"
+#include "ndn-cxx/mgmt/nfd/cs-info.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/mgmt/nfd/face-event-notification.t.cpp b/tests/unit/mgmt/nfd/face-event-notification.t.cpp
index 4da762b..3354a1b 100644
--- a/tests/unit/mgmt/nfd/face-event-notification.t.cpp
+++ b/tests/unit/mgmt/nfd/face-event-notification.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/face-event-notification.hpp"
+#include "ndn-cxx/mgmt/nfd/face-event-notification.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/mgmt/nfd/face-query-filter.t.cpp b/tests/unit/mgmt/nfd/face-query-filter.t.cpp
index 3b9b2a2..3b32ac8 100644
--- a/tests/unit/mgmt/nfd/face-query-filter.t.cpp
+++ b/tests/unit/mgmt/nfd/face-query-filter.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/face-query-filter.hpp"
+#include "ndn-cxx/mgmt/nfd/face-query-filter.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/mgmt/nfd/face-status.t.cpp b/tests/unit/mgmt/nfd/face-status.t.cpp
index 0ed7aca..a4ad4ac 100644
--- a/tests/unit/mgmt/nfd/face-status.t.cpp
+++ b/tests/unit/mgmt/nfd/face-status.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/face-status.hpp"
+#include "ndn-cxx/mgmt/nfd/face-status.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/mgmt/nfd/fib-entry.t.cpp b/tests/unit/mgmt/nfd/fib-entry.t.cpp
index fa7ec69..2a84f67 100644
--- a/tests/unit/mgmt/nfd/fib-entry.t.cpp
+++ b/tests/unit/mgmt/nfd/fib-entry.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/fib-entry.hpp"
+#include "ndn-cxx/mgmt/nfd/fib-entry.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/mgmt/nfd/forwarder-status.t.cpp b/tests/unit/mgmt/nfd/forwarder-status.t.cpp
index b2c3d48..f899ce9 100644
--- a/tests/unit/mgmt/nfd/forwarder-status.t.cpp
+++ b/tests/unit/mgmt/nfd/forwarder-status.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/forwarder-status.hpp"
+#include "ndn-cxx/mgmt/nfd/forwarder-status.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/mgmt/nfd/rib-entry.t.cpp b/tests/unit/mgmt/nfd/rib-entry.t.cpp
index f2ab51a..950a196 100644
--- a/tests/unit/mgmt/nfd/rib-entry.t.cpp
+++ b/tests/unit/mgmt/nfd/rib-entry.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/rib-entry.hpp"
+#include "ndn-cxx/mgmt/nfd/rib-entry.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/mgmt/nfd/status-dataset.t.cpp b/tests/unit/mgmt/nfd/status-dataset.t.cpp
index a436de0..1af98e9 100644
--- a/tests/unit/mgmt/nfd/status-dataset.t.cpp
+++ b/tests/unit/mgmt/nfd/status-dataset.t.cpp
@@ -19,11 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/status-dataset.hpp"
-#include "mgmt/nfd/controller.hpp"
+#include "ndn-cxx/mgmt/nfd/status-dataset.hpp"
+#include "ndn-cxx/mgmt/nfd/controller.hpp"
 
-#include "controller-fixture.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/mgmt/nfd/controller-fixture.hpp"
 
 namespace ndn {
 namespace nfd {
diff --git a/tests/unit/mgmt/nfd/strategy-choice.t.cpp b/tests/unit/mgmt/nfd/strategy-choice.t.cpp
index 9996541..1d8329b 100644
--- a/tests/unit/mgmt/nfd/strategy-choice.t.cpp
+++ b/tests/unit/mgmt/nfd/strategy-choice.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/nfd/strategy-choice.hpp"
+#include "ndn-cxx/mgmt/nfd/strategy-choice.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/mgmt/status-dataset-context.t.cpp b/tests/unit/mgmt/status-dataset-context.t.cpp
index 34e6fc1..6ea594e 100644
--- a/tests/unit/mgmt/status-dataset-context.t.cpp
+++ b/tests/unit/mgmt/status-dataset-context.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "mgmt/status-dataset-context.hpp"
+#include "ndn-cxx/mgmt/status-dataset-context.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
 
 namespace ndn {
 namespace mgmt {
diff --git a/tests/unit/name-component.t.cpp b/tests/unit/name-component.t.cpp
index 031ccb8..78613f1 100644
--- a/tests/unit/name-component.t.cpp
+++ b/tests/unit/name-component.t.cpp
@@ -19,11 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "name-component.hpp"
-#include "name.hpp"
-#include "util/string-helper.hpp"
+#include "ndn-cxx/name-component.hpp"
+#include "ndn-cxx/name.hpp"
+#include "ndn-cxx/util/string-helper.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+
 #include <boost/algorithm/string/case_conv.hpp>
 #include <boost/mpl/vector.hpp>
 
diff --git a/tests/unit/name.t.cpp b/tests/unit/name.t.cpp
index 1e0aa1d..a560678 100644
--- a/tests/unit/name.t.cpp
+++ b/tests/unit/name.t.cpp
@@ -19,9 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "name.hpp"
+#include "ndn-cxx/name.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+
 #include <unordered_map>
 
 namespace ndn {
diff --git a/tests/unit/ndebug.t.cpp b/tests/unit/ndebug.t.cpp
index b7219c2..7f1bb5a 100644
--- a/tests/unit/ndebug.t.cpp
+++ b/tests/unit/ndebug.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "common.hpp"
+#include "ndn-cxx/common.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/net/collect-netifs.cpp b/tests/unit/net/collect-netifs.cpp
index ca8e6ef..eeaec20 100644
--- a/tests/unit/net/collect-netifs.cpp
+++ b/tests/unit/net/collect-netifs.cpp
@@ -25,8 +25,8 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "collect-netifs.hpp"
-#include "net/network-monitor.hpp"
+#include "tests/unit/net/collect-netifs.hpp"
+#include "ndn-cxx/net/network-monitor.hpp"
 
 #include <boost/asio/io_service.hpp>
 
diff --git a/tests/unit/net/collect-netifs.hpp b/tests/unit/net/collect-netifs.hpp
index 322e323..b941abf 100644
--- a/tests/unit/net/collect-netifs.hpp
+++ b/tests/unit/net/collect-netifs.hpp
@@ -25,11 +25,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NFD_TESTS_UNIT_TESTS_NET_COLLECT_NETIFS_HPP
-#define NFD_TESTS_UNIT_TESTS_NET_COLLECT_NETIFS_HPP
+#ifndef NDN_TESTS_UNIT_NET_COLLECT_NETIFS_HPP
+#define NDN_TESTS_UNIT_NET_COLLECT_NETIFS_HPP
 
-#include "common.hpp"
-#include "net/network-interface.hpp"
+#include "ndn-cxx/net/network-interface.hpp"
 
 #include <vector>
 
@@ -49,4 +48,4 @@
 } // namespace net
 } // namespace ndn
 
-#endif // NFD_TESTS_UNIT_TESTS_NET_COLLECT_NETIFS_HPP
+#endif // NDN_TESTS_UNIT_NET_COLLECT_NETIFS_HPP
diff --git a/tests/unit/net/dns.t.cpp b/tests/unit/net/dns.t.cpp
index e4afa8e..db834c0 100644
--- a/tests/unit/net/dns.t.cpp
+++ b/tests/unit/net/dns.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "net/dns.hpp"
+#include "ndn-cxx/net/dns.hpp"
 
-#include "boost-test.hpp"
-#include "network-configuration-detector.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/net/network-configuration-detector.hpp"
 
 #include <boost/asio/io_service.hpp>
 
diff --git a/tests/unit/net/ethernet.t.cpp b/tests/unit/net/ethernet.t.cpp
index 4f76dbb..162170b 100644
--- a/tests/unit/net/ethernet.t.cpp
+++ b/tests/unit/net/ethernet.t.cpp
@@ -25,9 +25,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "net/ethernet.hpp"
+#include "ndn-cxx/net/ethernet.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/net/face-uri.t.cpp b/tests/unit/net/face-uri.t.cpp
index 71d76b1..2b99470 100644
--- a/tests/unit/net/face-uri.t.cpp
+++ b/tests/unit/net/face-uri.t.cpp
@@ -25,11 +25,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "net/face-uri.hpp"
+#include "ndn-cxx/net/face-uri.hpp"
 
-#include "boost-test.hpp"
-#include "collect-netifs.hpp"
-#include "network-configuration-detector.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/net/collect-netifs.hpp"
+#include "tests/unit/net/network-configuration-detector.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/net/network-configuration-detector.cpp b/tests/unit/net/network-configuration-detector.cpp
index 3e4f128..84e1244 100644
--- a/tests/unit/net/network-configuration-detector.cpp
+++ b/tests/unit/net/network-configuration-detector.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "network-configuration-detector.hpp"
+#include "tests/unit/net/network-configuration-detector.hpp"
 
-#include <boost/asio/ip/address.hpp>
-#include <boost/asio/ip/udp.hpp>
-#include <boost/asio/ip/basic_resolver.hpp>
 #include <boost/asio/io_service.hpp>
+#include <boost/asio/ip/address.hpp>
+#include <boost/asio/ip/basic_resolver.hpp>
+#include <boost/asio/ip/udp.hpp>
 #include <boost/range/iterator_range_core.hpp>
 
 namespace ndn {
diff --git a/tests/unit/net/network-configuration-detector.hpp b/tests/unit/net/network-configuration-detector.hpp
index 58715c8..015b2b8 100644
--- a/tests/unit/net/network-configuration-detector.hpp
+++ b/tests/unit/net/network-configuration-detector.hpp
@@ -19,8 +19,8 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_TESTS_NET_NETWORK_CONFIGURATION_DETECTOR_HPP
-#define NDN_TESTS_NET_NETWORK_CONFIGURATION_DETECTOR_HPP
+#ifndef NDN_TESTS_UNIT_NET_NETWORK_CONFIGURATION_DETECTOR_HPP
+#define NDN_TESTS_UNIT_NET_NETWORK_CONFIGURATION_DETECTOR_HPP
 
 #define SKIP_IF_IPV4_UNAVAILABLE() \
   do { \
@@ -72,4 +72,4 @@
 } // namespace tests
 } // namespace ndn
 
-#endif // NDN_TESTS_NET_NETWORK_CONFIGURATION_DETECTOR_HPP
+#endif // NDN_TESTS_UNIT_NET_NETWORK_CONFIGURATION_DETECTOR_HPP
diff --git a/tests/unit/net/network-monitor-stub.t.cpp b/tests/unit/net/network-monitor-stub.t.cpp
index 8fbf3eb..453a510 100644
--- a/tests/unit/net/network-monitor-stub.t.cpp
+++ b/tests/unit/net/network-monitor-stub.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "net/network-monitor-stub.hpp"
+#include "ndn-cxx/net/network-monitor-stub.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace net {
diff --git a/tests/unit/net/network-monitor.t.cpp b/tests/unit/net/network-monitor.t.cpp
index b522ee6..132d0db 100644
--- a/tests/unit/net/network-monitor.t.cpp
+++ b/tests/unit/net/network-monitor.t.cpp
@@ -19,9 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "net/network-monitor.hpp"
+#include "ndn-cxx/net/network-monitor.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+
 #include <boost/asio/io_service.hpp>
 
 namespace ndn {
diff --git a/tests/unit/packet-base.t.cpp b/tests/unit/packet-base.t.cpp
index 8b4dfa2..d541512 100644
--- a/tests/unit/packet-base.t.cpp
+++ b/tests/unit/packet-base.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "packet-base.hpp"
+#include "ndn-cxx/packet-base.hpp"
+#include "ndn-cxx/interest.hpp"
+#include "ndn-cxx/lp/tags.hpp"
 
-#include "../boost-test.hpp"
-#include "interest.hpp"
-#include "lp/tags.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/prefix-announcement.t.cpp b/tests/unit/prefix-announcement.t.cpp
index fa69eb3..31449e4 100644
--- a/tests/unit/prefix-announcement.t.cpp
+++ b/tests/unit/prefix-announcement.t.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "prefix-announcement.hpp"
-#include "encoding/tlv-nfd.hpp"
+#include "ndn-cxx/prefix-announcement.hpp"
+#include "ndn-cxx/encoding/tlv-nfd.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
+#include "tests/make-interest-data.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/security/command-interest-signer.t.cpp b/tests/unit/security/command-interest-signer.t.cpp
index 784a209..fe85ba8 100644
--- a/tests/unit/security/command-interest-signer.t.cpp
+++ b/tests/unit/security/command-interest-signer.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/command-interest-signer.hpp"
-#include "security/signing-helpers.hpp"
+#include "ndn-cxx/security/command-interest-signer.hpp"
+#include "ndn-cxx/security/signing-helpers.hpp"
 
-#include "boost-test.hpp"
-#include "../identity-management-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/digest-sha256.t.cpp b/tests/unit/security/digest-sha256.t.cpp
index 7c1d236..d3fcf4a 100644
--- a/tests/unit/security/digest-sha256.t.cpp
+++ b/tests/unit/security/digest-sha256.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/digest-sha256.hpp"
-#include "security/verification-helpers.hpp"
-#include "util/sha256.hpp"
-#include "util/string-helper.hpp"
+#include "ndn-cxx/security/digest-sha256.hpp"
+#include "ndn-cxx/security/verification-helpers.hpp"
+#include "ndn-cxx/util/sha256.hpp"
+#include "ndn-cxx/util/string-helper.hpp"
 
-#include "identity-management-fixture.hpp"
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/key-params.t.cpp b/tests/unit/security/key-params.t.cpp
index 991c346..0fc6cd5 100644
--- a/tests/unit/security/key-params.t.cpp
+++ b/tests/unit/security/key-params.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/key-params.hpp"
+#include "ndn-cxx/security/key-params.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/lexical_cast.hpp>
 
diff --git a/tests/unit/security/pib/certificate-container.t.cpp b/tests/unit/security/pib/certificate-container.t.cpp
index 6614531..f34c0fe 100644
--- a/tests/unit/security/pib/certificate-container.t.cpp
+++ b/tests/unit/security/pib/certificate-container.t.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/certificate-container.hpp"
-#include "security/pib/pib.hpp"
-#include "security/pib/pib-memory.hpp"
+#include "ndn-cxx/security/pib/certificate-container.hpp"
+#include "ndn-cxx/security/pib/pib.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
 
-#include "boost-test.hpp"
-#include "pib-data-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/pib/detail/identity-impl.t.cpp b/tests/unit/security/pib/detail/identity-impl.t.cpp
index 209a6b6..e3243e3 100644
--- a/tests/unit/security/pib/detail/identity-impl.t.cpp
+++ b/tests/unit/security/pib/detail/identity-impl.t.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/detail/identity-impl.hpp"
-#include "security/pib/pib.hpp"
-#include "security/pib/pib-memory.hpp"
+#include "ndn-cxx/security/pib/detail/identity-impl.hpp"
+#include "ndn-cxx/security/pib/pib.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
 
-#include "boost-test.hpp"
-#include "../pib-data-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/pib/detail/key-impl.t.cpp b/tests/unit/security/pib/detail/key-impl.t.cpp
index 517ea60..ea9499c 100644
--- a/tests/unit/security/pib/detail/key-impl.t.cpp
+++ b/tests/unit/security/pib/detail/key-impl.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/detail/key-impl.hpp"
-#include "security/pib/pib.hpp"
-#include "security/pib/pib-memory.hpp"
-#include "../pib-data-fixture.hpp"
+#include "ndn-cxx/security/pib/detail/key-impl.hpp"
+#include "ndn-cxx/security/pib/pib.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/pib/identity-container.t.cpp b/tests/unit/security/pib/identity-container.t.cpp
index e821970..fbce528 100644
--- a/tests/unit/security/pib/identity-container.t.cpp
+++ b/tests/unit/security/pib/identity-container.t.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/identity-container.hpp"
-#include "security/pib/pib.hpp"
-#include "security/pib/pib-memory.hpp"
+#include "ndn-cxx/security/pib/identity-container.hpp"
+#include "ndn-cxx/security/pib/pib.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
 
-#include "boost-test.hpp"
-#include "pib-data-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/pib/identity.t.cpp b/tests/unit/security/pib/identity.t.cpp
index d10c7bf..5e2f28a 100644
--- a/tests/unit/security/pib/identity.t.cpp
+++ b/tests/unit/security/pib/identity.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/identity.hpp"
-#include "security/pib/pib.hpp"
-#include "security/pib/pib-memory.hpp"
-#include "security/pib/detail/identity-impl.hpp"
+#include "ndn-cxx/security/pib/identity.hpp"
+#include "ndn-cxx/security/pib/pib.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
+#include "ndn-cxx/security/pib/detail/identity-impl.hpp"
 
-#include "boost-test.hpp"
-#include "pib-data-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/pib/key-container.t.cpp b/tests/unit/security/pib/key-container.t.cpp
index 2afd3e2..ce5b6ab 100644
--- a/tests/unit/security/pib/key-container.t.cpp
+++ b/tests/unit/security/pib/key-container.t.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/key-container.hpp"
-#include "security/pib/pib.hpp"
-#include "security/pib/pib-memory.hpp"
+#include "ndn-cxx/security/pib/key-container.hpp"
+#include "ndn-cxx/security/pib/pib.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
 
-#include "boost-test.hpp"
-#include "pib-data-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/pib/key.t.cpp b/tests/unit/security/pib/key.t.cpp
index 3c5d207..86f7dfa 100644
--- a/tests/unit/security/pib/key.t.cpp
+++ b/tests/unit/security/pib/key.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/key.hpp"
-#include "security/pib/pib.hpp"
-#include "security/pib/pib-memory.hpp"
-#include "security/pib/detail/key-impl.hpp"
+#include "ndn-cxx/security/pib/key.hpp"
+#include "ndn-cxx/security/pib/pib.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
+#include "ndn-cxx/security/pib/detail/key-impl.hpp"
 
-#include "boost-test.hpp"
-#include "pib-data-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/pib/pib-data-fixture.cpp b/tests/unit/security/pib/pib-data-fixture.cpp
index 91e5b34..d2ddd10 100644
--- a/tests/unit/security/pib/pib-data-fixture.cpp
+++ b/tests/unit/security/pib/pib-data-fixture.cpp
@@ -19,12 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "pib-data-fixture.hpp"
-#include "../../identity-management-time-fixture.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
-// #include "security/pib/pib-memory.hpp"
-// #include "security/tpm/tpm.hpp"
-// #include "security/tpm/back-end-mem.hpp"
+// #include "ndn-cxx/security/pib/pib-memory.hpp"
+// #include "ndn-cxx/security/tpm/tpm.hpp"
+// #include "ndn-cxx/security/tpm/back-end-mem.hpp"
 // #include <fstream>
 
 namespace ndn {
diff --git a/tests/unit/security/pib/pib-data-fixture.hpp b/tests/unit/security/pib/pib-data-fixture.hpp
index 2328702..21af850 100644
--- a/tests/unit/security/pib/pib-data-fixture.hpp
+++ b/tests/unit/security/pib/pib-data-fixture.hpp
@@ -19,12 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_TESTS_SECURITY_PIB_DATA_FIXTURE_HPP
-#define NDN_TESTS_SECURITY_PIB_DATA_FIXTURE_HPP
+#ifndef NDN_TESTS_UNIT_SECURITY_PIB_DATA_FIXTURE_HPP
+#define NDN_TESTS_UNIT_SECURITY_PIB_DATA_FIXTURE_HPP
 
-#include "security/v2/certificate.hpp"
-
-#include "boost-test.hpp"
+#include "ndn-cxx/security/v2/certificate.hpp"
 
 namespace ndn {
 namespace security {
@@ -63,4 +61,4 @@
 } // namespace security
 } // namespace ndn
 
-#endif // NDN_TESTS_SECURITY_PIB_DATA_FIXTURE_HPP
+#endif // NDN_TESTS_UNIT_SECURITY_PIB_DATA_FIXTURE_HPP
diff --git a/tests/unit/security/pib/pib-impl.t.cpp b/tests/unit/security/pib/pib-impl.t.cpp
index 6094b0e..a1f2e47 100644
--- a/tests/unit/security/pib/pib-impl.t.cpp
+++ b/tests/unit/security/pib/pib-impl.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/pib-memory.hpp"
-#include "security/pib/pib-sqlite3.hpp"
-#include "security/pib/pib.hpp"
-#include "security/security-common.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
+#include "ndn-cxx/security/pib/pib-sqlite3.hpp"
+#include "ndn-cxx/security/pib/pib.hpp"
+#include "ndn-cxx/security/security-common.hpp"
 
-#include "boost-test.hpp"
-#include "pib-data-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
 #include <boost/filesystem.hpp>
 #include <boost/mpl/list.hpp>
diff --git a/tests/unit/security/pib/pib-memory.t.cpp b/tests/unit/security/pib/pib-memory.t.cpp
index 72b0db8..0f8caef 100644
--- a/tests/unit/security/pib/pib-memory.t.cpp
+++ b/tests/unit/security/pib/pib-memory.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/pib-memory.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/pib/pib-sqlite3.t.cpp b/tests/unit/security/pib/pib-sqlite3.t.cpp
index b46cb50..5b27d29 100644
--- a/tests/unit/security/pib/pib-sqlite3.t.cpp
+++ b/tests/unit/security/pib/pib-sqlite3.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/pib-sqlite3.hpp"
+#include "ndn-cxx/security/pib/pib-sqlite3.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/pib/pib.t.cpp b/tests/unit/security/pib/pib.t.cpp
index 0ce5afc..29787e2 100644
--- a/tests/unit/security/pib/pib.t.cpp
+++ b/tests/unit/security/pib/pib.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/pib/pib.hpp"
-#include "security/pib/pib-memory.hpp"
+#include "ndn-cxx/security/pib/pib.hpp"
+#include "ndn-cxx/security/pib/pib-memory.hpp"
 
-#include "boost-test.hpp"
-#include "pib-data-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/pib/pib-data-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/safe-bag.t.cpp b/tests/unit/security/safe-bag.t.cpp
index 0423c69..d59cdef 100644
--- a/tests/unit/security/safe-bag.t.cpp
+++ b/tests/unit/security/safe-bag.t.cpp
@@ -21,9 +21,9 @@
  * @author Zhiyi Zhang <dreamerbarrychang@gmail.com>
  */
 
-#include "security/safe-bag.hpp"
+#include "ndn-cxx/security/safe-bag.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/signature-sha256-with-ecdsa.t.cpp b/tests/unit/security/signature-sha256-with-ecdsa.t.cpp
index 2f90302..abf15a2 100644
--- a/tests/unit/security/signature-sha256-with-ecdsa.t.cpp
+++ b/tests/unit/security/signature-sha256-with-ecdsa.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/signature-sha256-with-ecdsa.hpp"
-#include "security/verification-helpers.hpp"
-#include "util/scheduler.hpp"
+#include "ndn-cxx/security/signature-sha256-with-ecdsa.hpp"
+#include "ndn-cxx/security/verification-helpers.hpp"
+#include "ndn-cxx/util/scheduler.hpp"
 
-#include "boost-test.hpp"
-#include "../identity-management-time-fixture.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/signature-sha256-with-rsa.t.cpp b/tests/unit/security/signature-sha256-with-rsa.t.cpp
index 7de3774..3fca552 100644
--- a/tests/unit/security/signature-sha256-with-rsa.t.cpp
+++ b/tests/unit/security/signature-sha256-with-rsa.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/signature-sha256-with-rsa.hpp"
-#include "security/verification-helpers.hpp"
-#include "util/scheduler.hpp"
+#include "ndn-cxx/security/signature-sha256-with-rsa.hpp"
+#include "ndn-cxx/security/verification-helpers.hpp"
+#include "ndn-cxx/util/scheduler.hpp"
 
-#include "boost-test.hpp"
-#include "../identity-management-time-fixture.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/signing-helpers.t.cpp b/tests/unit/security/signing-helpers.t.cpp
index af2c568..f9a51b2 100644
--- a/tests/unit/security/signing-helpers.t.cpp
+++ b/tests/unit/security/signing-helpers.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/signing-helpers.hpp"
+#include "ndn-cxx/security/signing-helpers.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/signing-info.t.cpp b/tests/unit/security/signing-info.t.cpp
index fc6f627..816cb52 100644
--- a/tests/unit/security/signing-info.t.cpp
+++ b/tests/unit/security/signing-info.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/signing-info.hpp"
+#include "ndn-cxx/security/signing-info.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/lexical_cast.hpp>
 #include <sstream>
diff --git a/tests/unit/security/tpm/back-end-wrapper-file.hpp b/tests/unit/security/tpm/back-end-wrapper-file.hpp
index dabd6d3..89c58d0 100644
--- a/tests/unit/security/tpm/back-end-wrapper-file.hpp
+++ b/tests/unit/security/tpm/back-end-wrapper-file.hpp
@@ -22,7 +22,8 @@
 #ifndef NDN_TESTS_SECURITY_TPM_BACK_END_WRAPPER_FILE_HPP
 #define NDN_TESTS_SECURITY_TPM_BACK_END_WRAPPER_FILE_HPP
 
-#include "security/tpm/back-end-file.hpp"
+#include "ndn-cxx/security/tpm/back-end-file.hpp"
+
 #include <boost/filesystem.hpp>
 
 namespace ndn {
diff --git a/tests/unit/security/tpm/back-end-wrapper-mem.hpp b/tests/unit/security/tpm/back-end-wrapper-mem.hpp
index ddf629b..a8b44fc 100644
--- a/tests/unit/security/tpm/back-end-wrapper-mem.hpp
+++ b/tests/unit/security/tpm/back-end-wrapper-mem.hpp
@@ -22,7 +22,7 @@
 #ifndef NDN_TESTS_SECURITY_TPM_BACK_END_WRAPPER_MEM_HPP
 #define NDN_TESTS_SECURITY_TPM_BACK_END_WRAPPER_MEM_HPP
 
-#include "security/tpm/back-end-mem.hpp"
+#include "ndn-cxx/security/tpm/back-end-mem.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/tpm/back-end-wrapper-osx.hpp b/tests/unit/security/tpm/back-end-wrapper-osx.hpp
index 6d7d35b..cc582d1 100644
--- a/tests/unit/security/tpm/back-end-wrapper-osx.hpp
+++ b/tests/unit/security/tpm/back-end-wrapper-osx.hpp
@@ -22,8 +22,8 @@
 #ifndef NDN_TESTS_SECURITY_TPM_BACK_END_WRAPPER_OSX_HPP
 #define NDN_TESTS_SECURITY_TPM_BACK_END_WRAPPER_OSX_HPP
 
-#include "security/tpm/back-end-osx.hpp"
-#include "security/tpm/key-handle-osx.hpp"
+#include "ndn-cxx/security/tpm/back-end-osx.hpp"
+#include "ndn-cxx/security/tpm/key-handle-osx.hpp"
 
 #include <cstdlib>
 
diff --git a/tests/unit/security/tpm/back-end.t.cpp b/tests/unit/security/tpm/back-end.t.cpp
index 5512ebd..4d39fbb 100644
--- a/tests/unit/security/tpm/back-end.t.cpp
+++ b/tests/unit/security/tpm/back-end.t.cpp
@@ -19,25 +19,25 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/tpm/back-end.hpp"
+#include "ndn-cxx/security/tpm/back-end.hpp"
 
-#include "encoding/buffer-stream.hpp"
-#include "security/pib/key.hpp"
-#include "security/tpm/key-handle.hpp"
-#include "security/tpm/tpm.hpp"
-#include "security/transform/bool-sink.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/private-key.hpp"
-#include "security/transform/public-key.hpp"
-#include "security/transform/verifier-filter.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/pib/key.hpp"
+#include "ndn-cxx/security/tpm/key-handle.hpp"
+#include "ndn-cxx/security/tpm/tpm.hpp"
+#include "ndn-cxx/security/transform/bool-sink.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/private-key.hpp"
+#include "ndn-cxx/security/transform/public-key.hpp"
+#include "ndn-cxx/security/transform/verifier-filter.hpp"
 
-#include "back-end-wrapper-file.hpp"
-#include "back-end-wrapper-mem.hpp"
+#include "tests/unit/security/tpm/back-end-wrapper-file.hpp"
+#include "tests/unit/security/tpm/back-end-wrapper-mem.hpp"
 #ifdef NDN_CXX_HAVE_OSX_FRAMEWORKS
-#include "back-end-wrapper-osx.hpp"
+#include "tests/unit/security/tpm/back-end-wrapper-osx.hpp"
 #endif // NDN_CXX_HAVE_OSX_FRAMEWORKS
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/mpl/vector.hpp>
 #include <set>
diff --git a/tests/unit/security/transform.t.cpp b/tests/unit/security/transform.t.cpp
index 1d55464..07958cd 100644
--- a/tests/unit/security/transform.t.cpp
+++ b/tests/unit/security/transform.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform.hpp"
+#include "ndn-cxx/security/transform.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/base64-decode.t.cpp b/tests/unit/security/transform/base64-decode.t.cpp
index ecaa17c..93d09c2 100644
--- a/tests/unit/security/transform/base64-decode.t.cpp
+++ b/tests/unit/security/transform/base64-decode.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/base64-decode.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/step-source.hpp"
-#include "security/transform/stream-sink.hpp"
-#include "encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/base64-decode.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/step-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/base64-encode.t.cpp b/tests/unit/security/transform/base64-encode.t.cpp
index d52ac0b..228f214 100644
--- a/tests/unit/security/transform/base64-encode.t.cpp
+++ b/tests/unit/security/transform/base64-encode.t.cpp
@@ -19,13 +19,14 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/base64-encode.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/step-source.hpp"
-#include "security/transform/stream-sink.hpp"
-#include "encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/base64-encode.hpp"
 
-#include "boost-test.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/step-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
+
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/block-cipher.t.cpp b/tests/unit/security/transform/block-cipher.t.cpp
index 379093d..12b20bb 100644
--- a/tests/unit/security/transform/block-cipher.t.cpp
+++ b/tests/unit/security/transform/block-cipher.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/block-cipher.hpp"
+#include "ndn-cxx/security/transform/block-cipher.hpp"
 
-#include "encoding/buffer-stream.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/stream-sink.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/bool-sink.t.cpp b/tests/unit/security/transform/bool-sink.t.cpp
index 2ce633f..f287e1c 100644
--- a/tests/unit/security/transform/bool-sink.t.cpp
+++ b/tests/unit/security/transform/bool-sink.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/bool-sink.hpp"
+#include "ndn-cxx/security/transform/bool-sink.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/buffer-source.t.cpp b/tests/unit/security/transform/buffer-source.t.cpp
index cb7e7f4..80b9d8d 100644
--- a/tests/unit/security/transform/buffer-source.t.cpp
+++ b/tests/unit/security/transform/buffer-source.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/stream-sink.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/digest-filter.t.cpp b/tests/unit/security/transform/digest-filter.t.cpp
index 5c0aaca..67ccc4c 100644
--- a/tests/unit/security/transform/digest-filter.t.cpp
+++ b/tests/unit/security/transform/digest-filter.t.cpp
@@ -19,15 +19,15 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/digest-filter.hpp"
+#include "ndn-cxx/security/transform/digest-filter.hpp"
 
-#include "encoding/buffer-stream.hpp"
-#include "security/detail/openssl.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/step-source.hpp"
-#include "security/transform/stream-sink.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/detail/openssl.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/step-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/hex-decode.t.cpp b/tests/unit/security/transform/hex-decode.t.cpp
index 3c05ab4..bd2e880 100644
--- a/tests/unit/security/transform/hex-decode.t.cpp
+++ b/tests/unit/security/transform/hex-decode.t.cpp
@@ -19,13 +19,14 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/hex-decode.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/step-source.hpp"
-#include "security/transform/stream-sink.hpp"
-#include "encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/hex-decode.hpp"
 
-#include "boost-test.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/step-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
+
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/hex-encode.t.cpp b/tests/unit/security/transform/hex-encode.t.cpp
index 26f6321..791fdd7 100644
--- a/tests/unit/security/transform/hex-encode.t.cpp
+++ b/tests/unit/security/transform/hex-encode.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/hex-encode.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/step-source.hpp"
-#include "security/transform/stream-sink.hpp"
-#include "encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/hex-encode.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/step-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/hmac-filter.t.cpp b/tests/unit/security/transform/hmac-filter.t.cpp
index 1ed5e25..650c024 100644
--- a/tests/unit/security/transform/hmac-filter.t.cpp
+++ b/tests/unit/security/transform/hmac-filter.t.cpp
@@ -19,14 +19,14 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/hmac-filter.hpp"
+#include "ndn-cxx/security/transform/hmac-filter.hpp"
 
-#include "encoding/buffer-stream.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/step-source.hpp"
-#include "security/transform/stream-sink.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/step-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/private-key.t.cpp b/tests/unit/security/transform/private-key.t.cpp
index ee956f9..0cef079 100644
--- a/tests/unit/security/transform/private-key.t.cpp
+++ b/tests/unit/security/transform/private-key.t.cpp
@@ -19,13 +19,14 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/private-key.hpp"
+#include "ndn-cxx/security/transform/private-key.hpp"
 
-#include "encoding/buffer-stream.hpp"
-#include "security/key-params.hpp"
-#include "security/transform.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/key-params.hpp"
+#include "ndn-cxx/security/transform.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+
 #include <boost/mpl/vector.hpp>
 
 #include <sstream>
diff --git a/tests/unit/security/transform/public-key.t.cpp b/tests/unit/security/transform/public-key.t.cpp
index f9d3304..ae234b3 100644
--- a/tests/unit/security/transform/public-key.t.cpp
+++ b/tests/unit/security/transform/public-key.t.cpp
@@ -19,12 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/public-key.hpp"
+#include "ndn-cxx/security/transform/public-key.hpp"
 
-#include "encoding/buffer-stream.hpp"
-#include "security/transform.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+
 #include <boost/mpl/vector.hpp>
 
 #include <sstream>
diff --git a/tests/unit/security/transform/signer-filter.t.cpp b/tests/unit/security/transform/signer-filter.t.cpp
index 51a98f0..aa6f6e3 100644
--- a/tests/unit/security/transform/signer-filter.t.cpp
+++ b/tests/unit/security/transform/signer-filter.t.cpp
@@ -19,16 +19,16 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/signer-filter.hpp"
+#include "ndn-cxx/security/transform/signer-filter.hpp"
 
-#include "encoding/buffer-stream.hpp"
-#include "security/transform/base64-decode.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/private-key.hpp"
-#include "security/transform/stream-sink.hpp"
-#include "security/verification-helpers.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/base64-decode.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/private-key.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
+#include "ndn-cxx/security/verification-helpers.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/step-source.t.cpp b/tests/unit/security/transform/step-source.t.cpp
index 43c6655..d8aae47 100644
--- a/tests/unit/security/transform/step-source.t.cpp
+++ b/tests/unit/security/transform/step-source.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/step-source.hpp"
-#include "security/transform/stream-sink.hpp"
+#include "ndn-cxx/security/transform/step-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <sstream>
 
diff --git a/tests/unit/security/transform/stream-sink.t.cpp b/tests/unit/security/transform/stream-sink.t.cpp
index 753ea35..4704b01 100644
--- a/tests/unit/security/transform/stream-sink.t.cpp
+++ b/tests/unit/security/transform/stream-sink.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/stream-sink.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/stream-source.t.cpp b/tests/unit/security/transform/stream-source.t.cpp
index ae385b1..1446bc9 100644
--- a/tests/unit/security/transform/stream-source.t.cpp
+++ b/tests/unit/security/transform/stream-source.t.cpp
@@ -19,10 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/stream-source.hpp"
-#include "security/transform/stream-sink.hpp"
+#include "ndn-cxx/security/transform/stream-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+
 #include <boost/mpl/integral_c.hpp>
 #include <boost/mpl/vector.hpp>
 
diff --git a/tests/unit/security/transform/strip-space.t.cpp b/tests/unit/security/transform/strip-space.t.cpp
index db8fa84..29c2e7e 100644
--- a/tests/unit/security/transform/strip-space.t.cpp
+++ b/tests/unit/security/transform/strip-space.t.cpp
@@ -19,12 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/strip-space.hpp"
-#include "security/transform/step-source.hpp"
-#include "security/transform/stream-sink.hpp"
-#include "encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/strip-space.hpp"
 
-#include "boost-test.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/step-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
+
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/transform/verifier-filter.t.cpp b/tests/unit/security/transform/verifier-filter.t.cpp
index 1b74690..ef38276 100644
--- a/tests/unit/security/transform/verifier-filter.t.cpp
+++ b/tests/unit/security/transform/verifier-filter.t.cpp
@@ -19,18 +19,18 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/transform/verifier-filter.hpp"
+#include "ndn-cxx/security/transform/verifier-filter.hpp"
 
-#include "encoding/buffer-stream.hpp"
-#include "security/transform/base64-decode.hpp"
-#include "security/transform/bool-sink.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/private-key.hpp"
-#include "security/transform/public-key.hpp"
-#include "security/transform/signer-filter.hpp"
-#include "security/transform/stream-sink.hpp"
+#include "ndn-cxx/encoding/buffer-stream.hpp"
+#include "ndn-cxx/security/transform/base64-decode.hpp"
+#include "ndn-cxx/security/transform/bool-sink.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/private-key.hpp"
+#include "ndn-cxx/security/transform/public-key.hpp"
+#include "ndn-cxx/security/transform/signer-filter.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/additional-description.t.cpp b/tests/unit/security/v2/additional-description.t.cpp
index 7ceee8c..2ed09f9 100644
--- a/tests/unit/security/v2/additional-description.t.cpp
+++ b/tests/unit/security/v2/additional-description.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/additional-description.hpp"
+#include "ndn-cxx/security/v2/additional-description.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/certificate-bundle-fetcher.t.cpp b/tests/unit/security/v2/certificate-bundle-fetcher.t.cpp
index d2e0565..cd96300 100644
--- a/tests/unit/security/v2/certificate-bundle-fetcher.t.cpp
+++ b/tests/unit/security/v2/certificate-bundle-fetcher.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/certificate-bundle-fetcher.hpp"
-#include "security/v2/validation-policy-simple-hierarchy.hpp"
-#include "util/regex/regex-pattern-list-matcher.hpp"
-#include "lp/nack.hpp"
+#include "ndn-cxx/security/v2/certificate-bundle-fetcher.hpp"
+#include "ndn-cxx/security/v2/validation-policy-simple-hierarchy.hpp"
+#include "ndn-cxx/util/regex/regex-pattern-list-matcher.hpp"
+#include "ndn-cxx/lp/nack.hpp"
 
-#include "boost-test.hpp"
-#include "validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/certificate-cache.t.cpp b/tests/unit/security/v2/certificate-cache.t.cpp
index 4ae3505..faeb667 100644
--- a/tests/unit/security/v2/certificate-cache.t.cpp
+++ b/tests/unit/security/v2/certificate-cache.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/certificate-cache.hpp"
+#include "ndn-cxx/security/v2/certificate-cache.hpp"
 
-#include "../../identity-management-time-fixture.hpp"
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/certificate-fetcher-direct-fetch.t.cpp b/tests/unit/security/v2/certificate-fetcher-direct-fetch.t.cpp
index 68fe6b1..e2d543c 100644
--- a/tests/unit/security/v2/certificate-fetcher-direct-fetch.t.cpp
+++ b/tests/unit/security/v2/certificate-fetcher-direct-fetch.t.cpp
@@ -19,16 +19,16 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/certificate-fetcher-direct-fetch.hpp"
-#include "security/v2/validation-policy-simple-hierarchy.hpp"
-#include "lp/nack.hpp"
-#include "lp/tags.hpp"
+#include "ndn-cxx/security/v2/certificate-fetcher-direct-fetch.hpp"
+#include "ndn-cxx/security/v2/validation-policy-simple-hierarchy.hpp"
+#include "ndn-cxx/lp/nack.hpp"
+#include "ndn-cxx/lp/tags.hpp"
 
-#include "boost-test.hpp"
-#include "validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
 
-#include <boost/range/adaptor/strided.hpp>
 #include <boost/range/adaptor/sliced.hpp>
+#include <boost/range/adaptor/strided.hpp>
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/certificate-fetcher-from-network.t.cpp b/tests/unit/security/v2/certificate-fetcher-from-network.t.cpp
index 5a6b395..a7b1388 100644
--- a/tests/unit/security/v2/certificate-fetcher-from-network.t.cpp
+++ b/tests/unit/security/v2/certificate-fetcher-from-network.t.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/certificate-fetcher-from-network.hpp"
-#include "security/v2/validation-policy-simple-hierarchy.hpp"
-#include "lp/nack.hpp"
+#include "ndn-cxx/security/v2/certificate-fetcher-from-network.hpp"
+#include "ndn-cxx/security/v2/validation-policy-simple-hierarchy.hpp"
+#include "ndn-cxx/lp/nack.hpp"
 
-#include "boost-test.hpp"
-#include "validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/certificate-fetcher-offline.t.cpp b/tests/unit/security/v2/certificate-fetcher-offline.t.cpp
index 102a308..bdf61c6 100644
--- a/tests/unit/security/v2/certificate-fetcher-offline.t.cpp
+++ b/tests/unit/security/v2/certificate-fetcher-offline.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/certificate-fetcher-offline.hpp"
-#include "security/v2/validation-policy-simple-hierarchy.hpp"
+#include "ndn-cxx/security/v2/certificate-fetcher-offline.hpp"
+#include "ndn-cxx/security/v2/validation-policy-simple-hierarchy.hpp"
 
-#include "boost-test.hpp"
-#include "validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/certificate.t.cpp b/tests/unit/security/v2/certificate.t.cpp
index e677aed..9d04b6d 100644
--- a/tests/unit/security/v2/certificate.t.cpp
+++ b/tests/unit/security/v2/certificate.t.cpp
@@ -21,10 +21,10 @@
  * @author Zhiyi Zhang <dreamerbarrychang@gmail.com>
  */
 
-#include "security/v2/certificate.hpp"
+#include "ndn-cxx/security/v2/certificate.hpp"
 
-#include "boost-test.hpp"
-#include "../../unit-test-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/unit-test-time-fixture.hpp"
 
 #include <boost/lexical_cast.hpp>
 
diff --git a/tests/unit/security/v2/key-chain.t.cpp b/tests/unit/security/v2/key-chain.t.cpp
index 649ef7b..8f5844b 100644
--- a/tests/unit/security/v2/key-chain.t.cpp
+++ b/tests/unit/security/v2/key-chain.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/key-chain.hpp"
-#include "security/signing-helpers.hpp"
-#include "security/verification-helpers.hpp"
+#include "ndn-cxx/security/v2/key-chain.hpp"
+#include "ndn-cxx/security/signing-helpers.hpp"
+#include "ndn-cxx/security/verification-helpers.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
-#include "../../test-home-env-saver.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
+#include "tests/unit/test-home-env-saver.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/trust-anchor-container.t.cpp b/tests/unit/security/v2/trust-anchor-container.t.cpp
index efd6ca3..6430db8 100644
--- a/tests/unit/security/v2/trust-anchor-container.t.cpp
+++ b/tests/unit/security/v2/trust-anchor-container.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/trust-anchor-container.hpp"
-#include "util/io.hpp"
+#include "ndn-cxx/security/v2/trust-anchor-container.hpp"
+#include "ndn-cxx/util/io.hpp"
 
-#include "../../identity-management-time-fixture.hpp"
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 #include <boost/filesystem.hpp>
 
diff --git a/tests/unit/security/v2/validation-error.t.cpp b/tests/unit/security/v2/validation-error.t.cpp
index 1db3aac..21821ee 100644
--- a/tests/unit/security/v2/validation-error.t.cpp
+++ b/tests/unit/security/v2/validation-error.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validation-error.hpp"
+#include "ndn-cxx/security/v2/validation-error.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/security/v2/validation-policy-accept-all.t.cpp b/tests/unit/security/v2/validation-policy-accept-all.t.cpp
index 61466d6..9d7d927 100644
--- a/tests/unit/security/v2/validation-policy-accept-all.t.cpp
+++ b/tests/unit/security/v2/validation-policy-accept-all.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validation-policy-accept-all.hpp"
+#include "ndn-cxx/security/v2/validation-policy-accept-all.hpp"
 
-#include "boost-test.hpp"
-#include "validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
 
 #include <boost/mpl/vector.hpp>
 
diff --git a/tests/unit/security/v2/validation-policy-command-interest.t.cpp b/tests/unit/security/v2/validation-policy-command-interest.t.cpp
index 7bd42ea..a061a27 100644
--- a/tests/unit/security/v2/validation-policy-command-interest.t.cpp
+++ b/tests/unit/security/v2/validation-policy-command-interest.t.cpp
@@ -19,15 +19,15 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validation-policy-command-interest.hpp"
-#include "security/v2/validation-policy-simple-hierarchy.hpp"
-#include "security/v2/validation-policy-accept-all.hpp"
-#include "security/command-interest-signer.hpp"
-#include "security/signing-helpers.hpp"
+#include "ndn-cxx/security/v2/validation-policy-command-interest.hpp"
+#include "ndn-cxx/security/v2/validation-policy-simple-hierarchy.hpp"
+#include "ndn-cxx/security/v2/validation-policy-accept-all.hpp"
+#include "ndn-cxx/security/command-interest-signer.hpp"
+#include "ndn-cxx/security/signing-helpers.hpp"
 
-#include "boost-test.hpp"
-#include "validator-fixture.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
 
 #include <boost/lexical_cast.hpp>
 #include <boost/mpl/vector.hpp>
diff --git a/tests/unit/security/v2/validation-policy-config.t.cpp b/tests/unit/security/v2/validation-policy-config.t.cpp
index cca3e7a..9d33a1f 100644
--- a/tests/unit/security/v2/validation-policy-config.t.cpp
+++ b/tests/unit/security/v2/validation-policy-config.t.cpp
@@ -19,16 +19,16 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validation-policy-config.hpp"
-#include "security/transform/base64-encode.hpp"
-#include "security/transform/buffer-source.hpp"
-#include "security/transform/stream-sink.hpp"
-#include "util/logger.hpp"
-#include "util/io.hpp"
+#include "ndn-cxx/security/v2/validation-policy-config.hpp"
+#include "ndn-cxx/security/transform/base64-encode.hpp"
+#include "ndn-cxx/security/transform/buffer-source.hpp"
+#include "ndn-cxx/security/transform/stream-sink.hpp"
+#include "ndn-cxx/util/logger.hpp"
+#include "ndn-cxx/util/io.hpp"
 
-#include "boost-test.hpp"
-#include "validator-config/common.hpp"
-#include "validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-config/common.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/validation-policy-simple-hierarchy.t.cpp b/tests/unit/security/v2/validation-policy-simple-hierarchy.t.cpp
index 8661ac5..96f936e 100644
--- a/tests/unit/security/v2/validation-policy-simple-hierarchy.t.cpp
+++ b/tests/unit/security/v2/validation-policy-simple-hierarchy.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validation-policy-simple-hierarchy.hpp"
+#include "ndn-cxx/security/v2/validation-policy-simple-hierarchy.hpp"
 
-#include "boost-test.hpp"
-#include "validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
 
 #include <boost/mpl/vector.hpp>
 
diff --git a/tests/unit/security/v2/validator-config/checker.t.cpp b/tests/unit/security/v2/validator-config/checker.t.cpp
index 2170908..a1138ea 100644
--- a/tests/unit/security/v2/validator-config/checker.t.cpp
+++ b/tests/unit/security/v2/validator-config/checker.t.cpp
@@ -19,15 +19,14 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validator-config/checker.hpp"
-#include "security/command-interest-signer.hpp"
-#include "security/v2/validation-policy.hpp"
-#include "security/v2/validation-state.hpp"
+#include "ndn-cxx/security/v2/validator-config/checker.hpp"
+#include "ndn-cxx/security/command-interest-signer.hpp"
+#include "ndn-cxx/security/v2/validation-policy.hpp"
+#include "ndn-cxx/security/v2/validation-state.hpp"
 
-#include "boost-test.hpp"
-#include "common.hpp"
-#include "identity-management-fixture.hpp"
-#include "../validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
+#include "tests/unit/security/v2/validator-config/common.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/validator-config/common.hpp b/tests/unit/security/v2/validator-config/common.hpp
index 231e8eb..1083eb5 100644
--- a/tests/unit/security/v2/validator-config/common.hpp
+++ b/tests/unit/security/v2/validator-config/common.hpp
@@ -22,6 +22,8 @@
 #ifndef NDN_TESTS_SECURITY_V2_VALIDATOR_CONFIG_COMMON_HPP
 #define NDN_TESTS_SECURITY_V2_VALIDATOR_CONFIG_COMMON_HPP
 
+#include "ndn-cxx/security/v2/validator-config/common.hpp"
+
 #include <boost/property_tree/info_parser.hpp>
 
 namespace ndn {
diff --git a/tests/unit/security/v2/validator-config/filter.t.cpp b/tests/unit/security/v2/validator-config/filter.t.cpp
index fbd1264..d02d745 100644
--- a/tests/unit/security/v2/validator-config/filter.t.cpp
+++ b/tests/unit/security/v2/validator-config/filter.t.cpp
@@ -19,12 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validator-config/filter.hpp"
-#include "security/command-interest-signer.hpp"
+#include "ndn-cxx/security/v2/validator-config/filter.hpp"
+#include "ndn-cxx/security/command-interest-signer.hpp"
 
-#include "boost-test.hpp"
-#include "common.hpp"
-#include "identity-management-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
+#include "tests/unit/security/v2/validator-config/common.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/v2/validator-config/name-relation.t.cpp b/tests/unit/security/v2/validator-config/name-relation.t.cpp
index 157b55a..ff23348 100644
--- a/tests/unit/security/v2/validator-config/name-relation.t.cpp
+++ b/tests/unit/security/v2/validator-config/name-relation.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validator-config/name-relation.hpp"
+#include "ndn-cxx/security/v2/validator-config/name-relation.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/lexical_cast.hpp>
 
diff --git a/tests/unit/security/v2/validator-config/rule.t.cpp b/tests/unit/security/v2/validator-config/rule.t.cpp
index bb78dfe..558ffb4 100644
--- a/tests/unit/security/v2/validator-config/rule.t.cpp
+++ b/tests/unit/security/v2/validator-config/rule.t.cpp
@@ -19,12 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validator-config/rule.hpp"
+#include "ndn-cxx/security/v2/validator-config/rule.hpp"
 
-#include "boost-test.hpp"
-#include "common.hpp"
-#include "identity-management-fixture.hpp"
-#include "../validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
+#include "tests/unit/security/v2/validator-config/common.hpp"
 
 #include <boost/mpl/vector_c.hpp>
 
diff --git a/tests/unit/security/v2/validator-fixture.hpp b/tests/unit/security/v2/validator-fixture.hpp
index c9a5763..5bd195e 100644
--- a/tests/unit/security/v2/validator-fixture.hpp
+++ b/tests/unit/security/v2/validator-fixture.hpp
@@ -19,14 +19,15 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_TESTS_SECURITY_V2_VALIDATOR_FIXTURE_HPP
-#define NDN_TESTS_SECURITY_V2_VALIDATOR_FIXTURE_HPP
+#ifndef NDN_TESTS_UNIT_SECURITY_V2_VALIDATOR_FIXTURE_HPP
+#define NDN_TESTS_UNIT_SECURITY_V2_VALIDATOR_FIXTURE_HPP
 
-#include "security/v2/validator.hpp"
-#include "security/v2/certificate-fetcher-from-network.hpp"
-#include "util/dummy-client-face.hpp"
+#include "ndn-cxx/security/v2/validator.hpp"
+#include "ndn-cxx/security/v2/certificate-fetcher-from-network.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
 
-#include "../../identity-management-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 #include <boost/lexical_cast.hpp>
 
@@ -180,4 +181,4 @@
 } // namespace security
 } // namespace ndn
 
-#endif // NDN_TESTS_SECURITY_V2_VALIDATOR_FIXTURE_HPP
+#endif // NDN_TESTS_UNIT_SECURITY_V2_VALIDATOR_FIXTURE_HPP
diff --git a/tests/unit/security/v2/validator.t.cpp b/tests/unit/security/v2/validator.t.cpp
index ff33984..934492f 100644
--- a/tests/unit/security/v2/validator.t.cpp
+++ b/tests/unit/security/v2/validator.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/v2/validator.hpp"
-#include "security/v2/validation-policy-simple-hierarchy.hpp"
+#include "ndn-cxx/security/v2/validator.hpp"
+#include "ndn-cxx/security/v2/validation-policy-simple-hierarchy.hpp"
 
-#include "boost-test.hpp"
-#include "validator-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/security/v2/validator-fixture.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/validator-config.t.cpp b/tests/unit/security/validator-config.t.cpp
index 3e49d24..06e66b0 100644
--- a/tests/unit/security/validator-config.t.cpp
+++ b/tests/unit/security/validator-config.t.cpp
@@ -19,14 +19,14 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/validator-config.hpp"
-#include "security/command-interest-signer.hpp"
-#include "security/v2/certificate-fetcher-offline.hpp"
-#include "util/dummy-client-face.hpp"
+#include "ndn-cxx/security/validator-config.hpp"
+#include "ndn-cxx/security/command-interest-signer.hpp"
+#include "ndn-cxx/security/v2/certificate-fetcher-offline.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
-#include "v2/validator-config/common.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
+#include "tests/unit/security/v2/validator-config/common.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/validator-null.t.cpp b/tests/unit/security/validator-null.t.cpp
index 69cef48..103f8f7 100644
--- a/tests/unit/security/validator-null.t.cpp
+++ b/tests/unit/security/validator-null.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/validator-null.hpp"
+#include "ndn-cxx/security/validator-null.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
+#include "tests/make-interest-data.hpp"
 
 namespace ndn {
 namespace security {
diff --git a/tests/unit/security/validity-period.t.cpp b/tests/unit/security/validity-period.t.cpp
index 14d2a0f..768e774 100644
--- a/tests/unit/security/validity-period.t.cpp
+++ b/tests/unit/security/validity-period.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/validity-period.hpp"
+#include "ndn-cxx/security/validity-period.hpp"
 
-#include "boost-test.hpp"
-#include "../unit-test-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/unit-test-time-fixture.hpp"
 
 #include <boost/lexical_cast.hpp>
 
diff --git a/tests/unit/security/verification-helpers.t.cpp b/tests/unit/security/verification-helpers.t.cpp
index d06580a..c7854a5 100644
--- a/tests/unit/security/verification-helpers.t.cpp
+++ b/tests/unit/security/verification-helpers.t.cpp
@@ -19,13 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "security/verification-helpers.hpp"
-#include "security/transform/public-key.hpp"
-// #include "util/string-helper.hpp"
+#include "ndn-cxx/security/verification-helpers.hpp"
+#include "ndn-cxx/security/transform/public-key.hpp"
+// #include "ndn-cxx/util/string-helper.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
+#include "tests/make-interest-data.hpp"
 
 #include <boost/mpl/list.hpp>
 
diff --git a/tests/unit/selectors.t.cpp b/tests/unit/selectors.t.cpp
index 202fd71..f64631c 100644
--- a/tests/unit/selectors.t.cpp
+++ b/tests/unit/selectors.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "selectors.hpp"
+#include "ndn-cxx/selectors.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/signature-info.t.cpp b/tests/unit/signature-info.t.cpp
index f5cf102..2702282 100644
--- a/tests/unit/signature-info.t.cpp
+++ b/tests/unit/signature-info.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "signature-info.hpp"
+#include "ndn-cxx/signature-info.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
diff --git a/tests/unit/signature.t.cpp b/tests/unit/signature.t.cpp
index e4d8eff..0650b03 100644
--- a/tests/unit/signature.t.cpp
+++ b/tests/unit/signature.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "signature.hpp"
-#include "security/digest-sha256.hpp"
-#include "security/signature-sha256-with-rsa.hpp"
+#include "ndn-cxx/signature.hpp"
+#include "ndn-cxx/security/digest-sha256.hpp"
+#include "ndn-cxx/security/signature-sha256-with-rsa.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/tag-host.t.cpp b/tests/unit/tag-host.t.cpp
index 432fc74..b9192ed 100644
--- a/tests/unit/tag-host.t.cpp
+++ b/tests/unit/tag-host.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "tag-host.hpp"
-#include "data.hpp"
-#include "interest.hpp"
+#include "ndn-cxx/tag-host.hpp"
+#include "ndn-cxx/data.hpp"
+#include "ndn-cxx/interest.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/mpl/vector.hpp>
 
diff --git a/tests/unit/tag.t.cpp b/tests/unit/tag.t.cpp
index 9e5a20d..0cbae22 100644
--- a/tests/unit/tag.t.cpp
+++ b/tests/unit/tag.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "tag.hpp"
+#include "ndn-cxx/tag.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/test-home-env-saver.hpp b/tests/unit/test-home-env-saver.hpp
index dc3d956..732c2d8 100644
--- a/tests/unit/test-home-env-saver.hpp
+++ b/tests/unit/test-home-env-saver.hpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_TESTS_UNIT_TESTS_TEST_HOME_ENV_SAVER_HPP
-#define NDN_TESTS_UNIT_TESTS_TEST_HOME_ENV_SAVER_HPP
+#ifndef NDN_TESTS_UNIT_TEST_HOME_ENV_SAVER_HPP
+#define NDN_TESTS_UNIT_TEST_HOME_ENV_SAVER_HPP
 
-#include <string>
 #include <cstdlib>
+#include <string>
 
 namespace ndn {
 namespace tests {
@@ -41,7 +41,7 @@
   ~TestHomeEnvSaver()
   {
     if (!m_HOME.empty())
-      setenv("TEST_HOME", m_HOME.c_str(), 1);
+      setenv("TEST_HOME", m_HOME.data(), 1);
     else
       unsetenv("TEST_HOME");
   }
@@ -53,4 +53,4 @@
 } // namespace tests
 } // namespace ndn
 
-#endif // NDN_TESTS_UNIT_TESTS_TEST_HOME_ENV_SAVER_HPP
+#endif // NDN_TESTS_UNIT_TEST_HOME_ENV_SAVER_HPP
diff --git a/tests/unit/transport/tcp-transport.t.cpp b/tests/unit/transport/tcp-transport.t.cpp
index 02bd9c3..991bf1c 100644
--- a/tests/unit/transport/tcp-transport.t.cpp
+++ b/tests/unit/transport/tcp-transport.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "transport/tcp-transport.hpp"
-#include "transport-fixture.hpp"
+#include "ndn-cxx/transport/tcp-transport.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/transport/transport-fixture.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/transport/transport-fixture.hpp b/tests/unit/transport/transport-fixture.hpp
index d25bb94..6c84fd1 100644
--- a/tests/unit/transport/transport-fixture.hpp
+++ b/tests/unit/transport/transport-fixture.hpp
@@ -19,11 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/config-file.hpp"
-#include "../test-home-env-saver.hpp"
+#ifndef NDN_TESTS_UNIT_TRANSPORT_TRANSPORT_FIXTURE_HPP
+#define NDN_TESTS_UNIT_TRANSPORT_TRANSPORT_FIXTURE_HPP
 
-#ifndef NDN_TESTS_UNIT_TESTS_TRANSPORT_FIXTURE_HPP
-#define NDN_TESTS_UNIT_TESTS_TRANSPORT_FIXTURE_HPP
+#include "ndn-cxx/util/config-file.hpp"
+
+#include "tests/unit/test-home-env-saver.hpp"
 
 namespace ndn {
 namespace tests {
@@ -45,4 +46,4 @@
 } // namespace tests
 } // namespace ndn
 
-#endif // NDN_TESTS_UNIT_TESTS_TRANSPORT_FIXTURE_HPP
+#endif // NDN_TESTS_UNIT_TRANSPORT_TRANSPORT_FIXTURE_HPP
diff --git a/tests/unit/transport/unix-transport.t.cpp b/tests/unit/transport/unix-transport.t.cpp
index f60f9d7..41c46b9 100644
--- a/tests/unit/transport/unix-transport.t.cpp
+++ b/tests/unit/transport/unix-transport.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "transport/unix-transport.hpp"
-#include "transport-fixture.hpp"
+#include "ndn-cxx/transport/unix-transport.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/transport/transport-fixture.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/unit-test-time-fixture.hpp b/tests/unit/unit-test-time-fixture.hpp
index b177145..fcbaa77 100644
--- a/tests/unit/unit-test-time-fixture.hpp
+++ b/tests/unit/unit-test-time-fixture.hpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_TESTS_UNIT_TESTS_UNIT_TEST_TIME_FIXTURE_HPP
-#define NDN_TESTS_UNIT_TESTS_UNIT_TEST_TIME_FIXTURE_HPP
+#ifndef NDN_TESTS_UNIT_UNIT_TEST_TIME_FIXTURE_HPP
+#define NDN_TESTS_UNIT_UNIT_TEST_TIME_FIXTURE_HPP
 
-#include "util/time-unit-test-clock.hpp"
+#include "ndn-cxx/util/time-unit-test-clock.hpp"
 
 #include <boost/asio/io_service.hpp>
 
@@ -103,4 +103,4 @@
 } // namespace tests
 } // namespace ndn
 
-#endif // NDN_TESTS_UNIT_TESTS_UNIT_TEST_TIME_FIXTURE_HPP
+#endif // NDN_TESTS_UNIT_UNIT_TEST_TIME_FIXTURE_HPP
diff --git a/tests/unit/util/backports.t.cpp b/tests/unit/util/backports.t.cpp
index 7a124e0..6ff2c4c 100644
--- a/tests/unit/util/backports.t.cpp
+++ b/tests/unit/util/backports.t.cpp
@@ -19,10 +19,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/backports.hpp"
+#include "ndn-cxx/util/backports.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+
 #include <numeric>
+#include <boost/test/output_test_stream.hpp>
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/util/concepts.t.cpp b/tests/unit/util/concepts.t.cpp
index 3141ec5..997f86a 100644
--- a/tests/unit/util/concepts.t.cpp
+++ b/tests/unit/util/concepts.t.cpp
@@ -25,7 +25,7 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/concepts.hpp"
+#include "ndn-cxx/util/concepts.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/util/config-file.t.cpp b/tests/unit/util/config-file.t.cpp
index 658018b..78b80be 100644
--- a/tests/unit/util/config-file.t.cpp
+++ b/tests/unit/util/config-file.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/config-file.hpp"
-#include "../test-home-env-saver.hpp"
+#include "ndn-cxx/util/config-file.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/test-home-env-saver.hpp"
 
 #include <cstdlib>
 
diff --git a/tests/unit/util/dummy-client-face.t.cpp b/tests/unit/util/dummy-client-face.t.cpp
index aed8cd6..acd6297 100644
--- a/tests/unit/util/dummy-client-face.t.cpp
+++ b/tests/unit/util/dummy-client-face.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/dummy-client-face.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
 
-#include "boost-test.hpp"
-#include "../identity-management-time-fixture.hpp"
-#include "make-interest-data.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 namespace ndn {
 namespace util {
diff --git a/tests/unit/util/indented-stream.t.cpp b/tests/unit/util/indented-stream.t.cpp
index e450c4a..b3edaf8 100644
--- a/tests/unit/util/indented-stream.t.cpp
+++ b/tests/unit/util/indented-stream.t.cpp
@@ -19,9 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/indented-stream.hpp"
+#include "ndn-cxx/util/indented-stream.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+
+#include <boost/test/output_test_stream.hpp>
 
 namespace ndn {
 namespace util {
diff --git a/tests/unit/util/io.t.cpp b/tests/unit/util/io.t.cpp
index 1b46bca..052e149 100644
--- a/tests/unit/util/io.t.cpp
+++ b/tests/unit/util/io.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/io.hpp"
+#include "ndn-cxx/util/io.hpp"
 
-#include "boost-test.hpp"
-#include "identity-management-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/identity-management-fixture.hpp"
 
 #include <boost/filesystem.hpp>
 
diff --git a/tests/unit/util/log-filter-module.cpp b/tests/unit/util/log-filter-module.cpp
index cf3b628..ab55728 100644
--- a/tests/unit/util/log-filter-module.cpp
+++ b/tests/unit/util/log-filter-module.cpp
@@ -19,7 +19,7 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/logger.hpp"
+#include "ndn-cxx/util/logger.hpp"
 
 NDN_LOG_INIT(fm.FilterModule);
 
diff --git a/tests/unit/util/log-module1.cpp b/tests/unit/util/log-module1.cpp
index 2099a75..4f71102 100644
--- a/tests/unit/util/log-module1.cpp
+++ b/tests/unit/util/log-module1.cpp
@@ -19,7 +19,7 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/logger.hpp"
+#include "ndn-cxx/util/logger.hpp"
 
 NDN_LOG_INIT(Module1);
 
diff --git a/tests/unit/util/log-module2.cpp b/tests/unit/util/log-module2.cpp
index 273165d..994e142 100644
--- a/tests/unit/util/log-module2.cpp
+++ b/tests/unit/util/log-module2.cpp
@@ -19,7 +19,7 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/logger.hpp"
+#include "ndn-cxx/util/logger.hpp"
 
 NDN_LOG_INIT(Module2);
 
diff --git a/tests/unit/util/logger.t.cpp b/tests/unit/util/logger.t.cpp
index cc48425..ad742bb 100644
--- a/tests/unit/util/logger.t.cpp
+++ b/tests/unit/util/logger.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/logger.hpp"
-#include "util/logging.hpp"
+#include "ndn-cxx/util/logger.hpp"
+#include "ndn-cxx/util/logging.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace util {
diff --git a/tests/unit/util/logging.t.cpp b/tests/unit/util/logging.t.cpp
index b431a05..fd867d2 100644
--- a/tests/unit/util/logging.t.cpp
+++ b/tests/unit/util/logging.t.cpp
@@ -19,11 +19,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/logging.hpp"
-#include "util/logger.hpp"
+#include "ndn-cxx/util/logging.hpp"
+#include "ndn-cxx/util/logger.hpp"
 
-#include "../unit-test-time-fixture.hpp"
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/unit-test-time-fixture.hpp"
+
+#include <boost/test/output_test_stream.hpp>
 
 namespace ndn {
 namespace util {
diff --git a/tests/unit/util/notification-stream.t.cpp b/tests/unit/util/notification-stream.t.cpp
index 3721091..ada10c5 100644
--- a/tests/unit/util/notification-stream.t.cpp
+++ b/tests/unit/util/notification-stream.t.cpp
@@ -25,12 +25,12 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/notification-stream.hpp"
-#include "util/dummy-client-face.hpp"
+#include "ndn-cxx/util/notification-stream.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
 
-#include "boost-test.hpp"
-#include "simple-notification.hpp"
-#include "../identity-management-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
+#include "tests/unit/util/simple-notification.hpp"
 
 namespace ndn {
 namespace util {
diff --git a/tests/unit/util/notification-subscriber.t.cpp b/tests/unit/util/notification-subscriber.t.cpp
index 886e651..820532d 100644
--- a/tests/unit/util/notification-subscriber.t.cpp
+++ b/tests/unit/util/notification-subscriber.t.cpp
@@ -25,13 +25,13 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/notification-subscriber.hpp"
-#include "util/dummy-client-face.hpp"
+#include "ndn-cxx/util/notification-subscriber.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
 
-#include "boost-test.hpp"
-#include "make-interest-data.hpp"
-#include "simple-notification.hpp"
-#include "../identity-management-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
+#include "tests/unit/util/simple-notification.hpp"
 
 namespace ndn {
 namespace util {
diff --git a/tests/unit/util/placeholders.t.cpp b/tests/unit/util/placeholders.t.cpp
index 0dc8c70..16dece5 100644
--- a/tests/unit/util/placeholders.t.cpp
+++ b/tests/unit/util/placeholders.t.cpp
@@ -22,11 +22,11 @@
 // Bug 2109 test case
 
 // interest.hpp includes common.hpp; common.hpp shouldn't be used from external program
-#include "interest.hpp"
+#include "ndn-cxx/interest.hpp"
 
 // util/config-file.hpp indirectly includes <boost/property_tree/ptree.hpp>
 // which in turn imports Boost placeholders
-#include "util/config-file.hpp"
+#include "ndn-cxx/util/config-file.hpp"
 
 // It's intentional to write "using namespace",
 // to simulate an external program linked against ndn-cxx.
diff --git a/tests/unit/util/placeholders2.t.cpp b/tests/unit/util/placeholders2.t.cpp
index 187daa9..d8b8c93 100644
--- a/tests/unit/util/placeholders2.t.cpp
+++ b/tests/unit/util/placeholders2.t.cpp
@@ -22,7 +22,7 @@
 // Bug 2109 test case
 
 // interest.hpp includes common.hpp; common.hpp shouldn't be used from external program
-#include "interest.hpp"
+#include "ndn-cxx/interest.hpp"
 
 #include <boost/bind.hpp>
 
diff --git a/tests/unit/util/random.t.cpp b/tests/unit/util/random.t.cpp
index e830f7b..ee55f9e 100644
--- a/tests/unit/util/random.t.cpp
+++ b/tests/unit/util/random.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/random.hpp"
-#include "security/detail/openssl.hpp"
+#include "ndn-cxx/util/random.hpp"
+#include "ndn-cxx/security/detail/openssl.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/mpl/vector.hpp>
 #include <cmath>
diff --git a/tests/unit/util/regex.t.cpp b/tests/unit/util/regex.t.cpp
index 777defb..2804cc4 100644
--- a/tests/unit/util/regex.t.cpp
+++ b/tests/unit/util/regex.t.cpp
@@ -21,16 +21,16 @@
  * @author Yingdi Yu <http://irl.cs.ucla.edu/~yingdi/>
  */
 
-#include "util/regex.hpp"
-#include "util/regex/regex-backref-manager.hpp"
-#include "util/regex/regex-backref-matcher.hpp"
-#include "util/regex/regex-component-matcher.hpp"
-#include "util/regex/regex-component-set-matcher.hpp"
-#include "util/regex/regex-pattern-list-matcher.hpp"
-#include "util/regex/regex-repeat-matcher.hpp"
-#include "util/regex/regex-top-matcher.hpp"
+#include "ndn-cxx/util/regex.hpp"
+#include "ndn-cxx/util/regex/regex-backref-manager.hpp"
+#include "ndn-cxx/util/regex/regex-backref-matcher.hpp"
+#include "ndn-cxx/util/regex/regex-component-matcher.hpp"
+#include "ndn-cxx/util/regex/regex-component-set-matcher.hpp"
+#include "ndn-cxx/util/regex/regex-pattern-list-matcher.hpp"
+#include "ndn-cxx/util/regex/regex-repeat-matcher.hpp"
+#include "ndn-cxx/util/regex/regex-top-matcher.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace tests {
diff --git a/tests/unit/util/scheduler.t.cpp b/tests/unit/util/scheduler.t.cpp
index 05380f3..5cd9f89 100644
--- a/tests/unit/util/scheduler.t.cpp
+++ b/tests/unit/util/scheduler.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/scheduler.hpp"
-#include "util/scheduler-scoped-event-id.hpp"
+#include "ndn-cxx/util/scheduler.hpp"
+#include "ndn-cxx/util/scheduler-scoped-event-id.hpp"
 
-#include "boost-test.hpp"
-#include "../unit-test-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/unit-test-time-fixture.hpp"
 
 #include <boost/lexical_cast.hpp>
 
diff --git a/tests/unit/util/segment-fetcher.t.cpp b/tests/unit/util/segment-fetcher.t.cpp
index d52fa08..22aa0b7 100644
--- a/tests/unit/util/segment-fetcher.t.cpp
+++ b/tests/unit/util/segment-fetcher.t.cpp
@@ -19,16 +19,16 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/segment-fetcher.hpp"
+#include "ndn-cxx/util/segment-fetcher.hpp"
 
-#include "data.hpp"
-#include "lp/nack.hpp"
-#include "util/dummy-client-face.hpp"
+#include "ndn-cxx/data.hpp"
+#include "ndn-cxx/lp/nack.hpp"
+#include "ndn-cxx/util/dummy-client-face.hpp"
 
-#include "boost-test.hpp"
-#include "dummy-validator.hpp"
-#include "make-interest-data.hpp"
-#include "../identity-management-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/make-interest-data.hpp"
+#include "tests/unit/dummy-validator.hpp"
+#include "tests/unit/identity-management-time-fixture.hpp"
 
 #include <set>
 
diff --git a/tests/unit/util/sha256.t.cpp b/tests/unit/util/sha256.t.cpp
index 094f5f6..f6e0ec3 100644
--- a/tests/unit/util/sha256.t.cpp
+++ b/tests/unit/util/sha256.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/sha256.hpp"
-#include "util/string-helper.hpp"
+#include "ndn-cxx/util/sha256.hpp"
+#include "ndn-cxx/util/string-helper.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/endian/conversion.hpp>
 #include <sstream>
diff --git a/tests/unit/util/signal.t.cpp b/tests/unit/util/signal.t.cpp
index c319f64..de22534 100644
--- a/tests/unit/util/signal.t.cpp
+++ b/tests/unit/util/signal.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/signal.hpp"
+#include "ndn-cxx/util/signal.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 namespace ndn {
 namespace util {
diff --git a/tests/unit/util/simple-notification.hpp b/tests/unit/util/simple-notification.hpp
index 9e0d4ed..ac81f5f 100644
--- a/tests/unit/util/simple-notification.hpp
+++ b/tests/unit/util/simple-notification.hpp
@@ -25,12 +25,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#ifndef NDN_TESTS_UNIT_TESTS_UTIL_SIMPLE_NOTIFICATION_HPP
-#define NDN_TESTS_UNIT_TESTS_UTIL_SIMPLE_NOTIFICATION_HPP
+#ifndef NDN_TESTS_UNIT_UTIL_SIMPLE_NOTIFICATION_HPP
+#define NDN_TESTS_UNIT_UTIL_SIMPLE_NOTIFICATION_HPP
 
-#include "common.hpp"
-
-#include "encoding/encoding-buffer.hpp"
+#include "ndn-cxx/encoding/encoding-buffer.hpp"
 
 namespace ndn {
 namespace util {
@@ -93,4 +91,4 @@
 } // namespace util
 } // namespace ndn
 
-#endif // NDN_TESTS_UNIT_TESTS_UTIL_SIMPLE_NOTIFICATION_HPP
+#endif // NDN_TESTS_UNIT_UTIL_SIMPLE_NOTIFICATION_HPP
diff --git a/tests/unit/util/sqlite3-statement.t.cpp b/tests/unit/util/sqlite3-statement.t.cpp
index 13171c5..c5ee8b6 100644
--- a/tests/unit/util/sqlite3-statement.t.cpp
+++ b/tests/unit/util/sqlite3-statement.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/sqlite3-statement.hpp"
+#include "ndn-cxx/util/sqlite3-statement.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <boost/filesystem.hpp>
 #include <cstring>
diff --git a/tests/unit/util/string-helper.t.cpp b/tests/unit/util/string-helper.t.cpp
index 0456a35..ae89ba7 100644
--- a/tests/unit/util/string-helper.t.cpp
+++ b/tests/unit/util/string-helper.t.cpp
@@ -19,13 +19,14 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/string-helper.hpp"
-#include "encoding/buffer.hpp"
+#include "ndn-cxx/util/string-helper.hpp"
+#include "ndn-cxx/encoding/buffer.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <cctype>
 #include <cstring>
+#include <boost/test/output_test_stream.hpp>
 
 namespace ndn {
 namespace util {
diff --git a/tests/unit/util/time-unit-test-clock.t.cpp b/tests/unit/util/time-unit-test-clock.t.cpp
index dd8346a..c47bdda 100644
--- a/tests/unit/util/time-unit-test-clock.t.cpp
+++ b/tests/unit/util/time-unit-test-clock.t.cpp
@@ -19,11 +19,11 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/time-unit-test-clock.hpp"
-#include "util/scheduler.hpp"
+#include "ndn-cxx/util/time-unit-test-clock.hpp"
+#include "ndn-cxx/util/scheduler.hpp"
 
-#include "boost-test.hpp"
-#include "../unit-test-time-fixture.hpp"
+#include "tests/boost-test.hpp"
+#include "tests/unit/unit-test-time-fixture.hpp"
 
 #include <boost/lexical_cast.hpp>
 #include <thread>
diff --git a/tests/unit/util/time.t.cpp b/tests/unit/util/time.t.cpp
index a60e2d9..6ed55d5 100644
--- a/tests/unit/util/time.t.cpp
+++ b/tests/unit/util/time.t.cpp
@@ -19,9 +19,9 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "util/time.hpp"
+#include "ndn-cxx/util/time.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <thread>
 
diff --git a/tests/unit/version.t.cpp b/tests/unit/version.t.cpp
index 7fdb50d..61a701c 100644
--- a/tests/unit/version.t.cpp
+++ b/tests/unit/version.t.cpp
@@ -19,10 +19,10 @@
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
  */
 
-#include "version.hpp"
-#include "common.hpp"
+#include "ndn-cxx/version.hpp"
+#include "ndn-cxx/common.hpp"
 
-#include "boost-test.hpp"
+#include "tests/boost-test.hpp"
 
 #include <stdio.h>
 
diff --git a/tests/unit/wscript b/tests/unit/wscript
new file mode 100644
index 0000000..bc7ce0f
--- /dev/null
+++ b/tests/unit/wscript
@@ -0,0 +1,29 @@
+# -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
+
+top = '../..'
+
+def build(bld):
+    configPath = 'UNIT_TEST_CONFIG_PATH="%s"' % bld.bldnode.make_node('tmp-files')
+
+    # unit test objects
+    srcFiles = bld.path.ant_glob('**/*.cpp', excl=['main.cpp',
+                                                   '**/*-osx.t.cpp',
+                                                   '**/*-sqlite3.t.cpp'])
+
+    if bld.env['HAVE_OSX_FRAMEWORKS']:
+        srcFiles += bld.path.ant_glob('**/*-osx.t.cpp')
+
+    # In case we want to make it optional later
+    srcFiles += bld.path.ant_glob('**/*-sqlite3.t.cpp')
+
+    bld.objects(target='unit-tests-objects',
+                source=srcFiles,
+                use='tests-common',
+                defines=[configPath])
+
+    # unit test binary
+    bld.program(target='../../unit-tests',
+                name='unit-tests',
+                source=['main.cpp'],
+                use='unit-tests-objects',
+                install_path=None)