如何将预单元测试步骤添加到我的*** Makefile.am?
Posted
技术标签:
【中文标题】如何将预单元测试步骤添加到我的*** Makefile.am?【英文标题】:How do I add a pre-unit-test step to my top-level Makefile.am? 【发布时间】:2014-02-26 15:01:01 【问题描述】:我应该在我的*** Makefile.am 中添加什么以使 make check
在进入任何子目录之前运行自定义命令?
这里有一些上下文:
当我们的make check
进程进入源代码树中的每个子目录时,它会构建该子目录的单元测试二进制文件,使用scp
将二进制文件复制到目标硬件板,并使用@987654324 在目标上远程运行二进制文件@。我们的开发人员比我们的板子多,所以我们是共享的,而目标平台只设置了一个用户 ID,所以如果我们两个或更多人同时运行 make check
,我们会破坏彼此的单元测试二进制文件在目标上。
我希望make check
为每个开发人员在目标上使用一个唯一的子目录,可能在目标唯一用户的主目录中。在make check
运行期间执行任何其他操作之前,我需要确保此子目录存在。
我希望我可以将ssh <board-ip> mkdir -p <unique-dirname-based-on-user>
中的命令添加到我的*** Makefile.am 中的变量或目标中,这将导致该命令在make check
运行开始时运行,在进入任何子目录并进行任何复制之前。
【问题讨论】:
【参考方案1】:只需让check-recursive
依赖于您要执行的目标。
例如将以下内容添加到您的Makefile.am
:
check-recursive: pre-check-recursive
.PHONY=pre-check-recursive
pre-check-recursive:
@echo "called before running check recursively (YOUR CODE HERE)"
【讨论】:
以上是关于如何将预单元测试步骤添加到我的*** Makefile.am?的主要内容,如果未能解决你的问题,请参考以下文章
我是不是需要在需要时手动将每个 *.m 文件添加到我的单元测试目标?