Changeset: 6f226e77e14f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/6f226e77e14f
Modified Files:
sql/test/BugTracker-2021/Tests/copyinto-copyfrom.Bug-7186.SQL.py
Branch: default
Log Message:
Don't leak created temporary directory on error and escape backslashes on file
paths
diffs (41 lines):
diff --git a/sql/test/BugTracker-2021/Tests/copyinto-copyfrom.Bug-7186.SQL.py
b/sql/test/BugTracker-2021/Tests/copyinto-copyfrom.Bug-7186.SQL.py
--- a/sql/test/BugTracker-2021/Tests/copyinto-copyfrom.Bug-7186.SQL.py
+++ b/sql/test/BugTracker-2021/Tests/copyinto-copyfrom.Bug-7186.SQL.py
@@ -2,20 +2,22 @@ import tempfile, os, shutil
from MonetDBtesting.sqltest import SQLTestCase
nexdir = tempfile.mkdtemp()
-temp_name = os.path.join(nexdir, 'myp.csv')
-with SQLTestCase() as cli:
- cli.connect(username="monetdb", password="monetdb")
+try:
+ temp_name = os.path.join(nexdir, 'myfile.csv').replace("\\", "\\\\")
+ with SQLTestCase() as cli:
+ cli.connect(username="monetdb", password="monetdb")
- cli.execute("START TRANSACTION;").assertSucceeded()
- cli.execute("""
- CREATE TABLE "t" ("id" INTEGER,"name" VARCHAR(1024),"schema_id"
INTEGER,"query" VARCHAR(1048576),"type" SMALLINT,"system"
BOOLEAN,"commit_action" SMALLINT,"access" SMALLINT,"temporary" TINYINT);
- """).assertSucceeded()
- cli.execute("""
- COPY SELECT
"id","name","schema_id","query","type","system","commit_action","access","temporary"
FROM sys.tables LIMIT 100 INTO '%s' DELIMITERS '|';
- """ % (temp_name)).assertSucceeded()
- cli.execute("COPY INTO t FROM '%s' DELIMITERS '|';" %
(temp_name)).assertSucceeded()
- cli.execute("DROP TABLE t;").assertSucceeded()
- cli.execute("ROLLBACK;").assertSucceeded()
-
-shutil.rmtree(nexdir)
+ cli.execute("START TRANSACTION;").assertSucceeded()
+ cli.execute("""
+ CREATE TABLE "t" ("id" INTEGER,"name" VARCHAR(1024),"schema_id"
INTEGER,"query" VARCHAR(1048576),"type" SMALLINT,"system"
BOOLEAN,"commit_action" SMALLINT,"access" SMALLINT,"temporary" TINYINT);
+ """).assertSucceeded()
+ cli.execute("""
+ COPY SELECT
"id","name","schema_id","query","type","system","commit_action","access","temporary"
FROM sys.tables LIMIT 100 INTO '%s' DELIMITERS '|';
+ """ % (temp_name)).assertSucceeded()
+ cli.execute("COPY INTO t FROM '%s' DELIMITERS '|';" %
(temp_name)).assertSucceeded()
+ cli.execute("DROP TABLE t;").assertSucceeded()
+ cli.execute("ROLLBACK;").assertSucceeded()
+finally:
+ if os.path.exists(nexdir):
+ shutil.rmtree(nexdir)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list