diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 291b1ee6a..b61a03c18 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -48,6 +48,7 @@ jobs: env: PARAMETERS_SECRET: ${{ secrets.PARAMETERS_SECRET }} CLOUD_PROVIDER: ${{ matrix.cloud }} + GORACE: history_size=7 run: ./ci/test.sh - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 diff --git a/connection_test.go b/connection_test.go index a76cdb7c1..c5d508d32 100644 --- a/connection_test.go +++ b/connection_test.go @@ -476,19 +476,19 @@ func TestExecWithServerSideError(t *testing.T) { } func TestConcurrentReadOnParams(t *testing.T) { - t.Skip("Fails randomly") config, err := ParseDSN(dsn) if err != nil { t.Fatal("Failed to parse dsn") } connector := NewConnector(SnowflakeDriver{}, *config) db := sql.OpenDB(connector) + defer db.Close() wg := sync.WaitGroup{} for i := 0; i < 10; i++ { wg.Add(1) go func() { for c := 0; c < 10; c++ { - stmt, err := db.PrepareContext(context.Background(), "SELECT * FROM information_schema.columns WHERE table_schema = ?") + stmt, err := db.PrepareContext(context.Background(), "SELECT table_schema FROM information_schema.columns WHERE table_schema = ? LIMIT 1") if err != nil { t.Error(err) } @@ -499,13 +499,18 @@ func TestConcurrentReadOnParams(t *testing.T) { if rows == nil { continue } + rows.Next() + var tableName string + err = rows.Scan(&tableName) + if err != nil { + t.Error(err) + } _ = rows.Close() } wg.Done() }() } wg.Wait() - defer db.Close() } func postQueryTest(_ context.Context, _ *snowflakeRestful, _ *url.Values, headers map[string]string, _ []byte, _ time.Duration, _ UUID, _ *Config) (*execResponse, error) {