diff --git a/tests/unit-tests/empty.t.cpp b/tests/unit-tests/empty.t.cpp
new file mode 100644
index 0000000..4c56570
--- /dev/null
+++ b/tests/unit-tests/empty.t.cpp
@@ -0,0 +1,36 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (c) 2011-2016  Regents of the University of California.
+ *
+ * This file is part of ndnSIM. See AUTHORS for complete list of ndnSIM authors and
+ * contributors.
+ *
+ * ndnSIM is free software: you can redistribute it and/or modify it under the terms
+ * of the GNU General Public License as published by the Free Software Foundation,
+ * either version 3 of the License, or (at your option) any later version.
+ *
+ * ndnSIM 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * ndnSIM, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ **/
+
+#include "boost-test.hpp"
+
+namespace ns3 {
+namespace ndn {
+namespace tests {
+
+BOOST_AUTO_TEST_SUITE(Empty)
+
+BOOST_AUTO_TEST_CASE(Nothing)
+{
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
+} // namespace tests
+} // namespace ndn
+} // namespace ns3
diff --git a/tests/wscript b/tests/wscript
index 26d020b..5bd65f4 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -6,14 +6,14 @@
 
     # Unit tests
     tests = bld.create_ns3_program('ndnSIM-unit-tests', all_modules)
-    tests.source = bld.path.ant_glob(['main.cpp', 'unit-tests/**/*.cpp'])
+    tests.source = bld.path.ant_glob(['main.cpp', 'unit-tests/**/*.cpp'],
+                                     excl=['unit-tests/*/**/*.cpp'])
     tests.includes = ['#', '.', '../NFD/', "../NFD/daemon", "../NFD/core", "../helper", "../model", "../apps", "../utils", "../examples"]
     tests.defines = 'TEST_CONFIG_PATH=\"%s/conf-test\"' %(bld.bldnode)
 
-    # Other tests
-    for i in bld.path.ant_glob(['other/*.cpp']):
-        name = str(i)[:-len(".cpp")]
-        obj = bld.create_ns3_program(name, all_modules)
-        obj.source = [i] + bld.path.ant_glob(['%s/**/*.cpp' % name])
-        obj.install_path = None
-
+    # # Other tests
+    # for i in bld.path.ant_glob(['other/*.cpp']):
+    #     name = str(i)[:-len(".cpp")]
+    #     obj = bld.create_ns3_program(name, all_modules)
+    #     obj.source = [i] + bld.path.ant_glob(['%s/**/*.cpp' % name])
+    #     obj.install_path = None
