Index: .gitignore
===================================================================
--- .gitignore	(revision 471e313b8aeca4c91e7934938a57766f90887aa7)
+++ .gitignore	(revision edbad13a7b6100d8ba5b94ae316541f01389e731)
@@ -83,4 +83,5 @@
 uspace/app/bnchmark/bnchmark
 uspace/app/corecfg/corecfg
+uspace/app/cpptest/cpptest
 uspace/app/date/date
 uspace/app/devctl/devctl
@@ -159,4 +160,5 @@
 uspace/dist/app/bnchmark
 uspace/dist/app/corecfg
+uspace/dist/app/cpptest
 uspace/dist/app/date
 uspace/dist/app/devctl
Index: boot/Makefile.common
===================================================================
--- boot/Makefile.common	(revision 471e313b8aeca4c91e7934938a57766f90887aa7)
+++ boot/Makefile.common	(revision edbad13a7b6100d8ba5b94ae316541f01389e731)
@@ -177,4 +177,5 @@
 	$(USPACE_PATH)/app/bnchmark/bnchmark \
 	$(USPACE_PATH)/app/corecfg/corecfg \
+	$(USPACE_PATH)/app/cpptest/cpptest \
 	$(USPACE_PATH)/app/devctl/devctl \
 	$(USPACE_PATH)/app/dnscfg/dnscfg \
Index: uspace/Makefile
===================================================================
--- uspace/Makefile	(revision 471e313b8aeca4c91e7934938a57766f90887aa7)
+++ uspace/Makefile	(revision edbad13a7b6100d8ba5b94ae316541f01389e731)
@@ -40,4 +40,5 @@
 	app/bnchmark \
 	app/corecfg \
+	app/cpptest \
 	app/devctl \
 	app/dnscfg \
Index: uspace/app/cpptest/Makefile
===================================================================
--- uspace/app/cpptest/Makefile	(revision edbad13a7b6100d8ba5b94ae316541f01389e731)
+++ uspace/app/cpptest/Makefile	(revision edbad13a7b6100d8ba5b94ae316541f01389e731)
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2017 Jaroslav Jindrak
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+# - Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+# - The name of the author may not be used to endorse or promote products
+#   derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+USPACE_PREFIX = ../..
+
+# TODO: Force linker to link libcpp by default when linking cpp apps?
+LIBS = $(USPACE_PREFIX)/lib/cpp/libcpp.a
+
+BINARY = cpptest
+
+SOURCES = \
+	main.cpp
+
+
+include $(USPACE_PREFIX)/Makefile.common
Index: uspace/app/cpptest/main.cpp
===================================================================
--- uspace/app/cpptest/main.cpp	(revision edbad13a7b6100d8ba5b94ae316541f01389e731)
+++ uspace/app/cpptest/main.cpp	(revision edbad13a7b6100d8ba5b94ae316541f01389e731)
@@ -0,0 +1,12 @@
+#include <internal/test/tests.hpp>
+
+int main()
+{
+    using namespace std::test;
+
+    test_set tests{};
+    tests.add<array_test>();
+    tests.add<string_test>();
+    tests.add<vector_test>();
+    return tests.run() ? 0 : 1;
+}
