2

我正在移植一个库以在 Chrome 便携式本机客户端 (PNaCl) 下工作。我设法编译它并使用它运行一个简单的程序。现在我需要验证它是否正常工作,这意味着运行完整的测试套件。该库将 CMake 用于其构建系统,将 CTest 用于测试用例,因此每个应用程序都是一个独立的应用程序,运行并从 main() 返回 0 或 1 以显示它是否通过。如何在本机客户端下运行它们?

当然我可以修改每一个,把它变成一个合适的模块,并创建一个运行它的接口。但是它们有数百个,并且每个都必须独立修改。是否有任何机制可以在本机客户端下运行现有的 CTest 测试套件?

4

1 回答 1

2

有一个选项;您可以构建一个以 main() 作为其入口点(并且不使用任何 Pepper 接口)的 nexe,而不是构建 Pepper 模块,然后可以在 sel_ldr(包含在 SDK 中的命令行实用程序)下运行(在pepper_XX/tools 目录中)并且可以运行非Pepper nexes。如果您将 -a 标志传递给 sel_ldr,您的 nexe 甚至可以获得本地文件系统访问权限,因此通常它对于单元测试之类的事情很有用。

如果您使用的是 PNaCl 工具链,您可以构建此命令行 pexe,然后使用pnacl-translateSDK 中的工具将其离线转换为 nexe。

可以在邮件列表中找到更多详细信息

于 2014-07-11T16:54:07.647 回答