2016-04-12 11 views
2

EDIT:per @πάνταῥεῖフィードバック、私は質問を編集しています。GoogleTest `表現の結果は未使用 '

googletestフレームワークを使用してパラメータ化されたテストを実行する。私は警告を取得しています次の行の場合:

以下
clang++ -isystem ../include -g -Wall -Wextra -pthread -std=c++03 -Wno-unknown-pragmas -Wno-missing-field-initializers -c ../samples/sample7_unittest.cc 
../samples/sample7_unittest.cc:15:62: warning: expression result unused [-Wunused-value] 
INSTANTIATE_TEST_CASE_P(SomeName, MyTest, ::testing::Values((1, 2))); 
                  ^
../include/gtest/gtest-param-test.h:1423:66: note: expanded from macro 'INSTANTIATE_TEST_CASE_P' 
     gtest_##prefix##test_case_name##_EvalGenerator_() { return generator; } \ 
                   ^
1 warning generated. 

は私のコードですが、私は以下

#include "gtest/gtest.h" 

using ::testing::TestWithParam; 

class MyTest : public TestWithParam<int> { 
    public: 
     virtual void SetUp() { ch = GetParam(); } 
     int ch; 
}; 

TEST_P(MyTest, foo) { 
    EXPECT_EQ(ch, 10); 
} 

INSTANTIATE_TEST_CASE_P(SomeName, MyTest, ::testing::Values((1, 2))); 

出発点としてsample7を使用し、私のメイクです:

CXX=clang++ 
GTEST_DIR = .. 
USER_DIR = ../samples 
CPPFLAGS += -isystem $(GTEST_DIR)/include 
CXXFLAGS += -g -Wall -Wextra -pthread -std=c++03 -Wno-unknown-pragmas -Wno-missing-field-initializers 
TESTS = sample7_unittest 
GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h $(GTEST_DIR)/include/gtest/internal/*.h 
all : $(TESTS) 
clean : 
    rm -f $(TESTS) gtest.a gtest_main.a *.o 

GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS) 
gtest-all.o : $(GTEST_SRCS_) 
    $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c $(GTEST_DIR)/src/gtest-all.cc 

gtest_main.o : $(GTEST_SRCS_) 
    $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c $(GTEST_DIR)/src/gtest_main.cc 

gtest.a : gtest-all.o 
    $(AR) $(ARFLAGS) [email protected] $^ 

gtest_main.a : gtest-all.o gtest_main.o 
    $(AR) $(ARFLAGS) [email protected] $^ 

sample7_unittest.o : $(USER_DIR)/sample7_unittest.cc $(GTEST_HEADERS) 
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/sample7_unittest.cc 

sample7_unittest : sample7_unittest.o gtest_main.a 
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o [email protected] 

私が使用していますLLVM 3.7.1コンパイラ。問題は-std=c++03フラグですが、フラグが表示されず、警告が表示されません。私はそれを排除するために何ができる?回帰テストログでは悪く見えます。

注:私もここでの問題を追加しました: https://github.com/google/googletest/issues/755

+0

_「もっと情報を提示する必要があるようですね」_まあ、あなたは[MCVE](テストランナーなどは[タグ:googletest]コンテキストが暗示しています)問題。 –

+0

@πάνταῥεῖありがとう、私は私の質問を変更した、私はそれが基準を満たすと信じています。 – user1135541

+0

それははるかに良いように見えます。 –

答えて

3

を括弧の余剰ペアがであり:警告を削除する

INSTANTIATE_TEST_CASE_P(SomeName, MyTest, ::testing::Values(1, 2)); 

INSTANTIATE_TEST_CASE_P(SomeName, MyTest, ::testing::Values((1, 2))); 

と交換してください。

-std-c++03の存在または非存在が重要でないことが分かった(clang ++ 3.7, g ++ 5.2)。

関連する問題