gcovr: не может анализировать тестируемый класс в некоторых случаях

мое намерение состоит в том, чтобы выполнить отчет о покрытии кода с gcovr на мои тесты, которые написаны с помощью gtest framework с CMake.

ClassUnderTest.h:

class ClassUnderTest
{
public:
uint8_t Start(int in_a, int in_b);

static uint8_t MethodToTest(int a, const uint8_t *b, uint32_t c);
}

У меня есть 2 теста. Один использует «TEST», другой использует «TEST_F» (a.k.a Test fixtures).

Тест без крепежа:

TestCase1.cpp:

TEST (Test_Start, MethodToTest_test)
{
ClassUnderTest       TestObj;

EXPECT_EQ(TestObj.Start(1,2),0xFF));
}

Тест с креплением:

TestCase2.cpp:
class ClassUnderTest_Test : public ::testing::Test, public ClassUnderTest
{
public:
virtual void SetUp();
virtual void TearDown();

bool TestCase2();
};

bool ClassUnderTest_Test :: TestCase2()
{
uint8_t retval;
retval = ClassUnderTest::MethodToTest(1,2,3);

return retval;
}

TEST_F( ClassUnderTest_Test , MethodToTest_test )
{
ASSERT_EQ( TestCase2(), true );
}

В обоих случаях ClassUnderTest.cpp.gcno генерируется и внутри данных кажется действительным, но потом, когда я вызываю gcovr следующим образом:

python C:\Python27\Scripts\gcovr --html --html-details -o output-file-name.html

Только покрытие TestCase1, найденное в html-отчете, покрытие TestCase2 не отображается в ClassUnderTest.cpp.

В чем может быть проблема?

Заранее спасибо.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]