Tag: 测试

C Libgcrypt:无法使用libgcrypt检查数字是否为素数

我正在使用libgcrypt函数gcry_prime_check来测试数字3是否为素数。 事实certificate,根据我的function,3不是素数。 我究竟做错了什么? 这是我的代码 #include #include int main(void) { gcry_mpi_t cript_prime; gcry_error_t err; char buffer[8] = {0}; char number[8] = {0}; printf(“%s\n”, gcry_check_version ( NULL ) ); gcry_control( GCRYCTL_INIT_SECMEM, 16384, 0 ); cript_prime = gcry_mpi_new(16); strcpy(number,”3″); gcry_mpi_scan(&cript_prime,GCRYMPI_FMT_USG,number,sizeof(number),NULL); gcry_mpi_print(GCRYMPI_FMT_USG,buffer,sizeof(buffer),NULL,cript_prime); printf(“The number tested is: %s\n”,buffer); err = gcry_prime_check(cript_prime,4); if(err) { printf(“%s\n”,gcry_strerror(err)); } gcry_mpi_release(cript_prime); return 0; } 这是输出 […]

如何在Parasoft中创建构建数据文件(bdf)?

我试图使用Parasoft C / C ++ Test来控制静态测试中的“编码标准”。 我在Parasoft用户指南中找到了“如何在Makefile项目中创建bdf”。 如何为每个项目创建bdf? 是否强制使用makefile项目?

如何在这个malloc包装上跟踪TDD测试失败?

我正在尝试使用TDD和C.我想按照TDD方法编写一个简单的malloc包装器。 我试图遵循Bob Martin的TDD三法则 除非要进行失败的unit testing通过,否则不要编写生产代码。 不要写更多的unit testing而不是足以失败,构建失败就是失败。 不要写更多的生产代码,而不是足以通过一个失败的unit testing。 这是我的代码到现在为止: J_STATUS MemAlloc(long Size, void **OutPtr) { J_STATUS ReturnStatus; void *Ptr; Ptr = NULL; if (Size >= 0) { Ptr = malloc(Size); *OutPtr = Ptr; ReturnStatus = SUCCESS; //TODO controllare malloc error } else { ReturnStatus = ERROR; } return ReturnStatus; } 这些是我的测试(我使用的是Unity测试框架): #include “../unity/unity.h” #include […]

Lcov:无法收集分支机构覆盖率统计数据

我使用lcov在我的项目中创建覆盖信息。 但我只能获得线路覆盖和function覆盖统计信息。 lcov version:1.10, gcov version:4.4.5 我使用的命令是: lcov -d $OSPL_HOME/src -d $OSPL_OUTER_HOME/src -c -o /work/li/log/lcov-raw.info lcov -r /work/li/log/lcov-raw.info “*.ll” “*.yy” “*.yy.c” yaccpar “TAO161*” “/usr/include/*” “*/testsuite/*” -o /work/li/log/lcov.info 在这两个命令之后,我得到的结果是: Deleted 23 files Writing data to /work/li/log/lcov.info Summary coverage rate: lines……: 45.4% (65087 of 143496 lines) functions..: 46.1% (5575 of 12102 functions) **branches…: no data found** 所以没有分支覆盖结果。 […]

检测windows上free()后的使用情况。 (悬挂指针)

我正在尝试检测“使用后免费()”错误,也称为“悬空指针”。 我知道Valgrind可以用来检测* nix平台上的“免费使用”错误,但是Windows呢? 如果我没有来源怎么办? 是否有比Valgrind更好的程序来检测程序中的所有悬空指针? 一个免费的开源将是首选,但我会使用商业解决方案,如果它将完成工作。

用C C ++测试代码

我不知道你们每次编写代码和不同级别的测试时如何测试代码:unit testing,集成测试,…… 例如,对于刚刚编写的函数的unit testing,你是否编写了另一组main函数和Makefile来测试它? 或者您是否修改项目的主要function以测试function。 或者你只是在调试下运行你的项目,并停止调用函数的位置并修改其参数的值? 我相信必须有一些方便和常见的方式,大多数人都在使用,只有我不知道。

嵌入式应用的测试代码

背景: 我正在利用Atmel AVR atmega2560开发一个大型项目。 该项目包含许多基于硬件的function(7个SPI设备,2个I2C,2个RS485 MODBUS端口,大量模拟和数字I / O)。 我为所有这些设备开发了“驱动程序”,它们为主应用程序循环提供了访问所需数据的接口。 题: 我正在开发的项目最终必须符合SIL标准。 我希望能够测试代码并提供良好的代码覆盖率。 但是,我无法找到任何信息让我开始研究如何设置这样的测试框架。 我的想法是,我可以拥有一套自动化测试,可以测试未来的错误修复和function添加,以确定它们是否会破坏代码。 问题是我不明白如何在芯片上测试代码。 我是否需要硬件来监控设备上的I / O并模拟外部连接的设备? 任何可以提供的指针都将受到高度赞赏。 –Steve

C / C ++测试框架(如JUnit for java)

之前我一直在墙上撞到我的头,因为我在使用c / c ++时没有进行任何测试类(但是有很多打印方法)。 在c / c ++代码中执行测试的最常用方法是什么? Java的JUnit在调试时只留下了美好的回忆。 我知道在代码中使用带有定义的调试头的断言应该有效,但是没有更好的方法吗? 由于我打算将来进行测试课程,所以欢迎任何有用的提示。

有关动态代码分析的任何参考?

昨天我正在阅读有关调试技​​术的文章,发现Valgrind非常有趣。 它似乎使用动态代码分析技术。 我跟着从原始引用到其他名为Path Profiling的链接 。 我试过谷歌搜索,但我想我使用错误的术语来搜索这些概念的一个很好的参考。 有人建议一个好的资源考虑到我没有编译器和编程语言的背景吗?