Skip to content

Commit 80af071

Browse files
committed
gh-133439: fix dot commands with trailing spaces are not recognized in sqlite3 CLI
1 parent 59f78d7 commit 80af071

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

Lib/sqlite3/__main__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ def runsource(self, source, filename="<input>", symbol="single"):
4848
Return True if more input is needed; buffering is done automatically.
4949
Return False if input is a complete statement ready for execution.
5050
"""
51+
source = source.strip()
5152
match source:
5253
case ".version":
5354
print(f"{sqlite3.sqlite_version}")

Lib/test/test_sqlite3/test_cli.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,15 @@ def test_interact_version(self):
110110
self.assertEqual(out.count(self.PS2), 0)
111111
self.assertIn(sqlite3.sqlite_version, out)
112112

113+
def test_interact_whitespace_stripping(self):
114+
out, err = self.run_cli(commands=(" " + ".version" + " ",))
115+
self.assertIn(self.MEMORY_DB_MSG, err)
116+
self.assertIn(sqlite3.sqlite_version + "\n", out)
117+
self.assertEndsWith(out, self.PS1)
118+
self.assertEqual(out.count(self.PS1), 2)
119+
self.assertEqual(out.count(self.PS2), 0)
120+
self.assertIn(sqlite3.sqlite_version, out)
121+
113122
def test_interact_valid_sql(self):
114123
out, err = self.run_cli(commands=("SELECT 1;",))
115124
self.assertIn(self.MEMORY_DB_MSG, err)

0 commit comments

Comments
 (0)