进程属性
进程属性可以在任何时候查询,并且应该反映进程的当前状态。
waiting.py
import time
time.sleep(0.1)
print("DONE!")
带代码
from icommandlib import ICommand, UnexpectedExit
from commandlib import python
import time
process = ICommand(python("waiting.py")).run()
运行
'running' 属性将报告状态当前是否正在运行。
assert process.running == True
time.sleep(0.2)
assert process.running == False
- 代码运行完成时。
退出代码
exit_code 属性在进程运行时为 None,进程结束后包含退出代码。
assert process.exit_code is None
time.sleep(0.2)
assert process.exit_code == 0, process.exit_code
- 代码运行完成时。
进程 ID
pid 属性在进程运行时包含进程的 pid,进程结束后为 None。
如果你在进程自行结束之后尝试获取 .pid,而没有明确等待它,它将引发 UnexpectedExit 异常。
assert process.pid is not None
time.sleep(0.2)
try:
now_finished = process.pid
except UnexpectedExit:
pass
assert process.pid is None, process.pid
- 代码运行完成时。
可执行规范
从 process-properties.story storytests 自动生成的文档。