mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-27 20:41:58 +03:00
Fix a problem with the CLI where not all SQL commands were being echoed.
Added tests of same to tools/shell2.test. Ticket [eb620916be]. FossilOrigin-Name: 7080ae3bc3828168483ac23d5b8976d67ea5089e
This commit is contained in:
119
tool/shell2.test
119
tool/shell2.test
@ -99,3 +99,122 @@ do_test shell2-1.3 {
|
||||
} {1 {Error: near line 9: too many levels of trigger recursion}}
|
||||
|
||||
|
||||
|
||||
# Shell not echoing all commands with echo on.
|
||||
# Ticket [eb620916be].
|
||||
|
||||
# Test with echo off
|
||||
# NB. whitespace is important
|
||||
do_test shell2-1.4.1 {
|
||||
file delete -force foo.db
|
||||
catchcmd "foo.db" {CREATE TABLE foo(a);
|
||||
INSERT INTO foo(a) VALUES(1);
|
||||
SELECT * FROM foo;}
|
||||
} {0 1}
|
||||
|
||||
# Test with echo on using command line option
|
||||
# NB. whitespace is important
|
||||
do_test shell2-1.4.2 {
|
||||
file delete -force foo.db
|
||||
catchcmd "-echo foo.db" {CREATE TABLE foo(a);
|
||||
INSERT INTO foo(a) VALUES(1);
|
||||
SELECT * FROM foo;}
|
||||
} {0 {CREATE TABLE foo(a);
|
||||
INSERT INTO foo(a) VALUES(1);
|
||||
SELECT * FROM foo;
|
||||
1}}
|
||||
|
||||
# Test with echo on using dot command
|
||||
# NB. whitespace is important
|
||||
do_test shell2-1.4.3 {
|
||||
file delete -force foo.db
|
||||
catchcmd "foo.db" {.echo ON
|
||||
CREATE TABLE foo(a);
|
||||
INSERT INTO foo(a) VALUES(1);
|
||||
SELECT * FROM foo;}
|
||||
} {0 {CREATE TABLE foo(a);
|
||||
INSERT INTO foo(a) VALUES(1);
|
||||
SELECT * FROM foo;
|
||||
1}}
|
||||
|
||||
# Test with echo on using dot command and
|
||||
# turning off mid- processing.
|
||||
# NB. whitespace is important
|
||||
do_test shell2-1.4.4 {
|
||||
file delete -force foo.db
|
||||
catchcmd "foo.db" {.echo ON
|
||||
CREATE TABLE foo(a);
|
||||
.echo OFF
|
||||
INSERT INTO foo(a) VALUES(1);
|
||||
SELECT * FROM foo;}
|
||||
} {0 {CREATE TABLE foo(a);
|
||||
.echo OFF
|
||||
1}}
|
||||
|
||||
# Test with echo on using dot command and
|
||||
# multiple commands per line.
|
||||
# NB. whitespace is important
|
||||
do_test shell2-1.4.5 {
|
||||
file delete -force foo.db
|
||||
catchcmd "foo.db" {.echo ON
|
||||
CREATE TABLE foo1(a);
|
||||
INSERT INTO foo1(a) VALUES(1);
|
||||
CREATE TABLE foo2(b);
|
||||
INSERT INTO foo2(b) VALUES(1);
|
||||
SELECT * FROM foo1; SELECT * FROM foo2;
|
||||
INSERT INTO foo1(a) VALUES(2); INSERT INTO foo2(b) VALUES(2);
|
||||
SELECT * FROM foo1; SELECT * FROM foo2;
|
||||
}
|
||||
} {0 {CREATE TABLE foo1(a);
|
||||
INSERT INTO foo1(a) VALUES(1);
|
||||
CREATE TABLE foo2(b);
|
||||
INSERT INTO foo2(b) VALUES(1);
|
||||
SELECT * FROM foo1;
|
||||
1
|
||||
SELECT * FROM foo2;
|
||||
1
|
||||
INSERT INTO foo1(a) VALUES(2);
|
||||
INSERT INTO foo2(b) VALUES(2);
|
||||
SELECT * FROM foo1;
|
||||
1
|
||||
2
|
||||
SELECT * FROM foo2;
|
||||
1
|
||||
2}}
|
||||
|
||||
# Test with echo on and headers on using dot command and
|
||||
# multiple commands per line.
|
||||
# NB. whitespace is important
|
||||
do_test shell2-1.4.6 {
|
||||
file delete -force foo.db
|
||||
catchcmd "foo.db" {.echo ON
|
||||
.headers ON
|
||||
CREATE TABLE foo1(a);
|
||||
INSERT INTO foo1(a) VALUES(1);
|
||||
CREATE TABLE foo2(b);
|
||||
INSERT INTO foo2(b) VALUES(1);
|
||||
SELECT * FROM foo1; SELECT * FROM foo2;
|
||||
INSERT INTO foo1(a) VALUES(2); INSERT INTO foo2(b) VALUES(2);
|
||||
SELECT * FROM foo1; SELECT * FROM foo2;
|
||||
}
|
||||
} {0 {.headers ON
|
||||
CREATE TABLE foo1(a);
|
||||
INSERT INTO foo1(a) VALUES(1);
|
||||
CREATE TABLE foo2(b);
|
||||
INSERT INTO foo2(b) VALUES(1);
|
||||
SELECT * FROM foo1;
|
||||
a
|
||||
1
|
||||
SELECT * FROM foo2;
|
||||
b
|
||||
1
|
||||
INSERT INTO foo1(a) VALUES(2);
|
||||
INSERT INTO foo2(b) VALUES(2);
|
||||
SELECT * FROM foo1;
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT * FROM foo2;
|
||||
b
|
||||
1
|
||||
2}}
|
||||
|
Reference in New Issue
Block a user