@@ -31,8 +31,8 @@ describe('parallel run', () => {
3131 assert . strictEqual ( result . stats . passes , 3 ) ;
3232 } ) ;
3333
34- it ( 'should correctly handle circular references in an exception' , async ( ) => {
35- const result = await runMochaJSONAsync ( 'parallel/circular-error.mjs' , [
34+ it ( 'should correctly handle circular array references in an exception' , async ( ) => {
35+ const result = await runMochaJSONAsync ( 'parallel/circular-error-array .mjs' , [
3636 '--parallel' ,
3737 '--jobs' ,
3838 '2' ,
@@ -45,7 +45,7 @@ describe('parallel run', () => {
4545 } ) ;
4646
4747 it ( 'should correctly handle an exception with retries' , async ( ) => {
48- const result = await runMochaJSONAsync ( 'parallel/circular-error.mjs' , [
48+ const result = await runMochaJSONAsync ( 'parallel/circular-error-array .mjs' , [
4949 '--parallel' ,
5050 '--jobs' ,
5151 '2' ,
@@ -58,4 +58,29 @@ describe('parallel run', () => {
5858 assert . strictEqual ( result . failures [ 0 ] . err . message , 'Foo' ) ;
5959 assert . strictEqual ( result . failures [ 0 ] . err . foo . props [ 0 ] , '[Circular]' ) ;
6060 } ) ;
61+
62+ it ( 'should correctly handle circular object references in an exception' , async ( ) => {
63+ const result = await runMochaJSONAsync ( 'parallel/circular-error-object.mjs' , [
64+ '--parallel' ,
65+ '--jobs' ,
66+ '2' ,
67+ require . resolve ( './fixtures/parallel/testworkerid1.mjs' )
68+ ] ) ;
69+ assert . strictEqual ( result . stats . failures , 1 ) ;
70+ assert . strictEqual ( result . stats . passes , 1 ) ;
71+ assert . strictEqual ( result . failures [ 0 ] . err . message , 'Oh no!' ) ;
72+ assert . deepStrictEqual ( result . failures [ 0 ] . err . values , [ { toB : { toA : '[Circular]' } } ] ) ;
73+ } ) ;
74+
75+ it ( 'should correctly handle a non-writable getter reference in an exception' , async ( ) => {
76+ const result = await runMochaJSONAsync ( 'parallel/getter-error-object.mjs' , [
77+ '--parallel' ,
78+ '--jobs' ,
79+ '2' ,
80+ require . resolve ( './fixtures/parallel/testworkerid1.mjs' )
81+ ] ) ;
82+ assert . strictEqual ( result . stats . failures , 1 ) ;
83+ assert . strictEqual ( result . stats . passes , 1 ) ;
84+ assert . strictEqual ( result . failures [ 0 ] . err . message , 'Oh no!' ) ;
85+ } ) ;
6186} ) ;
0 commit comments