mirror of https://github.com/pressly/goose.git
test: add C-style comments test case to sqlparser test (#555)
parent
dec87f0abd
commit
843a23d4ff
38
Makefile
38
Makefile
|
@ -1,5 +1,13 @@
|
|||
GO_TEST_FLAGS ?= -race -count=1 -v -timeout=10m
|
||||
|
||||
# These are the default values for the test database. They can be overridden
|
||||
DB_USER ?= dbuser
|
||||
DB_PASSWORD ?= password1
|
||||
DB_NAME ?= testdb
|
||||
DB_POSTGRES_PORT ?= 5433
|
||||
DB_MYSQL_PORT ?= 3307
|
||||
DB_CLICKHOUSE_PORT ?= 9001
|
||||
|
||||
.PHONY: dist
|
||||
dist:
|
||||
@mkdir -p ./bin
|
||||
|
@ -42,11 +50,31 @@ test-e2e-vertica:
|
|||
docker-cleanup:
|
||||
docker stop -t=0 $$(docker ps --filter="label=goose_test" -aq)
|
||||
|
||||
docker-start-postgres:
|
||||
docker-postgres:
|
||||
docker run --rm -d \
|
||||
-e POSTGRES_USER=${POSTGRES_DB_USER} \
|
||||
-e POSTGRES_PASSWORD=${POSTGRES_PASSWORD} \
|
||||
-e POSTGRES_DB=${POSTGRES_DBNAME} \
|
||||
-p ${POSTGRES_PORT}:5432 \
|
||||
-e POSTGRES_USER=$(DB_USER) \
|
||||
-e POSTGRES_PASSWORD=$(DB_PASSWORD) \
|
||||
-e POSTGRES_DB=$(DB_NAME) \
|
||||
-p $(DB_POSTGRES_PORT):5432 \
|
||||
-l goose_test \
|
||||
postgres:14-alpine -c log_statement=all
|
||||
|
||||
docker-mysql:
|
||||
docker run --rm -d \
|
||||
-e MYSQL_ROOT_PASSWORD=rootpassword1 \
|
||||
-e MYSQL_DATABASE=$(DB_NAME) \
|
||||
-e MYSQL_USER=$(DB_USER) \
|
||||
-e MYSQL_PASSWORD=$(DB_PASSWORD) \
|
||||
-p $(DB_MYSQL_PORT):3306 \
|
||||
-l goose_test \
|
||||
mysql:8.0.31
|
||||
|
||||
docker-clickhouse:
|
||||
docker run --rm -d \
|
||||
-e CLICKHOUSE_DB=$(DB_NAME) \
|
||||
-e CLICKHOUSE_USER=$(DB_USER) \
|
||||
-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \
|
||||
-e CLICKHOUSE_PASSWORD=$(DB_PASSWORD) \
|
||||
-p $(DB_CLICKHOUSE_PORT):9000/tcp \
|
||||
-l goose_test \
|
||||
clickhouse/clickhouse-server:23-alpine
|
||||
|
|
|
@ -379,6 +379,7 @@ func TestValidUp(t *testing.T) {
|
|||
{Name: "test05", StatementsCount: 2},
|
||||
{Name: "test06", StatementsCount: 5},
|
||||
{Name: "test07", StatementsCount: 1},
|
||||
{Name: "test08", StatementsCount: 6},
|
||||
}
|
||||
for _, tc := range tests {
|
||||
path := filepath.Join("testdata", "valid-up", tc.Name)
|
||||
|
@ -422,7 +423,7 @@ func compareStatements(t *testing.T, dir string, statements []string) {
|
|||
by, err := os.ReadFile(goldenFilePath)
|
||||
check.NoError(t, err)
|
||||
|
||||
got, want := strings.TrimSpace(statements[index]), strings.TrimSpace(string(by))
|
||||
got, want := statements[index], string(by)
|
||||
|
||||
if got != want {
|
||||
if isCIEnvironment() {
|
||||
|
@ -433,7 +434,7 @@ func compareStatements(t *testing.T, dir string, statements []string) {
|
|||
filepath.Join("internal", "sqlparser", goldenFilePath+".FAIL"),
|
||||
filepath.Join("internal", "sqlparser", goldenFilePath),
|
||||
)
|
||||
err := os.WriteFile(goldenFilePath+".FAIL", []byte(got+"\n"), 0644)
|
||||
err := os.WriteFile(goldenFilePath+".FAIL", []byte(got), 0644)
|
||||
check.NoError(t, err)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
CREATE TABLE `table_a` (
|
||||
`column_1` DATETIME DEFAULT NOW(),
|
||||
`column_2` DATETIME DEFAULT NOW(),
|
||||
`column_3` DATETIME DEFAULT NOW()
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
|
@ -0,0 +1,5 @@
|
|||
CREATE TABLE `table_b` (
|
||||
`column_1` DATETIME DEFAULT NOW(),
|
||||
`column_2` DATETIME DEFAULT NOW(),
|
||||
`column_3` DATETIME DEFAULT NOW()
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
|
@ -0,0 +1,5 @@
|
|||
CREATE TABLE `table_c` (
|
||||
`column_1` DATETIME DEFAULT NOW(),
|
||||
`column_2` DATETIME DEFAULT NOW(),
|
||||
`column_3` DATETIME DEFAULT NOW()
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
|
@ -0,0 +1 @@
|
|||
/*!80031 ALTER TABLE `table_a` MODIFY `column_1` TEXT NOT NULL */;
|
|
@ -0,0 +1 @@
|
|||
/*!80031 ALTER TABLE `table_b` MODIFY `column_2` TEXT NOT NULL */;
|
|
@ -0,0 +1 @@
|
|||
/*!80033 ALTER TABLE `table_c` MODIFY `column_3` TEXT NOT NULL */;
|
|
@ -0,0 +1,23 @@
|
|||
-- +goose Up
|
||||
|
||||
CREATE TABLE `table_a` (
|
||||
`column_1` DATETIME DEFAULT NOW(),
|
||||
`column_2` DATETIME DEFAULT NOW(),
|
||||
`column_3` DATETIME DEFAULT NOW()
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
CREATE TABLE `table_b` (
|
||||
`column_1` DATETIME DEFAULT NOW(),
|
||||
`column_2` DATETIME DEFAULT NOW(),
|
||||
`column_3` DATETIME DEFAULT NOW()
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
CREATE TABLE `table_c` (
|
||||
`column_1` DATETIME DEFAULT NOW(),
|
||||
`column_2` DATETIME DEFAULT NOW(),
|
||||
`column_3` DATETIME DEFAULT NOW()
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
/*!80031 ALTER TABLE `table_a` MODIFY `column_1` TEXT NOT NULL */;
|
||||
/*!80031 ALTER TABLE `table_b` MODIFY `column_2` TEXT NOT NULL */;
|
||||
/*!80033 ALTER TABLE `table_c` MODIFY `column_3` TEXT NOT NULL */;
|
Loading…
Reference in New Issue