【发布时间】:2012-02-26 13:52:37
【问题描述】:
我想为(相当复杂的)Bash 完成脚本编写单元测试,最好使用 Python - 只是以编程方式获取 Bash 完成值的东西。 测试应如下所示:
def test_completion():
# trigger_completion should return what a user should get on triggering
# Bash completion like this: 'pbt createkvm<TAB>'
assert trigger_completion('pbt createkvm') == "module1 module2 module3"
如何以编程方式模拟 Bash 完成以检查我的工具的测试套件内的完成值?
【问题讨论】:
-
this 有帮助吗?不过我自己没试过。
-
如果你想模拟用户交互,
expect是你的朋友——在 python 中设置你的 fs/env,然后从带有子进程的期望脚本中运行 bash。转义可能很棘手,但除此之外非常简单。 -
@je4d - 在这种情况下会发生什么?
标签: python bash bash-completion