Verify that a prompt can be an empty string using expect

This commit is contained in:
Neil Macneale IV
2023-07-17 09:04:21 -07:00
parent 1901dfeae2
commit 4e147dcd8d
3 changed files with 47 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
#!/usr/bin/expect -f
set timeout 5
spawn dolt sql
expect {
"> " { send "select 23;\r"; }
timeout { exit 1; }
}
expect {
"| 23 |" { }
timeout { exit 1; }
}
expect {
"| 23 |" { }
timeout { exit 1; }
}
expect {
"> " { send "exit;\r"; }
timeout { exit 1; }
}
expect {
eof { }
timeout { exit 1; }
}
set waitval [wait -i $spawn_id]
set exval [lindex $waitval 3]
exit $exval

View File

@@ -71,7 +71,20 @@ teardown() {
$BATS_TEST_DIRNAME/sql-works-after-failing-query.expect
}
@test "sql-shell: empty DB in prompt is OK" {
skiponwindows "Need to install expect and make this script work on windows."
if [ "$SQL_ENGINE" = "remote-engine" ]; then
skip "Presently sql command will not connect to remote server due to lack of lock file where there are not DBs."
fi
# ignore common setup. Use an empty db with no server.
rm -rf .dolt
mkdir emptyDb
cd emptyDb
$BATS_TEST_DIRNAME/sql-shell-empty-prompt.expect
}
@test "sql-shell: delimiter" {
skiponwindows "Need to install expect and make this script work on windows."
mkdir doltsql
cd doltsql

View File

@@ -1,4 +1,4 @@
#!/usr/bin/expect
#!/usr/bin/expect -f
set timeout 1
spawn dolt sql
@@ -15,3 +15,4 @@ expect {
"pid 0 is already in use" { exit 1 }
" 1 " { exit 0 }
}