diff --git a/libyuv.gyp b/libyuv.gyp
index 71c4604cb0f828c84c4a41425e83ae9497d8d2b1..e82931a9396329e626517ddbf078753c9cce4e83 100644
--- a/libyuv.gyp
+++ b/libyuv.gyp
@@ -7,6 +7,9 @@
 # be found in the AUTHORS file in the root of the source tree.
 
 {
+  'includes': [
+    'build/common.gypi',
+  ],
   'targets': [
     {
       'target_name': 'libyuv',
@@ -46,6 +49,35 @@
 
       ],
     },
+    {
+     'target_name': 'libyuvUnitTest',
+      'type': 'executable',
+      'dependencies': [
+        'libyuv',
+        # The tests are based on gtest
+        'testing/gtest.gyp:gtest',
+        'testing/gtest.gyp:gtest_main',
+      ],
+      'sources': [
+
+        # headers
+        'unit_test/unit_test.h',
+
+        # sources
+        'unit_test/unit_test.cc',
+
+      ], # source
+
+      'conditions': [
+
+        ['OS=="linux"', {
+          'cflags': [
+            '-fexceptions',
+          ],
+        }],
+
+      ], # conditions
+    },
   ], # targets
 }
 
diff --git a/unit_test/unit_test.cc b/unit_test/unit_test.cc
new file mode 100644
index 0000000000000000000000000000000000000000..2259cf60c512745dcf61db8d5fcd4633964c8820
--- /dev/null
+++ b/unit_test/unit_test.cc
@@ -0,0 +1,39 @@
+/*
+ *  Copyright (c) 2011 The LibYuv project authors. All Rights Reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include <cstring>
+#include "unit_test.h"
+
+class libyuvEnvironment : public ::testing::Environment {
+ public:
+  virtual void SetUp() {
+  }
+
+  virtual void TearDown() {
+  }
+};
+
+libyuvTest::libyuvTest()
+{
+}
+
+void libyuvTest::SetUp() {
+}
+
+void libyuvTest::TearDown() {
+}
+
+int main(int argc, char** argv) {
+  ::testing::InitGoogleTest(&argc, argv);
+  libyuvEnvironment* env = new libyuvEnvironment;
+  ::testing::AddGlobalTestEnvironment(env);
+
+  return RUN_ALL_TESTS();
+}
\ No newline at end of file
diff --git a/unit_test/unit_test.h b/unit_test/unit_test.h
new file mode 100644
index 0000000000000000000000000000000000000000..817c88fd211dd74efe52b4937c11694b5b8d38f1
--- /dev/null
+++ b/unit_test/unit_test.h
@@ -0,0 +1,23 @@
+/*
+ *  Copyright (c) 2011 The LibYuv project authors. All Rights Reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+
+#ifndef UINIT_TEST_H_
+#define UINIT_TEST_H_
+
+#include <gtest/gtest.h>
+
+class libyuvTest : public ::testing::Test {
+ protected:
+  libyuvTest();
+  virtual void SetUp();
+  virtual void TearDown();
+};
+
+#endif // UNIT_TEST_H_