【问题标题】:Using set_ldr for a NaCl application using sockets将 set_ldr 用于使用套接字的 NaCl 应用程序
【发布时间】:2014-09-18 11:34:47
【问题描述】:

我有一个使用 nacl_io 的 NaCl 程序。我正在寻找一种在不依赖浏览器的情况下对其运行自动化测试的方法。只要我不使用套接字,使用 set_ldr 运行可执行文件似乎就可以完成这项工作。例如,我可以使用 mkdir() 并创建文件。 但是,在我的程序中调用 socket() 失败并显示“权限被拒绝”。

我使用套接字这一事实是否意味着我必须在浏览器中运行测试?

如果是这样,自动化此类测试的最佳方法是什么?

【问题讨论】:

    标签: google-nativeclient


    【解决方案1】:

    没有办法使用来自 sel_ldr 的真实套接字,但您可以使用测试假货。

    对于 nacl_io 测试,我们使用具有简单实现的假 Pepper 接口。见https://code.google.com/p/chromium/codesearch#chromium/src/native_client_sdk/src/tests/nacl_io_test/fake_ppapi/

    我们还没有实现一个假套接字接口,但它应该是可能的。您需要实现以下接口:

    然后在你的测试中初始化 nacl_io 时,传入你自己的 PPB_GetInterface 回调:

    const void *my_get_interface(const char* interface_name) {
      if (strcmp(interface_name, PPB_MESSAGE_LOOP_INTERFACE_1_0) == 0) {
        return my_fake_message_loop_interface;
      } else if (...) {
      ...
    }
    
    nacl_io_init_ppapi(pp_instance, my_get_interface);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      相关资源
      最近更新 更多