詹金斯因谷歌考试失败而失败

时间:2017-09-06 10:27:48

标签: batch-file jenkins googletest

我正在尝试在批处理脚本中运行Google测试以在Jenkins中运行测试,而测试全部通过,Jenkins的作业状态为FAILURE。

这是我正在使用的批次:

@echo off
setlocal ENABLEDELAYEDEXPANSION

call "C:\Program Files (x86)\Maxim Integrated\eclipse\eclipsec.exe" --launcher.suppressErrors -nosplash -application org.eclipse.cdt.managedbuilder.core.headlessbuild -import ".\Loader" -data ./ -cleanBuild "Loader/UnitTest" && (
call .\Loader\UnitTest\Loader.exe
echo Loader status = !ERRORLEVEL!
)

echo !ERRORLEVEL!

这是main()所在的AllTest.cpp:

#include "gtest/gtest.h"
extern "C" void __gcov_flush();

int main(int argc, char** argv)
{
  ::testing::InitGoogleTest(&argc, argv);
  int r = RUN_ALL_TESTS();
  __gcov_flush();
  return r;
}

我在某些测试中打印过“r”并且它是正确的(如果测试失败则为0或1) 即使我硬编码“42”值作为回报,它也不起作用。只有当我删除RUN_ALL_TESTS()时才会得到这个硬编码值。

通过像这样作弊的事件:

set ERRORLEVEL= 0

詹金斯还在吐痰失败: - /

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我使用此方法解决了这个问题: Using gtest in jenkins

所以我在GTest运行后调用gawk,让Jenkins满意,并根据链接帖子使用Jenkins的JUnit测试插件。