Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow Tests #13092

Closed
danstarns opened this issue Apr 29, 2022 · 10 comments
Closed

Slow Tests #13092

danstarns opened this issue Apr 29, 2022 · 10 comments
Labels
kind/tech A technical change. team/client Issue for team Client. team/schema Issue for team Schema. tech/typescript Issue for tech TypeScript. topic: tech debt Initiatives to improve the experience of working with the code base topic: tests
Milestone

Comments

@danstarns
Copy link
Contributor

I'm submitting this issue because I believe there to be a problem with the test suite that is really hindering the contributor developer experience, plus there could be a more serious underlying problem that could be causing this.

I don't believe the specs on my machine to be amazing but nor do I believe them to be low end and I have run test suites, including integrations, of similar size before with no problem.

I'm using the provided docker-compose file in the docker dir. - This is using about 2GB of ram.

When running the tests in the client dir for example:

$ cd ./packages/client && pnpm run test

I first get a bunch of successful tests and then a warning stating that something has not been awaited:

 PASS  src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-postgresql/test.ts
 PASS  src/__tests__/integration/happy/client-engine/test.ts (26.568 s)
 PASS  src/__tests__/integration/happy/blog-env-cockroachdb/test.ts
 PASS  src/__tests__/integration/errors/can-not-connect-to-database/test.ts (10.924 s)
 PASS  src/__tests__/integration/errors/int-errors/test.ts
 PASS  src/__tests__/integration/happy/blog/test.ts
 PASS  src/__tests__/integration/errors/referentialActions-onDelete-default-foreign-key-error-sqlite/test.ts
 PASS  src/__tests__/integration/happy/blog-dot-env-both/test.ts
 PASS  src/__tests__/integration/errors/corruption/test.ts
 PASS  src/__tests__/integration/happy/blog-dot-env-root/test.ts
 PASS  src/__tests__/integration/errors/missing-engine-native-binaryTarget/library.test.ts
 PASS  src/__tests__/integration/errors/executeRaw-alter-postgres/test.ts
 PASS  src/__tests__/integration/happy/blog-dot-env-both-conflict/test.ts
 PASS  src/__tests__/integration/happy/blog-dot-env-prisma/test.ts
 PASS  src/__tests__/integration/happy/binary/test.ts
 PASS  src/__tests__/integration/happy/createMany-postgresql/test.ts
 PASS  src/__tests__/integration/happy/custom-engine-binary/test.ts
 PASS  src/__tests__/integration/errors/wrong-native-types-postgres/test.ts
 PASS  src/__tests__/integration/errors/missing-engine/library.test.ts
 PASS  src/__tests__/integration/happy/createMany-mysql/test.ts
 PASS  src/__tests__/integration/happy/browser/test.ts
 PASS  src/__tests__/integration/happy/chaining/test.ts
 PASS  src/__tests__/integration/errors/invalid-url/test.ts
 PASS  src/__tests__/integration/errors/incorrect-column-type/test.ts
 PASS  src/__tests__/integration/errors/wrong-native-types-mysql/test.ts
 PASS  src/__tests__/integration/errors/source-map-support/test.ts
 PASS  src/__tests__/integration/errors/client-version-error/test.ts
 PASS  src/__tests__/deepSome.test.ts
 PASS  src/__tests__/integration/errors/union-validation/test.ts
 PASS  src/__tests__/binaryEngine.test.ts
 PASS  src/__tests__/integration/errors/error-link/test.ts
 PASS  src/__tests__/integration/happy/batch-findUnique/test.ts
 PASS  src/__tests__/integration/errors/uncheckedScalarValidation/test.ts
 PASS  src/__tests__/integration/errors/object-transaction/test.ts
 PASS  src/__tests__/integration/happy/count/test.ts
 PASS  src/__tests__/atLeastOne.test.ts
 PASS  src/__tests__/validatePrismaClientOptions.test.ts
 PASS  src/__tests__/deepAndOr.test.ts
 PASS  src/__tests__/dateWhere.test.ts
 PASS  src/__tests__/dmmfTypes.test.ts
 PASS  src/__tests__/buildNFTAnnotations.test.ts
 PASS  src/__tests__/integration/errors/missing-engine-native-binaryTarget/binary.test.ts
 PASS  src/__tests__/batching.test.ts
 PASS  src/__tests__/dmmf.test.ts
 PASS  src/__tests__/integration/happy/blog-update/test.ts
 PASS  src/__tests__/integration/errors/missing-table/test.ts
 PASS  src/__tests__/integration/errors/invalid-input/test.ts
 PASS  src/__tests__/select.test.ts
 PASS  src/__tests__/minimalWhereTransformation.test.ts
 PASS  src/__tests__/integration/errors/color-format/test.ts
 PASS  src/__tests__/integration/errors/too-many-instances-of-prisma-client/test.ts
 PASS  src/__tests__/integration/happy/aggregations/test.ts
 PASS  src/__tests__/integration/happy/blog-env/test.ts
 PASS  src/__tests__/relationWhereTransformation.test.ts
 PASS  src/__tests__/integration/happy/disconnect-finally/test.ts
 PASS  src/__tests__/integration/errors/missing-engine/binary.test.ts
 PASS  src/__tests__/integration/errors/raw-transaction/test.ts
 PASS  src/__tests__/integration/errors/missing-column/test.ts
 PASS  src/__tests__/unpack.test.ts
 PASS  src/__tests__/integration/happy/atomic-operations/test.ts
 PASS  src/__tests__/orderTransformation.test.ts
 PASS  src/__tests__/integration/errors/missing-relation/test.ts
 PASS  src/__tests__/or.test.ts
 PASS  src/__tests__/noArgs.test.ts
 PASS  src/__tests__/singularRelationWhereTransformation.test.ts
 PASS  src/__tests__/atomicOperationsUpdate.test.ts
 PASS  src/__tests__/deepQuery.test.ts
 PASS  src/__tests__/relationWhereORNotNullTransformation.test.ts
 PASS  src/__tests__/update.test.ts
 PASS  src/__tests__/undefined-vs-null.test.ts
 PASS  src/__tests__/optionalRelation.test.ts
 PASS  src/__tests__/include.test.ts
 PASS  src/__tests__/scalarWhereTransformation.test.ts
 PASS  src/__tests__/uuid.test.ts
 PASS  src/__tests__/extractSqliteSources.test.ts
 PASS  src/__tests__/scripts/postinstall.test.ts
 PASS  src/__tests__/scalarListCreate.test.ts
 PASS  src/__tests__/deepGet.test.ts
 PASS  src/__tests__/serializeRawParameters.test.ts

  ●  Cannot log after tests are done. Did you forget to wait for something async in your test?
    Attempted to log "warning In order to use "@prisma/client", please install Prisma CLI. You can install it with "npm add -D prisma".".

      93 |
      94 |   if (!localPath && !installedGlobally) {
    > 95 |     console.error(
         |             ^
      96 |       `${c.yellow(
      97 |         'warning',
      98 |       )} In order to use "@prisma/client", please install Prisma CLI. You can install it with "npm add -D prisma".`,

      at console.error (../../node_modules/.pnpm/@jest+console@27.5.1/node_modules/@jest/console/build/BufferedConsole.js:163:10)
      at main (scripts/postinstall.js:95:13)

Shortly after this, I'm getting a few more passing tests then an error stating that there is many instances of Prisma client constructed:

PASS  src/__tests__/aggregate.test.ts
 PASS  src/__tests__/resolveDatasources.test.ts
 PASS  src/__tests__/document.test.ts
 PASS  src/__tests__/mergeBy.test.ts
 PASS  src/__tests__/getLogLevel.test.ts
 PASS  src/__tests__/integration/happy/async-hooks/test.ts
 PASS  src/__tests__/integration/happy/signals/test.ts
 PASS  src/__tests__/integration/happy/logging/library.ts
 PASS  src/__tests__/integration/happy/sqlite-variable-limit/test.ts (6.585 s)
 PASS  src/__tests__/integration/happy/logging/binary.ts
 PASS  src/__tests__/integration/happy/referentialActions-onDelete-cascade-mysql/test.ts
 PASS  src/__tests__/integration/happy/referentialActions-onDelete-cascade-postgresql/test.ts
 PASS  src/__tests__/integration/happy/json-filtering-postgres/test.ts
 PASS  src/__tests__/integration/happy/native-types-mysql/test.ts
 PASS  src/__tests__/integration/happy/interactive-transactions-postgres/test.ts (23.57 s)
  ● Console

    console.warn
      warn(prisma-client) There are already 10 instances of Prisma Client actively running.

      81 |       const runningEngines = engines.filter((e) => e.engine);
      82 |       if (runningEngines.length === 10) {
    > 83 |         console.warn(`${import_chalk.default.yellow("warn(prisma-client)")} There are already 10 instances of Prisma Client actively running.`);
         |                 ^
      84 |       }
      85 |     }
      86 |   }

      at LibraryEngine.checkForTooManyEngines (../engine-core/dist/library/LibraryEngine.js:83:17)
      at new LibraryEngine (../engine-core/dist/library/LibraryEngine.js:77:10)
      at PrismaClient.getEngine (src/runtime/getPrismaClient.ts:454:47)
      at new PrismaClient (src/runtime/getPrismaClient.ts:425:29)
      at Object.<anonymous> (src/__tests__/integration/happy/interactive-transactions-postgres/test.ts:658:12)

 PASS  src/__tests__/integration/happy/native-types-postgres/test.ts (19.823 s)
 PASS  src/__tests__/integration/happy/json-filtering-mysql/test.ts (27.959 s)
 PASS  src/__tests__/types/types.test.ts (426.401 s)
 FAIL  src/__tests__/integration/happy/composites-mongo/upsert/required/create.ts (473.354 s)
  ● upsert > required > create › set

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      18 |   })

It's at this point when the tests completely stop my machine(100%cpu, 100%ram) and hang for a unknown amount of time sometimes > 1 hour.

I can't trust the location of the warnings because of the way jest is rendering the console logs, and so it's really unknown where this error is happening.

I have tried running the tests with --maxWorkers=50% to no avail:

PC Specs

Running tests with Gitbash

image

Related

Some issues I dug out that could be related to this.

  1. Memory leaks in Jest when running tests serially with nApi enabled #8989
  2. Timed out fetching a new connection from the pool #7249
  3. Timed out fetching a new connection, even with high connection_limit #12858
  4. Prisma client not attempting to reconnect on "Can't reach database server" #9902
  5. Unable to establish a connection once database recovers #12028
  6. Jest spawns quite a many binaries #9042
@danstarns
Copy link
Contributor Author

Looping this one in too #13029

@janpio
Copy link
Member

janpio commented Apr 29, 2022

then an error stating that there is many instances of Prisma client constructed:

That warning (not error) is expected to be there.

What is your complete setup from "checkout repo" to when you run the tests?

@danstarns
Copy link
Contributor Author

then an error stating that there is many instances of Prisma client constructed:

That warning (not error) is expected to be there.

What is your complete setup from "checkout repo" to when you run the tests?

Could you be a little more specific ?

@janpio
Copy link
Member

janpio commented Apr 29, 2022

What did you do to install dependencies and other setup steps after checking out the repo?
What databases exactly have you started with which commands?
Have you manually set any additional env vars before running cd ./packages/client && pnpm run test?

@danstarns
Copy link
Contributor Author

What did you do to install dependencies and other setup steps after checking out the repo? What databases exactly have you started with which commands? Have you manually set any additional env vars before running cd ./packages/client && pnpm run test?

1, Node

Version: 16.0.0

2, Prerequisites:

https://github.com/prisma/prisma/blob/main/CONTRIBUTING.md#general-prerequisites

3, Fork

git clone FORK_URL

Navigate into the fork:

cd prisma

Pull upstream main:

git pull https://github.com/prisma/prisma

4, Install

Use pnpm to install dependency's

pnpm i
pnpm run setup

5, Docker

image

Run default docker:

cd ./docker && docker-compose up -d

5, Env

Place .envrc file in the root of project:

export TEST_POSTGRES_URI="postgres://prisma:prisma@localhost:5432/tests"
export TEST_POSTGRES_ISOLATED_URI="postgres://prisma:prisma@localhost:5435/tests"
export TEST_POSTGRES_URI_MIGRATE="postgres://prisma:prisma@localhost:5432/tests-migrate"
export TEST_POSTGRES_SHADOWDB_URI_MIGRATE="postgres://prisma:prisma@localhost:5432/tests-migrate-shadowdb"

export TEST_MYSQL_URI="mysql://root:root@localhost:3306/tests"
export TEST_MYSQL_ISOLATED_URI="mysql://root:root@localhost:3307/tests"
export TEST_MYSQL_URI_MIGRATE="mysql://root:root@localhost:3306/tests-migrate"
export TEST_MYSQL_SHADOWDB_URI_MIGRATE="mysql://root:root@localhost:3306/tests-migrate-shadowdb"

export TEST_MARIADB_URI="mysql://prisma:prisma@localhost:4306/tests"

export TEST_MSSQL_URI="mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master" # for `mssql` lib used in some tests
export TEST_MSSQL_JDBC_URI="sqlserver://localhost:1433;database=master;user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;"
export TEST_MSSQL_JDBC_URI_MIGRATE="sqlserver://localhost:1433;database=tests-migrate;user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;"
export TEST_MSSQL_SHADOWDB_JDBC_URI_MIGRATE="sqlserver://localhost:1433;database=tests-migrate-shadowdb;user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;"

export TEST_MONGO_URI="mongodb://root:prisma@localhost:27018/tests?authSource=admin"
export TEST_MONGO_URI_MIGRATE="mongodb://root:prisma@localhost:27017/tests-migrate?authSource=admin"

export TEST_COCKROACH_URI=postgresql://prisma@localhost:26257/

5(a), Run Direnv:

direnv allow

6 Run Tests

cd ./packages/client && pnpm run test

@danstarns
Copy link
Contributor Author

What did you do to install dependencies and other setup steps after checking out the repo? What databases exactly have you started with which commands? Have you manually set any additional env vars before running cd ./packages/client && pnpm run test?

1, Node

Version: 16.0.0

2, Prerequisites:

https://github.com/prisma/prisma/blob/main/CONTRIBUTING.md#general-prerequisites

3, Fork

git clone FORK_URL

Navigate into the fork:

cd prisma

Pull upstream main:

git pull https://github.com/prisma/prisma

4, Install

Use pnpm to install dependency's

pnpm i
pnpm run setup

5, Docker

image

Run default docker:

cd ./docker && docker-compose up -d

5, Env

Place .envrc file in the root of project:

export TEST_POSTGRES_URI="postgres://prisma:prisma@localhost:5432/tests"
export TEST_POSTGRES_ISOLATED_URI="postgres://prisma:prisma@localhost:5435/tests"
export TEST_POSTGRES_URI_MIGRATE="postgres://prisma:prisma@localhost:5432/tests-migrate"
export TEST_POSTGRES_SHADOWDB_URI_MIGRATE="postgres://prisma:prisma@localhost:5432/tests-migrate-shadowdb"

export TEST_MYSQL_URI="mysql://root:root@localhost:3306/tests"
export TEST_MYSQL_ISOLATED_URI="mysql://root:root@localhost:3307/tests"
export TEST_MYSQL_URI_MIGRATE="mysql://root:root@localhost:3306/tests-migrate"
export TEST_MYSQL_SHADOWDB_URI_MIGRATE="mysql://root:root@localhost:3306/tests-migrate-shadowdb"

export TEST_MARIADB_URI="mysql://prisma:prisma@localhost:4306/tests"

export TEST_MSSQL_URI="mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master" # for `mssql` lib used in some tests
export TEST_MSSQL_JDBC_URI="sqlserver://localhost:1433;database=master;user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;"
export TEST_MSSQL_JDBC_URI_MIGRATE="sqlserver://localhost:1433;database=tests-migrate;user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;"
export TEST_MSSQL_SHADOWDB_JDBC_URI_MIGRATE="sqlserver://localhost:1433;database=tests-migrate-shadowdb;user=SA;password=Pr1sm4_Pr1sm4;trustServerCertificate=true;"

export TEST_MONGO_URI="mongodb://root:prisma@localhost:27018/tests?authSource=admin"
export TEST_MONGO_URI_MIGRATE="mongodb://root:prisma@localhost:27017/tests-migrate?authSource=admin"

export TEST_COCKROACH_URI=postgresql://prisma@localhost:26257/

5(a), Run Direnv:

direnv allow

6 Run Tests

cd ./packages/client && pnpm run test

Running the commands using Gitbash on Windows.

@tomhoule tomhoule added tech/typescript Issue for tech TypeScript. kind/tech A technical change. team/schema Issue for team Schema. team/client Issue for team Client. labels May 2, 2022
@Jolg42 Jolg42 added the topic: tech debt Initiatives to improve the experience of working with the code base label May 2, 2022
@janpio
Copy link
Member

janpio commented May 3, 2022

Side note: Instructions on how to install direnv on Windows that worked for me: https://gist.github.com/rmtuckerphx/4ace28c1605300462340ffa7b7001c6d

@janpio
Copy link
Member

janpio commented May 3, 2022

Hm, I think I can not reproduce:

Test Suites: 6 failed, 5 skipped, 178 passed, 184 of 189 total
Tests:       55 failed, 18 skipped, 697 passed, 770 total
Snapshots:   546 passed, 546 total
Time:        696.575 s
Ran all test suites.
 ELIFECYCLE  Test failed. See above for more details.

Failures are mostly timeouts though indeed:

Summary of all failing tests
FAIL src/__tests__/integration/happy/full-text-search-postgres/test.ts (12.234 s)
  ● full-text-search (postgres) › findMany with &

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)

  ● full-text-search (postgres) › findMany with |

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)

  ● full-text-search (postgres) › findMany with <->

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)

  ● full-text-search (postgres) › findMany with & and |

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)

  ● full-text-search (postgres) › findMany with !

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)

  ● full-text-search (postgres) › no results

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)

  ● full-text-search (postgres) › bad operator

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)

  ● full-text-search (postgres) › order by relevance on a single field

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)

  ● full-text-search (postgres) › order by relevance on multiple fields

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)

  ● full-text-search (postgres) › multiple order by statements on different fields

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_POSTGRES_URI
      20 | describe('full-text-search (postgres)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_POSTGRES_URI += '-full-text-search'
      23 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-postgres/test.ts:20:1)


  ● Test suite failed to run

    TypeError: Cannot read properties of undefined (reading 'user')

      54 |
      55 |   afterAll(async () => {
    > 56 |     await prisma.user.deleteMany()
         |                  ^
      57 |     await prisma.$disconnect()
      58 |     process.env.TEST_POSTGRES_URI = baseUri
      59 |   })

      at src/__tests__/integration/happy/full-text-search-postgres/test.ts:56:18

FAIL src/__tests__/integration/happy/full-text-search-mysql/test.ts (25.288 s)
  ● full-text-search (mysql) › findMany with +

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_MYSQL_URI
      20 | describe('full-text-search (mysql)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_MYSQL_URI += '-full-text-search'
      23 |     await tearDownMysql(process.env.TEST_MYSQL_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-mysql/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-mysql/test.ts:20:1)

  ● full-text-search (mysql) › findMany with OR

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_MYSQL_URI
      20 | describe('full-text-search (mysql)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_MYSQL_URI += '-full-text-search'
      23 |     await tearDownMysql(process.env.TEST_MYSQL_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-mysql/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-mysql/test.ts:20:1)

  ● full-text-search (mysql) › findMany with -

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_MYSQL_URI
      20 | describe('full-text-search (mysql)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_MYSQL_URI += '-full-text-search'
      23 |     await tearDownMysql(process.env.TEST_MYSQL_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-mysql/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-mysql/test.ts:20:1)

  ● full-text-search (mysql) › no results

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_MYSQL_URI
      20 | describe('full-text-search (mysql)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_MYSQL_URI += '-full-text-search'
      23 |     await tearDownMysql(process.env.TEST_MYSQL_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-mysql/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-mysql/test.ts:20:1)

  ● full-text-search (mysql) › bad operator

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_MYSQL_URI
      20 | describe('full-text-search (mysql)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_MYSQL_URI += '-full-text-search'
      23 |     await tearDownMysql(process.env.TEST_MYSQL_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-mysql/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-mysql/test.ts:20:1)

  ● full-text-search (mysql) › order by relevance on a single field

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_MYSQL_URI
      20 | describe('full-text-search (mysql)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_MYSQL_URI += '-full-text-search'
      23 |     await tearDownMysql(process.env.TEST_MYSQL_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-mysql/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-mysql/test.ts:20:1)

  ● full-text-search (mysql) › order by relevance on multiple fields

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_MYSQL_URI
      20 | describe('full-text-search (mysql)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_MYSQL_URI += '-full-text-search'
      23 |     await tearDownMysql(process.env.TEST_MYSQL_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-mysql/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-mysql/test.ts:20:1)

  ● full-text-search (mysql) › multiple order by statements on different fields

    thrown: "Exceeded timeout of 10000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      19 | const baseUri = process.env.TEST_MYSQL_URI
      20 | describe('full-text-search (mysql)', () => {
    > 21 |   beforeAll(async () => {
         |   ^
      22 |     process.env.TEST_MYSQL_URI += '-full-text-search'
      23 |     await tearDownMysql(process.env.TEST_MYSQL_URI!)
      24 |     await migrateDb({

      at src/__tests__/integration/happy/full-text-search-mysql/test.ts:21:3
      at Object.<anonymous> (src/__tests__/integration/happy/full-text-search-mysql/test.ts:20:1)


  ● Test suite failed to run

    TypeError: Cannot read properties of undefined (reading 'user')

      54 |
      55 |   afterAll(async () => {
    > 56 |     await prisma.user.deleteMany()
         |                  ^
      57 |     await prisma.$disconnect()
      58 |     process.env.TEST_MYSQL_URI = baseUri
      59 |   })

      at src/__tests__/integration/happy/full-text-search-mysql/test.ts:56:18

FAIL src/__tests__/integration/happy/blog-env-mssql/test.ts (96.856 s)
  ● blog-env-mssql › includes version in generated client

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › does not leak connection strings in node_modules

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › invokes beforeRequest hook

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › can throw validation errors

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › can run findMany queries

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › can run findMany queries with a `null` where

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › can run create queries

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › can run delete queries

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › can run update queries

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $queryRaw › $queryRaw(sql`<SQL>`)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $queryRaw › $queryRaw(sql`<SQL>`) with params

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $queryRaw › $queryRaw`<SQL>`

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $queryRaw › $queryRaw`<SQL>` with join

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $queryRaw › $queryRaw`<SQL>` with params

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $queryRaw › $queryRaw(string) error

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $queryRawUnsafe › $queryRawUnsafe(string)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $queryRawUnsafe › $queryRawUnsafe(string) with params

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $executeRaw › $executeRaw(sql`<SQL>`)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $executeRaw › $executeRaw(sql`<SQL>`) with params

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $executeRaw › $executeRaw`<SQL>`

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $executeRaw › $executeRaw`<SQL>` with params

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $executeRaw › $executeRaw(string) error

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $executeRawUnsafe › $executeRawUnsafe(string)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)

  ● blog-env-mssql › $executeRawUnsafe › $executeRawUnsafe(string) with params

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      12 |   const requests: any[] = []
      13 |
    > 14 |   beforeAll(async () => {
         |   ^
      15 |     const connectionString = process.env.TEST_MSSQL_URI || 'mssql://SA:Pr1sm4_Pr1sm4@localhost:1433/master'
      16 |     const setupParams: SetupParams = {
      17 |       connectionString,

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:14:3
      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-mssql/test.ts:9:41)


  ● Test suite failed to run

    TypeError: Cannot read properties of null (reading '$disconnect')

      43 |
      44 |   afterAll(async () => {
    > 45 |     await prisma.$disconnect()
         |                  ^
      46 |   })
      47 |
      48 |   test('includes version in generated client', () => {

      at src/__tests__/integration/happy/blog-env-mssql/test.ts:45:18

FAIL src/__tests__/integration/happy/json-filtering-postgres/test.ts (94.814 s)
  ● json-filtering(postgres) › lt(2)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › lte(2)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › gte(2)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › gt(2)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › string_contains(bc)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › string_starts_with(a)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › string_ends_with(c)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › array_contains([1, 2, 3])

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › array_starts_with(5)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › array_ends_with(12)

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › filter with Prisma.JsonNull

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › filter with Prisma.DbNull

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)

  ● json-filtering(postgres) › filter with Prisma.AnyNull

    thrown: "Exceeded timeout of 90000 ms for a hook.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      17 |
      18 | describe('json-filtering(postgres)', () => {
    > 19 |   beforeAll(async () => {
         |   ^
      20 |     process.env.TEST_POSTGRES_URI += '-json-filtering'
      21 |     await tearDownPostgres(process.env.TEST_POSTGRES_URI!)
      22 |     await migrateDb({

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:19:3
      at Object.<anonymous> (src/__tests__/integration/happy/json-filtering-postgres/test.ts:18:1)


  ● Test suite failed to run

    TypeError: Cannot read properties of undefined (reading 'user')

      64 |   })
      65 |   afterAll(async () => {
    > 66 |     await prisma.user.deleteMany()
         |                  ^
      67 |     await prisma.$disconnect()
      68 |     process.env.TEST_POSTGRES_URI = baseUri
      69 |   })

      at src/__tests__/integration/happy/json-filtering-postgres/test.ts:66:18

FAIL src/__tests__/integration/happy/blog-env-postgresql/test.ts (95.08 s)
  ● Blog fixture: Postgres

    thrown: "Exceeded timeout of 90000 ms for a test.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      3 | import { setupPostgres, tearDownPostgres } from '../../../../utils/setupPostgres'
      4 |
    > 5 | test('Blog fixture: Postgres', async () => {
        | ^
      6 |   await generateTestClient()
      7 |
      8 |   const { PrismaClient, Prisma } = require('./node_modules/@prisma/client')

      at Object.<anonymous> (src/__tests__/integration/happy/blog-env-postgresql/test.ts:5:1)

FAIL src/__tests__/generation/generator.test.ts (307.881 s)
  ● generator › denylist from engine validation

    thrown: "Exceeded timeout of 90000 ms for a test.
    Use jest.setTimeout(newTimeout) to increase the timeout value, if this is a long-running test."

      94 |   })
      95 |
    > 96 |   test('denylist from engine validation', async () => {
         |   ^
      97 |     const prismaClientTarget = path.join(__dirname, './node_modules/@prisma/client')
      98 |     // Make sure, that nothing is cached.
      99 |     try {

      at src/__tests__/generation/generator.test.ts:96:3
      at Object.<anonymous> (src/__tests__/generation/generator.test.ts:16:1)

Computer is a https://www.microsoft.com/en-us/d/surface-laptop-studio/8srdf62swkpf:

$ npx thispc
npm WARN exec The following package was not found and will be installed: thispc
Terminal size: undefinedxundefined

 User Information
┌─────────┬──────────┬──────────────────┬──────────────────┬─────────────────┬─────────────────────────────┐
│ (index) │ Username │     Hostname     │  Home Directory  │    Timezone     │          Timestamp          │
├─────────┼──────────┼──────────────────┼──────────────────┼─────────────────┼─────────────────────────────┤
│    0    │  'Jan'   │ 'Surface-Studio' │ 'C:\\Users\\Jan' │ 'Europe/Berlin' │ '2022-05-04T00:44:05+02:00' │
└─────────┴──────────┴──────────────────┴──────────────────┴─────────────────┴─────────────────────────────┘
 System Specification
┌─────────┬──────────────┬────────────┬──────────────────────────────────────────────────┬────────────┬───────────────┐
│ (index) │ Total Memory │ Total Cpus │                    Cpu Model                     │ Cpu Speed  │ System Uptime │
├─────────┼──────────────┼────────────┼──────────────────────────────────────────────────┼────────────┼───────────────┤
│    0    │  '31.84 GB'  │     8      │ '11th Gen Intel(R) Core(TM) i7-11370H @ 3.30GHz' │ '3.30 GHz' │    '2.2 d'    │
└─────────┴──────────────┴────────────┴──────────────────────────────────────────────────┴────────────┴───────────────┘
 System Information
┌─────────┬───────────────────┬──────────┬──────────────┬──────────────┬────────────────────────────────────────┐
│ (index) │ Operating System  │ Platform │     Type     │ Architecture │             Temp Directory             │
├─────────┼───────────────────┼──────────┼──────────────┼──────────────┼────────────────────────────────────────┤
│    0    │ 'Windows 10 Home' │ 'win32'  │ 'Windows_NT' │    'x64'     │ 'C:\\Users\\Jan\\AppData\\Local\\Temp' │
└─────────┴───────────────────┴──────────┴──────────────┴──────────────┴────────────────────────────────────────┘

(This tool is misreporting the Windows version btw, I am on Win11)

@danstarns
Copy link
Contributor Author

#13149

@SevInf
Copy link
Contributor

SevInf commented Jul 15, 2022

I beleive this should be fixed right now. iTx caused the slowdown. Issue was fixed in prisma/prisma-engines#3028

@SevInf SevInf closed this as completed Jul 15, 2022
@Jolg42 Jolg42 added this to the 4.1.0 milestone Jul 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/tech A technical change. team/client Issue for team Client. team/schema Issue for team Schema. tech/typescript Issue for tech TypeScript. topic: tech debt Initiatives to improve the experience of working with the code base topic: tests
Projects
None yet
Development

No branches or pull requests

5 participants