1'use strict'; 2 3require('../common'); 4 5// Regression tests for https://github.com/nodejs/node/issues/40693 6 7const assert = require('assert'); 8const net = require('net'); 9const { AsyncLocalStorage } = require('async_hooks'); 10 11net 12 .createServer((socket) => { 13 socket.write('Hello, world!'); 14 socket.pipe(socket); 15 }) 16 .listen(0, function() { 17 const asyncLocalStorage = new AsyncLocalStorage(); 18 const store = { val: 'abcd' }; 19 asyncLocalStorage.run(store, () => { 20 const client = net.connect({ port: this.address().port }); 21 client.on('data', () => { 22 assert.deepStrictEqual(asyncLocalStorage.getStore(), store); 23 client.end(); 24 this.close(); 25 }); 26 }); 27 }); 28