我正在移植一个库在Chrome可移植本地客户端(PNaCl)下工作。我设法编译了它,并用它运行了一个简单的程序。现在我需要验证它是否正确地工作,这意味着运行完整的测试套件。库使用CMake作为它的构建系统和CTest作为测试用例,所以每个都是一个独立的应用程序,运行并从main()返回0或1来显示它是否通过。我如何在本地客户端下运行这些?
当然,我可以修改每一个,把它变成一个适当的模块,并创建一个运行它的接口。但它们有数百种,每一种都必须单独修改。是否有任何机制可以在本机客户端下运行现有的CTest测试套件?
有一个选项;不用构建Pepper模块,您可以构建一个以main()作为入口点(并且不使用任何Pepper接口)的nexes,然后可以在sel_ldr下运行它,sel_ldr是SDK中包含的命令行实用程序(在pepper_XX/tools目录中),它可以运行非Pepper nexes。如果您将-a标志传递给sel_ldr,则您的下一代甚至可以访问本地文件系统,因此通常它对于单元测试之类的事情很有用。
如果你正在使用PNaCl工具链,你可以构建这个命令行pexe,然后使用SDK中的pnacl-translate
工具将其离线转换为nexe。
邮件列表