Я использую ожидание для запуска тестовых скриптов. Тесты возвращают успех/неудачу с помощью кода выхода. Но ожидайте возврат эквивалентного кода выхода. Как заставить ожидание вернуть правильный статус выхода?
Мои тесты - это sql-скрипты, запущенные с psql (командный процессор postgresql). Поскольку psql не позволяет указывать пароль базы данных в качестве параметра командной строки, ожидайте, что скрипты сделают это.
Итак, моя ожидаемая script выглядит так:
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
}