diff --git a/dune/common/test/CMakeLists.txt b/dune/common/test/CMakeLists.txt
index 8b80a35ee3ebd4687b33f64b862399cc433a30c9..1c88cd492cb6d3f3c050b34eeb564efa7759acea 100644
--- a/dune/common/test/CMakeLists.txt
+++ b/dune/common/test/CMakeLists.txt
@@ -1,7 +1,8 @@
 # Install some test headers, because they get used by tests in other modules
 install(FILES iteratortest.hh DESTINATION include/dune/common/test)
 
-set(TESTPROGS
+# tests that should build and run successfully
+set(TESTS
     arraylisttest
     arraytest
     bigunsignedinttest
@@ -38,20 +39,33 @@ set(TESTPROGS
     testfassign2
     testfassign3
     testfassign4
-    testfassign_fail1
-    testfassign_fail2
-    testfassign_fail3
-    testfassign_fail4
-    testfassign_fail5
-    testfassign_fail6
     testfconstruct
     tuplestest_config
     tuplestest_dune
-    tuplestest_std
     tuplestest_tr1
     tupleutilitytest
     utilitytest)
 
+#test that should build but fail to run successfully
+set(FAILTESTS
+    testfassign_fail1
+    testfassign_fail2
+    testfassign_fail3
+    testfassign_fail4
+    testfassign_fail5
+    testfassign_fail6)
+
+set(COMPILEFAILTESTS
+    check_fvector_size_fail1
+    check_fvector_size_fail2
+    genericiterator_compile_fail
+    nullptr-test-fail
+    static_assert_test_fail
+    testfconstruct_fail1
+    testfconstruct_fail2)
+
+set(TESTPROGS ${TESTS} ${FAILTESTS})
+
 # We do not want want to build the tests during make all,
 # but just build them on demand
 add_dependencies(build_tests ${TESTPROGS})
@@ -81,6 +95,10 @@ add_executable("enumsettest" enumsettest.cc)
 add_executable("fassigntest" fassigntest.cc)
 target_link_libraries("fassigntest" "dunecommon")
 
+
+add_executable("float_cmp" float_cmp.cc)
+target_link_libraries("float_cmp" "dunecommon")
+
 # we provide an empty fortran file to force the linker
 # to link to the fortran libraries (needed for static linking)
 add_executable("fmatrixtest" fmatrixtest.cc dummy.f)
@@ -184,86 +202,22 @@ add_executable("tupleutilitytest" tupleutilitytest.cc)
 add_executable("utilitytest" utilitytest.cc)
 
 # Add the tests to be executed
-add_test(arraylisttest                  arraylisttest)
-add_test(arraytest                      arraytest)
-add_test(bigunsignedinttest             bigunsignedinttest)
-add_test(bitsetvectortest               bitsetvectortest)
-add_test(check_fvector_size             check_fvector_size)
-add_test(conversiontest                 conversiontest)
-add_test(deprtuplestest                 deprtuplestest)
-add_test(dynmatrixtest                  dynmatrixtest)
-add_test(dynvectortest                  dynvectortest)
-add_test(enumsettest                    enumsettest)
-add_test(fmatrixtest                    fmatrixtest)
-add_test(fvectortest                    fvectortest)
-add_test(gcdlcmtest                     gcdlcmtest)
-add_test(iteratorfacadetest             iteratorfacadetest)
-add_test(iteratorfacadetest2            iteratorfacadetest2)
-add_test(lrutest                        lrutest)
-add_test(mpicollectivecommunication    mpicollectivecommunication)
-add_test(mpiguardtest                   mpiguardtest)
-add_test(mpihelpertest                  mpihelpertest)
-add_test(mpihelpertest2                 mpihelpertest2)
-add_test(nullptr_test                   nullptr_test)
-add_test(parametertreetest              parametertreetest)
-add_test(pathtest                       pathtest)
-add_test(poolallocatortest              poolallocatortest)
-add_test(shared_ptrtest_config          shared_ptrtest_config)
-add_test(shared_ptrtest_dune            shared_ptrtest_dune)
-add_test(singletontest                  singletontest)
-add_test(streamtest                     streamtest)
-add_test(testfassign1                   testfassign1)
-add_test(testfassign2                   testfassign2)
-add_test(testfassign3                   testfassign3)
-add_test(testfassign4                   testfassign4)
-add_test(test_stack                     test_stack)
-add_test(tuplestest_config              tuplestest_config)
-add_test(tuplestest_dune                tuplestest_dune)
-add_test(tuplestest_tr1                 tuplestest_tr1)
-add_test(tupleutilitytest               tupleutilitytest)
-add_test(utilitytest                    utilitytest)
-# failing tests
-add_test(testfassign_fail1              testfassign_fail1)
-add_test(testfassign_fail2              testfassign_fail2)
-add_test(testfassign_fail3              testfassign_fail3)
-add_test(testfassign_fail4              testfassign_fail4)
-add_test(testfassign_fail5              testfassign_fail5)
-add_test(testfassign_fail6              testfassign_fail6)
+foreach(_TEST ${TESTPROGS})
+  add_test(${_TEST} ${_TEST})
+endforeach(_TEST)
+
+#Set properties for failing tests
 set_tests_properties(
-  testfassign_fail1
-  testfassign_fail2
-  testfassign_fail3
-  testfassign_fail4
-  testfassign_fail5
-  testfassign_fail6
+  ${FAILTESTS}
   PROPERTIES WILL_FAIL true)
-# compile test
-add_test(NAME static_assert_test
-  COMMAND ${CMAKE_COMMAND} --build . --target static_assert_test --config $<CONFIGURATION>)
-add_test(NAME testfconstruct
-  COMMAND ${CMAKE_COMMAND} --build . --target testfconstruct --config $<CONFIGURATION>)
-# failing compile tests
-add_test(NAME genericiterator_compile_fail
-  COMMAND ${CMAKE_COMMAND} --build . --target genericiterator_compile_fail --config $<CONFIGURATION>)
-add_test(NAME check_fvector_size_fail1
-  COMMAND ${CMAKE_COMMAND} --build . --target check_fvector_size_fail1 --config $<CONFIGURATION>)
-add_test(NAME check_fvector_size_fail2
-  COMMAND ${CMAKE_COMMAND} --build . --target check_fvector_size_fail2 --config $<CONFIGURATION>)
-add_test(NAME nullptr_test_fail
-  COMMAND ${CMAKE_COMMAND} --build . --target nullptr_test_fail --config $<CONFIGURATION>)
-add_test(NAME static_assert_test_fail
-  COMMAND ${CMAKE_COMMAND} --build . --target static_assert_test_fail --config $<CONFIGURATION>)
-add_test(NAME testfconstruct_fail1
-  COMMAND ${CMAKE_COMMAND} --build . --target testfconstruct_fail1 --config $<CONFIGURATION>)
-add_test(NAME testfconstruct_fail2
-  COMMAND ${CMAKE_COMMAND} --build . --target testfconstruct_fail2 --config $<CONFIGURATION>)
+
+# compile tests that should fail
+foreach(_TEST ${COMPILEFAILTESTS})
+  add_test(NAME ${_TEST}
+  COMMAND ${CMAKE_COMMAND} --build . --target ${_TEST} --config $<CONFIGURATION>)
+endforeach(_TEST)
 set_tests_properties(
-  genericiterator_compile_fail
-  check_fvector_size_fail1
-  check_fvector_size_fail2
-  nullptr_test_fail
-  static_assert_test_fail
-  testfconstruct_fail1
-  testfconstruct_fail2
+  ${COMPILEFAILTESTS}
   PROPERTIES WILL_FAIL true)
 
+