问题标签 [ctest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - CMake/CTest add_test 命令将额外的引号附加到我的命令参数
在 CMake 我有一个功能:
我用来创建这样的测试:
但是当我运行 CTest 时,出现以下错误:
但是,如果我在目录中运行
没有引号一切正常,如果我用引号运行它
我得到完全相同的错误。
有没有办法删除这些引号?
我必须在行中更改什么
add_test(NAME ${name} 命令 "mpirun" ${test_parameters})
要得到:
没有引号?
我试过了
但后来它说找不到我的可执行文件。
bash - 使用 bash 与 CMake 和 CTest 进行简单集成测试?
我有一个 C++ CMake 项目,我在其中使用 Google Test 进行单元测试,我对使用ctest -T Test
. 现在我想实现几个运行特定应用场景并期望特定输出的集成测试,例如运行具有默认值的 C++ 可执行文件应该产生特定输出,例如以下integration_test_01.sh
bash shell 将是这样的测试:
有没有办法将此类测试与 CMake 或 CTest 集成,甚至可以获得一些 XML 输出?
c++ - 如何使用 CMake 测试 C++ 应用程序没有内存错误?
我在 CMake 中有一个 C++ 项目,并且我已经实现了单元测试(使用 GoogleTest)以及集成测试,即执行应用程序并使用正则表达式检查结果,例如
现在我想做与上面相同的操作,但运行应用程序来检测内存错误,例如简单地运行./my_application
并使用 valgrind 检查内存错误。我怎样才能做到这一点?请注意,我知道,ctest -D ExperimentalMemCheck
但ctest -T memcheck
在这里我得到了Cannot find file DartConfiguration.tcl
似乎与我不需要的仪表板配置相关的错误。
c++ - cMake/cTest:检查代码是否编译
我想检查我的代码是否编译。在我的 cMakeList.txt 我定义了我的 source_filesfile()
有没有机会将此变量传递给模块 CheckCXXSourceCompiles?
这就像做这样的测试:
但显然对所有人${source_files}
jenkins - 在 Jenkins 中生成 CTest 结果 (xUnit >= 1.58)
似乎这应该很容易在詹金斯中集成 CMake+CTest。cmakebuilder插件非常容易配置(只需设置源代码树和构建树,完成!)。但是我不明白如何调用 CTest 步骤。
根据xUnit 主页,从 1.58 版开始支持 CTest 的 XML 输出,请参阅错误报告。
这就是我能找到的所有文档。当我在 google 或 stackoverflow 上搜索时,我只能找到需要手动步骤的非常古老的文档。
我想知道如何使用 xUnit (1.81) 设置最近的 jenkins (1.532.1)。我应该创建一个“添加构建步骤”吗?我应该创建一个“构建后操作”吗?我需要填写什么才能让 CTest 运行并生成正确的 XML 文件,以便 jenkins 可以集成它们?
cmake - 如何交叉编译 ctest?
我想在 arm 目标系统上使用 ctest。因此尝试对 cmake(包括 ctest)进行交叉编译,但只失败了。我按照以下网址中的指导使用 cross-ng 构建了 arm 交叉编译器:
http://www.kitware.com/blog/home/post/426
我的测试手臂机器是树莓派。所以上面的指南帮助我获得了 arm 交叉编译器。
使用这个 arm 交叉编译器,我成功构建并测试了 helloworld!
但是,使用这个 arm 交叉编译器,我无法编译 cmake-2.8.12.2,如下所示。
mkdir -p /somepath/bin/cmake
cd /somepath/bin/cmake
cmake -DCMAKE_TOOLCHAIN_FILE=/home/me/bin/RaspberryPi/CMakeToolChain/Toolchain-RaspberryPi.cmake /somepath/src/cmake-2.8.12.2
通过这种方式,我会得到错误,但会构建 cmake、ctest 和 cpack。它们是 arm 二进制文件。但是当我 scp ctest 进入我的 Raspberry-Pi 并进行测试时,它失败并显示以下消息:
./ctest:/lib/arm-linux-gnueabihf/libc.so.6:未找到版本“GLIBC_2.15”(./ctest 需要)
让我发布我的工具链文件。
SET(CMAKE_SYSTEM_NAME Linux)
设置(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER /home/me/local/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc)
SET(CMAKE_CXX_COMPILER /home/me/local/x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-g++)
SET(CMAKE_FIND_ROOT_PATH /home/me/local/x-tools/arm-unknown-linux-gnueabi)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
有人可以指导我如何获得 ctest 的 arm 版本吗?
cmake - CMake 排除子目录中的测试
我有一个包含 libevent 库的 c++ 项目。项目结构:
当我构建和运行我的测试时,libevent 测试也会被执行。如何排除它们并只运行我自己的测试?
unit-testing - 如何向已配置的 ctest 套件添加新测试?
我有一个 c++ 项目,其中有一个测试套件,其中包含已配置的脚本。如果我ctest -V
正常运行它,请检查目录中所有可用的测试。我编写了一个新测试并将其保存在同一目录中,但如果我运行ctest -V -R newtest
,我会收到以下消息。
UpdateCTestConfiguration
从:/home/user/project/DartConfiguration.tcl
构建测试列表
完成构建测试列表
检查测试依赖图...
检查测试依赖图结束
没有找到测试!!!
我在任何地方都找不到 DartConfiguration.tc` 文件。请帮忙,我是 ctest 或 cmake 的新手。
c++ - CMake/CTest 代码覆盖率检查
我可以在这个wiki 页面之后使用 cmake 运行覆盖率检查。这非常简单,并且设置仪表板可以很好地查看浏览器上的代码覆盖率(后半部分)。但我不想每次都为了检查单个文件的进度而进行 ctest。事实上,我想在本地检查子目录的代码覆盖率,而不是使用第三方代码检查整个库。
那么,我们如何检查子目录的代码覆盖率。当然,我在 cmakelists.txt 中使用 add_test(....) 编写了一个测试。
我将尝试在没有任何代码的情况下稍微解释一下。
接下来我写了一个测试:
现在在 CMakeLists.txt 中,我有:
因此,当我运行 ctest 时,它将运行所有测试,包括TestA
. 当然,我可以使用ctest -R "TestA"
.
现在回到这个问题,我如何才能检查class A
仅覆盖范围。不运行所有测试还是只运行testA
?
cmake - CTest - 使用标签进行不同的测试 CTestTestfile.cmake
我找不到如何指定标签。它应该是这样的
有人可以告诉我如何设置这些标签之一,我可以使用