From f1eb816c07709056ce2635b60b2f463f20f71fb0 Mon Sep 17 00:00:00 2001 From: Brian Carlson Date: Mon, 1 May 2023 09:01:20 -0500 Subject: [PATCH] Fix race condition in release event test for pool --- packages/pg-pool/test/events.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/pg-pool/test/events.js b/packages/pg-pool/test/events.js index 751b14db..809c2159 100644 --- a/packages/pg-pool/test/events.js +++ b/packages/pg-pool/test/events.js @@ -68,17 +68,20 @@ describe('events', function () { expect(client).to.be.ok() releaseCount++ }) + const promises = [] for (let i = 0; i < 10; i++) { pool.connect(function (err, client, release) { if (err) return done(err) release() }) - pool.query('SELECT now()') + promises.push(pool.query('SELECT now()')) } - setTimeout(function () { - expect(releaseCount).to.be(20) - pool.end(done) - }, 100) + Promise.all(promises).then(() => { + pool.end(() => { + expect(releaseCount).to.be(20) + done() + }) + }) }) it('emits release with an error if client is released due to an error', function (done) { @@ -87,7 +90,6 @@ describe('events', function () { expect(err).to.equal(undefined) const releaseError = new Error('problem') pool.once('release', function (err, errClient) { - console.log(err, errClient) expect(err).to.equal(releaseError) expect(errClient).to.equal(client) pool.end(done)