File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed
Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change 1+ import { Readable , Writable } from 'stream' ;
12import { Client } from '../client/index.js' ;
23import { StdioClientTransport } from '../client/stdio.js' ;
34import { Server } from '../server/index.js' ;
@@ -17,12 +18,28 @@ describe('Process cleanup', () => {
1718 }
1819 ) ;
1920
20- const transport = new StdioServerTransport ( ) ;
21+ const mockReadable = new Readable ( {
22+ read ( ) {
23+ this . push ( null ) ; // signal EOF
24+ }
25+ } ) ,
26+ mockWritable = new Writable ( {
27+ write ( chunk , encoding , callback ) {
28+ callback ( ) ;
29+ }
30+ } ) ;
31+
32+ // Attach mock streams to process for the server transport
33+ const transport = new StdioServerTransport ( mockReadable , mockWritable ) ;
2134 await server . connect ( transport ) ;
2235
2336 // Close the transport
2437 await transport . close ( ) ;
2538
39+ // ensure a proper disposal mock streams
40+ mockReadable . destroy ( ) ;
41+ mockWritable . destroy ( ) ;
42+
2643 // If we reach here without hanging, the test passes
2744 // The test runner will fail if the process hangs
2845 expect ( true ) . toBe ( true ) ;
You can’t perform that action at this time.
0 commit comments