我们想要使用 CUnit 来测试我们开发的共享库。

共享库通过标准 Solaris 加载 LD_PRELOAD 它使用环境变量将包含文件路径的字符串重新映射到基于文件路径的新日期和时间的机制。

初始测试将使用环境变量的单个值来控制文件路径的重新映射。

是否有建议的方法(也许是配方?)将我们的环境变量传递到 CUnit 环境中?

我正在考虑在可选的测试套件设置功能中设置测试值。

编辑: 下面@eaanon01 要求提供更多详细信息。(-:

我们的 shlib 实现了一个采用目录路径的函数,例如

/home/www/my_tld

然后使用 Unix 纪元时间戳,将其转换为我们存档中的目录路径,例如

/home/www/my_tld/1088589843

查看 20040630 10:04:03 GMT 的该 tld 的内容。

由于我们无法控制被拦截的系统调用的参数,因此我们必须使用环境变量来传入所需的时间戳,在本例中值为 1088589843。

我们希望对使用该 shlib 拦截的所有 Unix 系统调用进行单元测试,并且希望使用 CUnit 框架进行单元测试,并拥有通过环境变量传入的固定时间戳值。

是否有为每个单元测试设置环境变量的推荐方法?

有帮助吗?

解决方案

您可以在“init suite”功能和“clean suite”功能中初始化设置和删除。不确定我能否完全理解这个问题,请详细说明。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top