Files
wehub-resource-sync 5357c39144
Fuzzer / Run Fuzzer (push) Has been cancelled
Race tests / Go race tests (ubuntu-22.04) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:01:40 +08:00

113 lines
2.2 KiB
Plaintext
Executable File

#!/usr/bin/expect
set timeout 2
spawn dolt sql
expect {
"> " { send "CREATE TABLE test(pk BIGINT PRIMARY KEY, v1 BIGINT);\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
"> " { send "INSERT INTO test VALUES (0,0);\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
"> " { send "DELIMITER $$\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
"> " { send "INSERT INTO test VALUES (1,1)$$\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
"> " { send "delimiter #\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
"> " { send "CREATE TRIGGER tt BEFORE INSERT ON test FOR EACH ROW\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
" -> " { send "BEGIN\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
" -> " { send "SET NEW.v1 = NEW.v1 * 11;\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
" -> " { send "SET NEW.v1 = NEW.v1 * -10;\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
" -> " { send "END; #\r"; }
timeout { exit 1; }
failed { exit 1; }
}
# https://github.com/dolthub/dolt/issues/10841
# line comment preceding setting delimiter should not be an issue
expect {
"> " { send -- "-- comment\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
"> " { send "DELIMITER //\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
"> " { send "select null //\r"; }
timeout { exit 1; }
failed { exit 1; }
}
# delimiter statement in the middle of a undelimited statement should not set the delimiter
expect {
"> " { send "select\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
" -> " { send "delimiter $$\r"; }
timeout { exit 1; }
failed { exit 1; }
}
# previous line should not be delimited. delimit here and expect an error
expect {
"*> " {
send "//\r"
}
timeout { exit 1 }
}
expect {
-re "error|syntax error|Error" { }
timeout {
puts "expected error not found"
exit 1
}
}
# make sure delimiter is still //
expect {
"> " { send "select null //\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect {
"> " { send "DeLiMiTeR ;\r"; }
timeout { exit 1; }
failed { exit 1; }
}
expect eof