google test使ってみる
DL
ちょうど、1.7.0-rcが出ててた。 https://code.google.com/p/googletest/downloads/list
アーカイブを作成
$ cd $HOME/src/gtest-1.7.0
$ export GTEST_DIR=`pwd`
$ g++ -isystem $GTEST_DIR/include -I$GTEST_DIR -pthread -c $GTEST_DIR/src/gtest-all.cc
$ ar -rv libgtest.a gtest-all.o
サンプルが動くかチェック
$ cd $GTEST_DIR/make
$ make
$ ./sample1_unittest
シンプルに手動リンクでビルド
$ mkdir sample
$ cd sample
$ cat main.cpp
#include <gtest/gtest.h>
TEST(SampleTest, IsZero) {
EXPECT_EQ(1, 1);
}
int
main(int argc, char** argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
$ g++ -isystem $GTEST_DIR/include -pthread main.cpp $GTEST_DIR/libgtest.a -o main
$ ./main
cmakeでビルド
CMakeLists.txtを書く
# setting
cmake_minimum_required(VERSION 2.8)
# project name
PROJECT(Sample C CXX)
# include
INCLUDE_DIRECTORIES($ENV{HOME}/src/gtest-1.7.0/include)
LINK_DIRECTORIES($ENV{HOME}/src/gtest-1.7.0)
# flags
FIND_PACKAGE(Threads)
# target
ADD_EXECUTABLE(main main.cpp)
TARGET_LINK_LIBRARIES(main gtest)
TARGET_LINK_LIBRARIES(main ${CMAKE_THREAD_LIBS_INIT})
ビルドする
$ mkdir build
$ cmake ..
$ make
$ ./main