diff --git a/CMakeLists.txt b/CMakeLists.txt
index e2b970652529fcba4ae97d55993cb5a1b9b668b3..155ec4b781327d92531ec451701bccb8e02088bf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,6 +44,7 @@ set_source_files_properties(${COMMON_HEADER} PROPERTIES HEADER_FILE_ONLY 1)
 
 add_subdirectory(dune)
 add_subdirectory(doc)
+add_subdirectory(test)
 
 # enable headercheck
 add_definitions("-DENABLE_HEADERCHECK=1")
diff --git a/dune/xt/CMakeLists.txt b/dune/xt/CMakeLists.txt
index 62b6c6923b38d98a4f401a80e5f33d0fdc06c4e0..1f48df79e58ddcfd3e78192cf171655e7f0ef538 100644
--- a/dune/xt/CMakeLists.txt
+++ b/dune/xt/CMakeLists.txt
@@ -5,6 +5,4 @@
 # Authors:
 #   Felix Schindler (2016)
 
-add_subdirectory(test EXCLUDE_FROM_ALL)
-
 include_directories(SYSTEM ${DUNE_XT_COMMON_TEST_DIR}/gtest)
diff --git a/dune/xt/test/grid_provider.hh b/dune/xt/grid/test/provider.hh
similarity index 99%
rename from dune/xt/test/grid_provider.hh
rename to dune/xt/grid/test/provider.hh
index 1740a5f14f5667bd3fa6307bbea474dd058243f8..7c2e4fcd1128457a955d69afb480677cab3af1e1 100644
--- a/dune/xt/test/grid_provider.hh
+++ b/dune/xt/grid/test/provider.hh
@@ -18,7 +18,7 @@
 #include <dune/xt/common/type_utils.hh>
 #include <dune/xt/grid/provider/interface.hh>
 
-#include <dune/xt/test/gtest/gtest.h>
+#include <dune/xt/common/test/gtest/gtest.h>
 
 template <class GridProviderType>
 class ConstGridProviderBase : public testing::Test
diff --git a/dune/xt/test/CMakeLists.txt b/dune/xt/test/CMakeLists.txt
deleted file mode 100644
index 0d9fc5c94f6b302c5f310affff56d980e020809b..0000000000000000000000000000000000000000
--- a/dune/xt/test/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file is part of the dune-xt-grid project:
-#   https://github.com/dune-community/dune-xt-grid
-# The copyright lies with the authors of this file (see below).
-# License: BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause)
-# Authors:
-#   Felix Schindler (2016)
-
-enable_testing()
-
-BEGIN_TESTCASES()
- 
-END_TESTCASES()
diff --git a/dune/xt/test/.gitignore b/test/.gitignore
similarity index 100%
rename from dune/xt/test/.gitignore
rename to test/.gitignore
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b0ea3ca72094b5508aca7969790bb8ff162576b
--- /dev/null
+++ b/test/CMakeLists.txt
@@ -0,0 +1,23 @@
+# This file is part of the dune-xt-grid project:
+#   https://github.com/dune-community/dune-xt-grid
+# The copyright lies with the authors of this file (see below).
+# License: BSD 2-Clause License (http://opensource.org/licenses/BSD-2-Clause)
+# Authors:
+#   Felix Schindler (2016)
+
+enable_testing()
+
+# link grid files
+foreach (filename
+         "gmsh_2d_simplices.msh"
+         "dgf_1d_interval.dgf"
+         "dgf_2d_interval.dgf"
+         "dgf_3d_interval.dgf"
+         "dgf_4d_interval.dgf"
+        )
+  execute_process(COMMAND ln -s "${CMAKE_CURRENT_SOURCE_DIR}/${filename}" "${CMAKE_CURRENT_BINARY_DIR}/${filename}")
+endforeach (filename)
+
+BEGIN_TESTCASES()
+ 
+END_TESTCASES()
diff --git a/dune/xt/test/grids.mini b/test/grids.mini
similarity index 100%
rename from dune/xt/test/grids.mini
rename to test/grids.mini
diff --git a/dune/xt/test/grid_information.cc b/test/information.cc
similarity index 98%
rename from dune/xt/test/grid_information.cc
rename to test/information.cc
index 674828fb8b373c829ecc7032036ec8d6443fa427..ee9227ac9d07e042735c00d2d4533128940b6295 100644
--- a/dune/xt/test/grid_information.cc
+++ b/test/information.cc
@@ -7,7 +7,7 @@
 //   Rene Milk       (2012 - 2015)
 //   Tobias Leibner  (2014 - 2015)
 
-#include <dune/xt/test/main.hxx>
+#include <dune/xt/common/test/main.hxx>
 
 #include <dune/common/shared_ptr.hh>
 
diff --git a/dune/xt/test/grid_information.mini b/test/information.mini
similarity index 78%
rename from dune/xt/test/grid_information.mini
rename to test/information.mini
index 926940d4218c846ba7fc7e621460183ad398686a..50954a37905b670beac7bceb7bba96aa43ba3bf4 100644
--- a/dune/xt/test/grid_information.mini
+++ b/test/information.mini
@@ -1,4 +1,4 @@
-__name = grid_information
+__name = information
 __exec_suffix = {dimDomain}d
 
 dimDomain = 1, 2, 3 | expand
diff --git a/dune/xt/test/grid_output_pgf.cc b/test/output_pgf.cc
similarity index 96%
rename from dune/xt/test/grid_output_pgf.cc
rename to test/output_pgf.cc
index 16bee3874bf1fed2fb7a29b20b7e672e0cc8afbc..e5f56d918e1ee51bc17f93d2c89586ba9235756f 100644
--- a/dune/xt/test/grid_output_pgf.cc
+++ b/test/output_pgf.cc
@@ -7,7 +7,7 @@
 //   Rene Milk       (2012 - 2015)
 //   Tobias Leibner  (2014)
 
-#include <dune/xt/test/main.hxx>
+#include <dune/xt/common/test/main.hxx>
 
 #include <fstream>
 
diff --git a/dune/xt/test/grid_periodicview.cc b/test/periodic_gridview.cc
similarity index 99%
rename from dune/xt/test/grid_periodicview.cc
rename to test/periodic_gridview.cc
index bc3685c4fb1972325a054b59133a1423ba545e92..20f181c540e4630835ed39c08c40efdba07947a5 100644
--- a/dune/xt/test/grid_periodicview.cc
+++ b/test/periodic_gridview.cc
@@ -7,7 +7,7 @@
 //   Rene Milk       (2015)
 //   Tobias Leibner  (2015)
 
-#include <dune/xt/test/main.hxx>
+#include <dune/xt/common/test/main.hxx>
 
 #if HAVE_ALUGRID
 #include <dune/grid/alugrid.hh>
@@ -18,7 +18,7 @@
 #include <dune/xt/common/string.hh>
 #include <dune/xt/common/type_utils.hh>
 
-#include <dune/xt/grid/periodicview.hh>
+#include <dune/xt/grid/periodic_gridview.hh>
 #include <dune/xt/grid/provider/cube.hh>
 #include <dune/xt/grid/provider/interface.hh>
 
diff --git a/dune/xt/test/grid_periodicview.mini b/test/periodic_gridview.mini
similarity index 95%
rename from dune/xt/test/grid_periodicview.mini
rename to test/periodic_gridview.mini
index 13307a01b405f2b5c94038a8d8a6b8e874d0901a..4ced41daa5f99c25c0b7611d6caef353c285f1fc 100644
--- a/dune/xt/test/grid_periodicview.mini
+++ b/test/periodic_gridview.mini
@@ -1,4 +1,4 @@
-__name = grid_periodicview
+__name = periodic_gridview
 __exec_suffix = yasp_{dimDomain}d, alu_{__local.geometry}_{__local.refinement}_{dimDomain}d | expand grid
 
 include grids.mini
diff --git a/dune/xt/test/grid_provider.cc b/test/provider.cc
similarity index 91%
rename from dune/xt/test/grid_provider.cc
rename to test/provider.cc
index db899711a1c60b35145690bef16490b68c9165a5..7228a7ea35b1855dafb0d0a10375238346369572 100644
--- a/dune/xt/test/grid_provider.cc
+++ b/test/provider.cc
@@ -7,13 +7,13 @@
 //   Rene Milk       (2012 - 2015)
 //   Tobias Leibner  (2014 - 2015)
 
-#include <dune/xt/test/main.hxx>
+#include <dune/xt/common/test/main.hxx>
 
 #include <dune/xt/grid/provider/cube.hh>
 #include <dune/xt/grid/provider/dgf.hh>
 #include <dune/xt/grid/provider/gmsh.hh>
 
-#include "grid_provider.hh"
+#include <dune/xt/grid/test/provider.hh>
 
 
 struct TestGridProvider : public GridProviderBase<Dune::XT::Grid::Providers::TESTGRIDPROVIDERTYPE<TESTGRIDTYPE>>
diff --git a/dune/xt/test/grid_provider.mini b/test/provider.mini
similarity index 94%
rename from dune/xt/test/grid_provider.mini
rename to test/provider.mini
index fe3d2cbba391bd494422b5444d724d385304980f..0aecb6f5c01f4fc147fc39ed24c5898c1c5da442 100644
--- a/dune/xt/test/grid_provider.mini
+++ b/test/provider.mini
@@ -1,4 +1,4 @@
-__name = grid_provider
+__name = provider
 __exec_suffix = {gridprovider}_yasp_{dimDomain}d, {gridprovider}_alu_{__local.geometry}_{__local.refinement}_{dimDomain}d | expand grid
 
 include grids.mini
diff --git a/dune/xt/test/grid_walker.cc b/test/walker.cc
similarity index 98%
rename from dune/xt/test/grid_walker.cc
rename to test/walker.cc
index f77497091702165301c8fbc9a471e191e4321102..7bed55f8a42d5110511663054acabbf2980f8fb3 100644
--- a/dune/xt/test/grid_walker.cc
+++ b/test/walker.cc
@@ -7,7 +7,7 @@
 //   Rene Milk       (2014 - 2015)
 //   Tobias Leibner  (2015)
 
-#include <dune/xt/test/main.hxx>
+#include <dune/xt/common/test/main.hxx>
 
 #if DUNE_VERSION_NEWER(DUNE_COMMON, 3, 9) && HAVE_TBB // EXADUNE
 #include <dune/grid/utility/partitioning/seedlist.hh>