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: #26473 Fixes: #25870 Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Joyee Cheung <[email protected]>
1 parent 693505b commit 476dc7e

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

Diff for: test/internet/test-dns-idna2008.js

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

15-
const [host, expectedAddress] = ['straße.de', '81.169.145.78'];
16+
const fixture = {
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-
new dns.promises.Resolver().resolve4(host).then(mustCall((addresses) => {
32-
assert.deepStrictEqual(addresses, [expectedAddress]);
48+
const p = new dns.promises.Resolver().resolve4(fixture.hostname);
49+
p.then(mustCall((addresses) => {
50+
assert.deepStrictEqual(addresses, [fixture.expectedAddress]);
3351
}));

0 commit comments

Comments
 (0)