2018年8月14日火曜日

debian で Google Test 環境を整える

とりあえず動作確認。

以下のプログラム test_example.cpp を実行できるところまで。

test_example.cpp

#include "gtest/gtest.h"

namespace {

TEST(Practice, First) {
    EXPECT_EQ(1, 1);
}

}

環境

  • OS: Windows 10 Pro
  • Docker: 18.06.0-ce, build 0ffa825
  • Image: debian:stretch-slim

debian アップデート

apt-get update

必要パッケージのインストール

C/C++ ビルドのために build-essential を、 googletest のソース取得とビルドのために、 googletest, cmake をインストール。

apt-get install build-essential cmake googletest

googletest のビルド

debian の googletest パッケージは、ソースしか入っていないので、ビルドする必要がある。

cd ${PATH_TO_WORK}
mkdir googletest
cd googletest
cmake /usr/src/googletest/googletest
make

これで、 libgtest.a, libgtest_main.a が生成される。 共有ライブラリとしてビルドしたい場合には、 cmake -DBUILD_SHARED_LIBS=ON /usr/src/googletest/googletest とすると .so を生成してくれる。

動作確認

あとは、ビルド時に .a-lpthread を使うようにすれば OK.

# テストビルド
cd ${PATH_TO_WORK}
g++ ./test_example.cpp ./googletest/libgtest.a ./googletest/libgtest_main.a -lpthread -o ./test_example

# テスト実行
./test_example
Running main() from gtest_main.cc
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from Practice
[ RUN      ] Practice.First
[       OK ] Practice.First (0 ms)
[----------] 1 test from Practice (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (0 ms total)
[  PASSED  ] 1 test.

はい。

0 件のコメント:

コメントを投稿