Makefile来测试minishell程序

时间:2015-11-30 21:29:35

标签: bash shell unix makefile automated-tests

我想知道如何在我编写的minishell项目中自动化QA测试。

我需要测试以下命令:

Sleep 20

sleep 20 &

jobs

我需要它来显示作业何时完成(它们自己输出,所以我需要等待才能以某种方式记录)。

目前我已经尝试在make中写这个:

test01:
        mshell < inputA.txt >> output.txt

test02:
        mshell < inputB.txt >> output.txt

test00: test01 test02

input.txt内部我只是输入sleep 20exit"这样的命令。

它适用于ls等命令,但不适用于sleep 20sleep 20 &jobs。 [见编辑]

这不是我的任务所必需的,但我真的想学习如何做到这一点。

编辑:

所以手动输入并使用script命令将其全部记录在我得到的打字稿文件中:

[csc60mshell]> sleep 20 &
[csc60mshell]> sleep 10 &
[csc60mshell]> sleep 5 &
[csc60mshell]> jobs
Current Jobs:
Num    Status     Entry 
[0]    Running    sleep 20  
[1]    Running    sleep 10  
[2]    Running    sleep 5  
Child returned status: 0
[csc60mshell]> 
[2]   Finished.   sleep 5 
[1]   Finished.   sleep 10 
[0]   Finished.   sleep 20 
[csc60mshell]> exit

完成后台进程完成时自动输出完成的作业(如默认shell)。 sleep命令和jobs是我输入的内容。

但是,当我通过make test00make test01开始使用制作时,我就出去了

[csc60mshell]> Child returned status: 0

除了执行像ls- al之类的命令时,一百万次,在这种情况下它可以正常工作。这只是sleep [number] sleep [number] &jobs的问题。我希望它与手动输入时相同。

0 个答案:

没有答案