diff --git a/codetemplates eclipse.xml b/codetemplates eclipse.xml
index a83cc56bd43bb272eff012dd89a401c33283610f..85f43146f9e51b952d6bc33e75bcda962262dd0a 100644
--- a/codetemplates eclipse.xml	
+++ b/codetemplates eclipse.xml	
@@ -23,7 +23,7 @@ ${declarations}
 
 ${namespace_end}</template><template autoinsert="false" context="org.eclipse.cdt.core.cxxSource.contenttype_context" deleted="false" description="Default template for newly created C++ test files" enabled="true" id="org.eclipse.cdt.ui.text.codetemplates.cpptestfile" name="Default C++ test template">${filecomment}
 
-#include "utils_gtest.h"
+#include <core/utils/utils_gtest.h>
 
 ${includes}
 
diff --git a/test/gtest_example.cpp b/test/gtest_example.cpp
index 0cadea4ffe640770290f82ea4b5e17542468d404..140792d538ab5ae568ba7743fbc49bce0bb6d9f2 100644
--- a/test/gtest_example.cpp
+++ b/test/gtest_example.cpp
@@ -1,4 +1,4 @@
-#include "utils_gtest.h"
+#include <core/utils/utils_gtest.h>
 
 TEST(TestTest, DummyTestExample)
 {
diff --git a/test/gtest_factor_gnss_fix_2D.cpp b/test/gtest_factor_gnss_fix_2D.cpp
index be4ec3719e10def890ebeb5b09311eaaded7080e..4ed465585867d18f988295865f13dd730f8bc38d 100644
--- a/test/gtest_factor_gnss_fix_2D.cpp
+++ b/test/gtest_factor_gnss_fix_2D.cpp
@@ -7,7 +7,7 @@
 
 
 #include "gnss/factor/factor_gnss_fix_2D.h"
-#include "utils_gtest.h"
+#include <core/utils/utils_gtest.h>
 
 #include "core/problem/problem.h"
 #include "gnss/sensor/sensor_gnss.h"
diff --git a/test/gtest_factor_gnss_single_diff_2D.cpp b/test/gtest_factor_gnss_single_diff_2D.cpp
index 17ee0fc5afae2f63e4aeb081f2f629bcfd6f5c4d..901fda3030c1c860afb8f7abaf31fd75f547935c 100644
--- a/test/gtest_factor_gnss_single_diff_2D.cpp
+++ b/test/gtest_factor_gnss_single_diff_2D.cpp
@@ -7,7 +7,7 @@
 
 
 #include "gnss/factor/factor_gnss_single_diff_2D.h"
-#include "utils_gtest.h"
+#include <core/utils/utils_gtest.h>
 
 #include "core/capture/capture_motion.h"
 #include "core/problem/problem.h"
diff --git a/test/utils_gtest.h b/test/utils_gtest.h
deleted file mode 100644
index 9cb2166e8429cd236f77c502891c14880e57ec30..0000000000000000000000000000000000000000
--- a/test/utils_gtest.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/**
- * \file utils_gtest.h
- * \brief Some utils for gtest
- * \author Jeremie Deray
- *  Created on: 26/09/2016
- *  Eigen macros extension by: Joan Sola on 26/04/2017
- */
-
-#ifndef WOLF_UTILS_GTEST_H
-#define WOLF_UTILS_GTEST_H
-
-#include <gtest/gtest.h>
-
-// Macros for testing equalities and inequalities.
-//
-//    * {ASSERT|EXPECT}_EQ(expected, actual): Tests that expected == actual
-//    * {ASSERT|EXPECT}_NE(v1, v2):           Tests that v1 != v2
-//    * {ASSERT|EXPECT}_LT(v1, v2):           Tests that v1 < v2
-//    * {ASSERT|EXPECT}_LE(v1, v2):           Tests that v1 <= v2
-//    * {ASSERT|EXPECT}_GT(v1, v2):           Tests that v1 > v2
-//    * {ASSERT|EXPECT}_GE(v1, v2):           Tests that v1 >= v2
-//
-// C String Comparisons.  All tests treat NULL and any non-NULL string
-// as different.  Two NULLs are equal.
-//
-//    * {ASSERT|EXPECT}_STREQ(s1, s2):     Tests that s1 == s2
-//    * {ASSERT|EXPECT}_STRNE(s1, s2):     Tests that s1 != s2
-//    * {ASSERT|EXPECT}_STRCASEEQ(s1, s2): Tests that s1 == s2, ignoring case
-//    * {ASSERT|EXPECT}_STRCASENE(s1, s2): Tests that s1 != s2, ignoring case
-//
-// Macros for comparing floating-point numbers.
-//
-//    * {ASSERT|EXPECT}_FLOAT_EQ(expected, actual):
-//         Tests that two float values are almost equal.
-//    * {ASSERT|EXPECT}_DOUBLE_EQ(expected, actual):
-//         Tests that two double values are almost equal.
-//    * {ASSERT|EXPECT}_NEAR(v1, v2, abs_error):
-//         Tests that v1 and v2 are within the given distance to each other.
-//
-// These predicate format functions work on floating-point values, and
-// can be used in {ASSERT|EXPECT}_PRED_FORMAT2*(), e.g.
-//
-//   EXPECT_PRED_FORMAT2(testing::DoubleLE, Foo(), 5.0);
-//
-// Macros that execute statement and check that it doesn't generate new fatal
-// failures in the current thread.
-//
-//    * {ASSERT|EXPECT}_NO_FATAL_FAILURE(statement);
-
-// http://stackoverflow.com/a/29155677
-
-namespace testing
-{
-namespace internal
-{
-enum GTestColor
-{
-  COLOR_DEFAULT,
-  COLOR_RED,
-  COLOR_GREEN,
-  COLOR_YELLOW
-};
-
-extern void ColoredPrintf(GTestColor color, const char* fmt, ...);
-
-#define PRINTF(...) \
-  do { testing::internal::ColoredPrintf(testing::internal::COLOR_GREEN,\
-  "[          ] "); \
-  testing::internal::ColoredPrintf(testing::internal::COLOR_YELLOW, __VA_ARGS__); } \
-  while(0)
-
-#define PRINT_TEST_FINISHED \
-{ \
-  const ::testing::TestInfo* const test_info = \
-    ::testing::UnitTest::GetInstance()->current_test_info(); \
-  PRINTF(std::string("Finished test case ").append(test_info->test_case_name()).\
-          append(" of test ").append(test_info->name()).append(".\n").c_str()); \
-}
-
-// C++ stream interface
-class TestCout : public std::stringstream
-{
-public:
-  ~TestCout()
-  {
-    PRINTF("%s\n", str().c_str());
-  }
-};
-
-/* Usage :
-
-TEST(Test, Foo)
-{
-  // the following works but prints default stream
-  EXPECT_TRUE(false) << "Testing Stream.";
-
-  // or you can play with AINSI color code
-  EXPECT_TRUE(false) << "\033[1;31m" << "Testing Stream.";
-
-  // or use the above defined macros
-
-  PRINTF("Hello world");
-
-  // or
-
-  TEST_COUT << "Hello world";
-}
-
-*/
-#define TEST_COUT testing::internal::TestCout()
-
-} // namespace internal
-
-/* Macros related to testing Eigen classes:
- */
-#define EXPECT_MATRIX_APPROX(C_expect, C_actual, precision) EXPECT_PRED2([](const Eigen::MatrixXs lhs, const Eigen::MatrixXs rhs) { \
-                  return (lhs - rhs).isMuchSmallerThan(1, precision); \
-               }, \
-               C_expect, C_actual);
-
-#define ASSERT_MATRIX_APPROX(C_expect, C_actual, precision) ASSERT_PRED2([](const Eigen::MatrixXs lhs, const Eigen::MatrixXs rhs) { \
-                  return (lhs - rhs).isMuchSmallerThan(1, precision); \
-               }, \
-               C_expect, C_actual);
-
-#define EXPECT_QUATERNION_APPROX(C_expect, C_actual, precision) EXPECT_MATRIX_APPROX((C_expect).coeffs(), (C_actual).coeffs(), precision)
-
-#define ASSERT_QUATERNION_APPROX(C_expect, C_actual, precision) ASSERT_MATRIX_APPROX((C_expect).coeffs(), (C_actual).coeffs(), precision)
-
-#define EXPECT_POSE2D_APPROX(C_expect, C_actual, precision) EXPECT_PRED2([](const Eigen::MatrixXs lhs, const Eigen::MatrixXs rhs) { \
-                   MatrixXs er = lhs - rhs; \
-                   er(2) = pi2pi((Scalar)er(2)); \
-                   return er.isMuchSmallerThan(1, precision); \
-               }, \
-               C_expect, C_actual);
-
-#define ASSERT_POSE2D_APPROX(C_expect, C_actual, precision) EXPECT_PRED2([](const Eigen::MatrixXs lhs, const Eigen::MatrixXs rhs) { \
-                   MatrixXs er = lhs - rhs; \
-                   er(2) = pi2pi((Scalar)er(2)); \
-                   return er.isMuchSmallerThan(1, precision); \
-               }, \
-               C_expect, C_actual);
-
-} // namespace testing
-
-#endif /* WOLF_UTILS_GTEST_H */
diff --git a/wolf_scripts/templates/gtest_template.cpp b/wolf_scripts/templates/gtest_template.cpp
index c797c1b5ad21d8c09ce89d3cb116cb6da299bacb..d162eaf4ed0cf4e20f347e9c08f60240504b7860 100644
--- a/wolf_scripts/templates/gtest_template.cpp
+++ b/wolf_scripts/templates/gtest_template.cpp
@@ -1,4 +1,4 @@
-#include "utils_gtest.h"
+#include <core/utils/utils_gtest.h>
 
 #include "wolf.h"
 #include "logging.h"