@@ -299,8 +299,9 @@ describe('test/client.test.ts', () => {
299299 // recovered after unlock.
300300 await conn . query ( 'select * from `myrds-test-user` limit 1;' ) ;
301301 } catch ( err ) {
302- conn . release ( ) ;
303302 throw err ;
303+ } finally {
304+ conn . release ( ) ;
304305 }
305306 } ) ;
306307
@@ -354,7 +355,8 @@ describe('test/client.test.ts', () => {
354355 } ) ;
355356
356357 it ( 'should throw rollback error with cause error when rollback failed' , async ( ) => {
357- mm ( RDSTransaction . prototype , 'rollback' , async ( ) => {
358+ mm ( RDSTransaction . prototype , 'rollback' , async function ( this : RDSTransaction ) {
359+ this . conn ! . release ( ) ;
358360 throw new Error ( 'fake rollback error' ) ;
359361 } ) ;
360362 await assert . rejects (
@@ -502,7 +504,9 @@ describe('test/client.test.ts', () => {
502504 } ) ;
503505 } ;
504506
505- const [ p1Res , p2Res ] = await Promise . all ( [ p1 ( ) , p2 ( ) . catch ( err => err ) ] ) ;
507+ const [ p1Res , p2Res ] = await Promise . all ( [ p1 ( ) , p2 ( ) . catch ( err => {
508+ return err ;
509+ } ) ] ) ;
506510 assert . strictEqual ( p1Res , true ) ;
507511 assert . strictEqual ( p2Res . code , 'ER_PARSE_ERROR' ) ;
508512 const rows = await db . query ( 'select * from ?? where email=? order by id' ,
@@ -681,6 +685,7 @@ describe('test/client.test.ts', () => {
681685 } ) ;
682686 return db ;
683687 } ) ;
688+ conn . release ( ) ;
684689 assert ( connQuerySql ) ;
685690 assert ( ! transactionQuerySql ) ;
686691 } ) ;
@@ -1508,10 +1513,11 @@ describe('test/client.test.ts', () => {
15081513 for ( let i = 0 ; i < 10 ; i ++ ) {
15091514 tasks . push ( longQuery ( ) ) ;
15101515 }
1516+ const tasksPromise = Promise . all ( tasks ) ;
15111517 await assert . rejects ( async ( ) => {
15121518 await longQuery ( ) ;
15131519 } , / g e t c o n n e c t i o n t i m e o u t a f t e r / ) ;
1514- await Promise . all ( tasks ) ;
1520+ await tasksPromise ;
15151521 } ) ;
15161522
15171523 it ( 'should release conn to pool' , async ( ) => {
0 commit comments