From bafba70bd1ec16c71d0ba79ef7e4b00834c8fd83 Mon Sep 17 00:00:00 2001 From: Roman Langolf Date: Fri, 25 Jul 2025 10:49:15 +0700 Subject: [PATCH 1/2] fail process on invalid sql --- PgCodeGen.scala | 2 +- test.sh | 9 +++++++++ test/migrations_invalid/V1__test.sql | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 test/migrations_invalid/V1__test.sql diff --git a/PgCodeGen.scala b/PgCodeGen.scala index 8dc2df1..9f2a694 100644 --- a/PgCodeGen.scala +++ b/PgCodeGen.scala @@ -245,7 +245,7 @@ class PgCodeGen private ( def run(): Future[List[File]] = for - _ <- Future { + _ <- Future.fromTry { if debug then println("Running migrations...") Zone: diff --git a/test.sh b/test.sh index 3a5787d..e311f1e 100755 --- a/test.sh +++ b/test.sh @@ -90,3 +90,12 @@ docker run --rm --name codegentest -e POSTGRES_PASSWORD=postgres -p 5555:5432 -d -force=true && echo "✅ Code generation for provided connection ok.") || (docker rm -f codegentest; exit 1) docker rm -f codegentest + +echo "⏳Process should fail on running invalid sql" +($CODEGEN_BIN \ + -use-docker-image=postgres:17-alpine \ + -output-dir=test-generated \ + -pkg-name=generated \ + -exclude-tables=unsupported_yet \ + -source-dir=test/migrations_invalid \ + -force=true && echo "❌ Process not failed as expected"; exit 1) || echo "✅ Process failed as expected" \ No newline at end of file diff --git a/test/migrations_invalid/V1__test.sql b/test/migrations_invalid/V1__test.sql new file mode 100644 index 0000000..fea8d12 --- /dev/null +++ b/test/migrations_invalid/V1__test.sql @@ -0,0 +1 @@ +syntax error; \ No newline at end of file From 86487abd6100c013253678e899fd2c96f5e4a2f6 Mon Sep 17 00:00:00 2001 From: Roman Langolf Date: Fri, 25 Jul 2025 10:58:21 +0700 Subject: [PATCH 2/2] =?UTF-8?q?let=20copilot=20fix=20the=20test=20?= =?UTF-8?q?=F0=9F=98=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test.sh b/test.sh index e311f1e..1a5b5a3 100755 --- a/test.sh +++ b/test.sh @@ -92,10 +92,15 @@ docker run --rm --name codegentest -e POSTGRES_PASSWORD=postgres -p 5555:5432 -d docker rm -f codegentest echo "⏳Process should fail on running invalid sql" -($CODEGEN_BIN \ +if $CODEGEN_BIN \ -use-docker-image=postgres:17-alpine \ -output-dir=test-generated \ -pkg-name=generated \ -exclude-tables=unsupported_yet \ -source-dir=test/migrations_invalid \ - -force=true && echo "❌ Process not failed as expected"; exit 1) || echo "✅ Process failed as expected" \ No newline at end of file + -force=true; then + echo "❌ Process did not fail as expected" + exit 1 +else + echo "✅ Process failed as expected" +fi \ No newline at end of file