如何在我的顶级Makefile.am中添加单元前测试步骤?

时间:2014-02-26 15:01:01

标签: unit-testing cross-platform autotools automake

我应该在我的顶级Makefile.am中添加什么来导致make check在进入任何子目录之前运行自定义命令?

以下是一些背景信息:

当我们的make check进程进入源代码树中的每个子目录时,它会构建该子目录的单元测试二进制文件,使用scp将二进制文件复制到目标硬件板,并在目标使用ssh。我们有比开发人员更多的开发人员,所以我们共享,目标平台只设置了一个用户ID,所以如果我们两个或多个人同时运行make check,我们会互相攻击测试目标上的二进制文件。

我希望make check为每个开发人员在目标上使用唯一的子目录,可能在目标唯一用户的主目录中。在make check运行期间完成任何其他操作之前,我需要确保该子目录存在。

我希望我可以在ssh <board-ip> mkdir -p <unique-dirname-based-on-user>的行中向我的顶级Makefile.am中的变量或目标添加一个命令,这将导致该命令在{{1}的开头运行在输入任何子目录并进行任何复制之前运行。

1 个答案:

答案 0 :(得分: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)"