我想知道是否可以在lit.cfg文件中配置用于测试的线程数。
lit提供了一个用于指定线程数量的命令行标志:llvm/utils/lit/lit.py -j1 <test directory>
但是,我不确定如何在lit.cfg文件中做到这一点。我想强制一个子目录中的所有测试都使用-j1运行--不确定这是否可行。
编辑:作为参考,我在Swift codebase上工作,它有一个包含多个测试子目录的大型测试套件(4000+测试)。我只想用-j1运行一个子目录,用默认的线程数运行其余的子目录(我的机器是-j12)。
发布于 2018-07-03 16:31:46
我之前也想知道这一点,但我不认为有,因为这一行here。通常,主项目编译时间会使lit测试的执行时间相形见绌。
它很容易更改,但我建议使用您的构建配置(例如make或cmake)。因此,make test可以在下面执行类似lit -j $(nproc)的代码。
编辑(更新操作后):
我还没有使用过swift代码库,但是也许你可以用你的方式修改一下。我可以看到的一件事是,您可以通过向LIT_ARGS cmake variable追加选项来影响它。
现在,要强制对特定目录执行单个进程,可以添加一个设置singleProcess标志的lit.local.cfg。这似乎覆盖了多线程执行:
config.singleProcess = Truehttps://stackoverflow.com/questions/51091268
复制相似问题