| // Flags: --expose-internals |
| 'use strict'; |
| const common = require('../common'); |
| const assert = require('assert'); |
| const dgram = require('dgram'); |
| const { kStateSymbol } = require('internal/dgram'); |
| const s = dgram.createSocket('udp4'); |
| const { handle } = s[kStateSymbol]; |
| |
| s.on('error', common.mustCall((err) => { |
| s.close(); |
| |
| // Don't check the full error message, as the errno is not important here. |
| assert(/^Error: recvmsg/.test(err)); |
| assert.strictEqual(err.syscall, 'recvmsg'); |
| })); |
| |
| s.on('message', common.mustNotCall('no message should be received.')); |
| s.bind(common.mustCall(() => handle.onmessage(-1, handle, null, null))); |