examples/password/password_test.v
Rama master · réplica de lectura del repositorio original.
import os
// Expect has to be installed for the test.
const expect_exe = os.find_abs_path_of_executable('expect') or {
eprintln('skipping test, since expect is missing')
exit(0)
}
// Directory that contains the Expect scripts used in the test.
const expect_tests_path = os.join_path(@VMODROOT, 'examples', 'password', 'tests')
fn test_password_input() {
correct :=
os.exec([os.join_path(expect_tests_path, 'correct.expect'), @VEXE])
assert correct.exit_code == 0, correct.output
incorrect :=
os.exec([os.join_path(expect_tests_path, 'incorrect.expect'), @VEXE])
assert incorrect.exit_code == 0, incorrect.output
expected_out := 'Enter your password : '
mut res := os.exec([
os.join_path(expect_tests_path, 'output_from_expect_arg.expect'),
@VEXE,
'${expected_out}',
])
assert res.exit_code == 0, res.output
not_exptectd_out := 'Enter your passwords : '
res = os.exec([os.join_path(expect_tests_path, 'output_from_expect_arg.expect'), @VEXE,
'${not_exptectd_out}'])
assert res.exit_code == 1, res.output
}