tests: add initial unit test env
authorBrendan Le Foll <brendan.le.foll@intel.com>
Thu, 10 Apr 2014 10:07:05 +0000 (11:07 +0100)
committerBrendan Le Foll <brendan.le.foll@intel.com>
Thu, 10 Apr 2014 10:07:05 +0000 (11:07 +0100)
CMakeLists.txt
README
tests/CMakeLists.txt [new file with mode: 0644]
tests/maa_test.cxx [new file with mode: 0644]

index adfd8c7..5c5cd38 100644 (file)
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 2.6)
+cmake_minimum_required (VERSION 2.8)
 project (maa)
 
 set(SWIG_EXECUTABLE /usr/bin/swig)
@@ -7,6 +7,13 @@ INCLUDE(${SWIG_USE_FILE})
 
 SET(CMAKE_SWIG_FLAGS "")
 
+option(test "Build all tests." OFF)
+
 add_subdirectory (src)
 add_subdirectory (api)
 add_subdirectory (examples)
+
+if (test)
+  enable_testing ()
+  add_subdirectory (tests)
+endif()
diff --git a/README b/README
index 08fa377..2fa2b87 100644 (file)
--- a/README
+++ b/README
@@ -32,6 +32,11 @@ make
 Install is currently unsuported. Javascript and python modules will be in
 build/src/{javascript, python}
 
+=== DEVELOPMENT ===
+
+Unit tests for all features must be completed prior to implementations, please
+run `ctest -V` from the build dir in order to see current implementation status
+
 === USING ===
 
 see examples/
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
new file mode 100644 (file)
index 0000000..48abce6
--- /dev/null
@@ -0,0 +1,11 @@
+find_package (GTest REQUIRED)
+
+set(PROJECT_TEST_NAME "${PROJECT_NAME}_test")
+set(COMMON_INCLUDES ${PROJECT_SOURCE_DIR}/src)
+
+include_directories(${GTEST_INCLUDE_DIRS} ${COMMON_INCLUDES})
+
+add_executable(${PROJECT_TEST_NAME} "maa_test.cxx")
+target_link_libraries(${PROJECT_TEST_NAME} ${PROJECT_NAME_STR} ${GTEST_BOTH_LIBRARIES} maa pthread)
+
+add_test(Basic ${PROJECT_TEST_NAME})
diff --git a/tests/maa_test.cxx b/tests/maa_test.cxx
new file mode 100644 (file)
index 0000000..aeb32e9
--- /dev/null
@@ -0,0 +1,8 @@
+#include "maa.h"
+#include "gtest/gtest.h"
+
+using namespace maa;
+
+TEST (basic, GetVersion) {
+    ASSERT_EQ(get_version(), 1);
+}