首页 文章

如何在c中实现谷歌测试分片?

提问于
浏览
0

我想在c中并行我的googletest案例 . 我已经阅读了谷歌测试分片的文档,但无法在c编码环境中实现它 . 由于我是编码领域的新手,所以任何人都可以通过代码向我解释以下链接中的文档https://github.com/google/googletest/blob/master/googletest/docs/advanced.md

Google Sharding可以在不同的机器上运行,也可以使用多个线程在同一台机器上实现?

2 回答

  • 0

    在命令窗口中运行以下命令对我有用(非常类似于James Poag的答案,但注意范围从“1,1,10”到“0,1,9”,“%%” - >“%”的变化和“set”为“set / A”):

    set GTEST_TOTAL_SHARDS=10
    FOR /L %I in (0,1,9) DO cmd.exe /c "set /A GTEST_SHARD_INDEX=%I && start mytests.exe"
    
  • 1

    使用环境完成分片不是_547715 . 您的机器指定了两个环境变量 GTEST_TOTAL_SHARDS ,它是您运行的机器总数和 GTEST_SHARD_INDEX ,这是每台机器唯一的 . 当GTEST启动时,它会选择这些测试的子集 .

    如果要模拟此,则需要设置这些环境变量(which can be done in code) .

    我可能会在.bat文件中尝试这样的东西(在Windows上):

    set GTEST_TOTAL_SHARDS=10
    FOR /L %%I in (1,1,10) DO cmd.exe /c "set GTEST_SHARD_INDEX=%%I && start mytest.exe"
    

    并希望新的cmd实例拥有自己的环境 .

相关问题