我使用 expect 来运行测试脚本。测试通过退出代码返回成功/失败。但期望返回等效的退出代码。如何使期望返回正确的退出状态?
我的测试是使用psql(postgresql 命令处理器)运行的 sql 脚本。由于 psql 不允许将数据库密码指定为命令行参数,因此期望脚本会这样做。
所以,我的期望脚本看起来像:
spawn $SPAWN_CMD
expect {
-re "Enter password for new role:" {
send "$PWPROMPT\n"
exp_continue
} -re "Enter it again:" {
send "$PWPROMPT\n"
exp_continue
} -re "Password(.*)" {
send "$PASSWORD\n"
exp_continue
} -re "Password(.*):" {
send "$PASSWORD\n"
exp_continue
} eof
}