1'use strict'; 2const dns = require('dns'); 3const assert = require('assert'); 4 5assert(process.env.NODE_TEST_HOST); 6 7const { 8 setDeserializeMainFunction, 9} = require('v8').startupSnapshot; 10 11function onError(err) { 12 console.error('error:', err); 13} 14 15function onLookup(address, family) { 16 console.log(`address: ${JSON.stringify(address)}`); 17 console.log(`family: ${JSON.stringify(family)}`); 18} 19 20function query() { 21 const host = process.env.NODE_TEST_HOST; 22 if (process.env.NODE_TEST_PROMISE === 'true') { 23 dns.promises.lookup(host, { family: 4 }).then( 24 ({address, family}) => onLookup(address, family), 25 onError); 26 } else { 27 dns.lookup(host, { family: 4 }, (err, address, family) => { 28 if (err) { 29 onError(err); 30 } else { 31 onLookup(address, family); 32 } 33 }); 34 } 35} 36 37query(); 38 39setDeserializeMainFunction(query); 40