Linux下testngpp测试用例共享库加载不成功问题

简介:

能加载成功的,无论是带.so还是不带.so,都能加载成功。

不能加载成功的,带.so提示文件不存在,不带.so提示链接的符号找不到。

之前,类似加载.so不成功的问题,通过比较各版本的代码,最终修改一个返回引用类型变量的处理,问题解决(参见后面的修改),但最后这个so加载不成功却不好定位了,也没有一个加载成功的代码版本可比较。

jelly@jelly-linux:~/Programming/mockcpp/build_tests/ut$ ../../build_testngpp/src/runner/testngpp-runner libmockcpp-ut-TestApiHook -L"../../build_testngpp/src/listeners" -l"testngppstdoutlistener -c -f"
loading testngppstdoutlistener ... OK

[  ERROR   ] runner: test suite "libmockcpp-ut-TestApiHook" can't be loaded : libmockcpp-ut-TestApiHook.so: undefined symbol: _ZN11TestApiHook1aE
no test to run!

===========================RESULT===========================
 loaded suites: 0 unloadable suites: 1
 load success rate: 0%

(0s 3502us)

jelly@jelly-linux:~/Programming/mockcpp/build_tests/ut$ ../../build_testngpp/src/runner/testngpp-runner libmockcpp-ut-TestApiHook.so -L"../../build_testngpp/src/listeners" -l"testngppstdoutlistener -c -f"
loading testngppstdoutlistener ... OK

[  ERROR   ] runner: test suite "libmockcpp-ut-TestApiHook.so" can't be loaded : libmockcpp-ut-TestApiHook.so.so: cannot open shared object file: No such file or directory
no test to run!

===========================RESULT===========================
 loaded suites: 0 unloadable suites: 1
 load success rate: 0%

(0s 5026us)
jelly@jelly-linux:~/Programming/mockcpp/build_tests/ut$ ../../build_testngpp/src/runner/testngpp-runner libmockcpp-ut-TestAny -L"../../build_testngpp/src/listeners" -l"testngppstdoutlistener -c -f"
loading testngppstdoutlistener ... OK


-----------------------SUITE: TestAny-----------------------

(TestAny)
.........................................

===========================RESULT===========================
[    OK    ] 41 cases from 1 suites ran successfully.

(0s 13594us)
jelly@jelly-linux:~/Programming/mockcpp/build_tests/ut$ 
jelly@jelly-linux:~/Programming/mockcpp/build_tests/ut$ ../../build_testngpp/src/runner/testngpp-runner libmockcpp-ut-TestAny.so -L"../../build_testngpp/src/listeners" -l"testngppstdoutlistener -c -f"
loading testngppstdoutlistener ... OK


-----------------------SUITE: TestAny-----------------------

(TestAny)
.........................................

===========================RESULT===========================
[    OK    ] 41 cases from 1 suites ran successfully.

(0s 10708us)
jelly@jelly-linux:~/Programming/mockcpp/build_tests/ut$ 
附录:

6个so无法加载的问题修改如下:

--- include/mockcpp/ChainableMockMethod.h      (版本 432)
+++ include/mockcpp/ChainableMockMethod.h      (工作副本)
@@ -63,13 +63,14 @@
                  , p01, p02, p03, p04, p05, p06
                  , p07, p08, p09, p10, p11, p12
                  , resultProvider);
+            return getResult(result, resultProvider);
      }
      catch(std::exception& ex)
      {
        MOCKCPP_REPORT_FAILURE(ex.what());
      }
-      extern const Any& result;
-      return getResult(result, resultProvider);
+//      extern const Any& result;
+//      return getResult(result, resultProvider);
  }








本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/sinojelly/390383,如需转载请自行联系原作者

相关文章
|
2月前
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
139 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
1月前
|
安全 Linux 虚拟化
|
6天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
33 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
12天前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
35 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
26天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
32 4
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
93 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
2月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
707 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
4月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
142 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
2月前
|
机器学习/深度学习 人工智能 并行计算
StableDiffusion-01本地服务器部署服务 10分钟上手 底显存 中等显存机器 加载模型测试效果 附带安装指令 多显卡 2070Super 8GB*2
StableDiffusion-01本地服务器部署服务 10分钟上手 底显存 中等显存机器 加载模型测试效果 附带安装指令 多显卡 2070Super 8GB*2
41 0
|
3月前
|
监控 安全 Linux
如何利用Kali Linux进行网站渗透测试:最常用工具详解
如何利用Kali Linux进行网站渗透测试:最常用工具详解
143 6