Skip to content

Commit 476dc7e

Browse files
refackBridgeAR
authored andcommitted
test: de-flake test-dns-idna2008.js
* use known well-behaved DNS server * force pass on ESERVFAIL PR-URL: #26473Fixes: #25870 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
1 parent 693505b commit 476dc7e

1 file changed

Lines changed: 27 additions & 9 deletions

File tree

‎test/internet/test-dns-idna2008.js‎

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,41 @@
1111
const{ mustCall }=require('../common');
1212
constassert=require('assert');
1313
constdns=require('dns');
14+
const{ addresses }=require('../common/internet');
1415

15-
const[host,expectedAddress]=['straße.de','81.169.145.78'];
16+
constfixture={
17+
hostname: 'straße.de',
18+
expectedAddress: '81.169.145.78',
19+
dnsServer: addresses.DNS4_SERVER
20+
};
1621

17-
dns.lookup(host,mustCall((err,address)=>{
22+
// Explicitly use well behaved DNS servers that are known to be able to resolve
23+
// the query (which is a.k.a xn--strae-oqa.de).
24+
dns.setServers([fixture.dnsServer]);
25+
26+
dns.lookup(fixture.hostname,mustCall((err,address)=>{
27+
if(err&&err.errno==='ESERVFAIL'){
28+
assert.ok(err.message.includes('queryA ESERVFAIL straße.de'));
29+
return;
30+
}
1831
assert.ifError(err);
19-
assert.strictEqual(address,expectedAddress);
32+
assert.strictEqual(address,fixture.expectedAddress);
2033
}));
2134

22-
dns.promises.lookup(host).then(mustCall(({ address })=>{
23-
assert.strictEqual(address,expectedAddress);
35+
dns.promises.lookup(fixture.hostname).then(mustCall(({ address })=>{
36+
assert.strictEqual(address,fixture.expectedAddress);
37+
}).catch((err)=>{
38+
if(err&&err.errno==='ESERVFAIL'){
39+
assert.ok(err.message.includes('queryA ESERVFAIL straße.de'));
40+
}
2441
}));
2542

26-
dns.resolve4(host,mustCall((err,addresses)=>{
43+
dns.resolve4(fixture.hostname,mustCall((err,addresses)=>{
2744
assert.ifError(err);
28-
assert.deepStrictEqual(addresses,[expectedAddress]);
45+
assert.deepStrictEqual(addresses,[fixture.expectedAddress]);
2946
}));
3047

31-
newdns.promises.Resolver().resolve4(host).then(mustCall((addresses)=>{
32-
assert.deepStrictEqual(addresses,[expectedAddress]);
48+
constp=newdns.promises.Resolver().resolve4(fixture.hostname);
49+
p.then(mustCall((addresses)=>{
50+
assert.deepStrictEqual(addresses,[fixture.expectedAddress]);
3351
}));

0 commit comments

Comments
 (0)