test: show more information in test-http2-debug upon failure
Use spawnSyncAndAssert() so that the stderr is logged when it doesn't match expectations. PR-URL: https://github.com/nodejs/node/pull/58391 Refs: https://github.com/nodejs/node/issues/58353 Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
parent
d2a13695bf
commit
0bbe5d34e7
@ -1,27 +1,31 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const common = require('../common');
|
const common = require('../common');
|
||||||
if (!common.hasCrypto)
|
if (!common.hasCrypto)
|
||||||
common.skip('missing crypto');
|
common.skip('missing crypto');
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const child_process = require('child_process');
|
const { spawnSyncAndAssert } = require('../common/child_process');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
||||||
process.env.NODE_DEBUG_NATIVE = 'http2';
|
spawnSyncAndAssert(process.execPath, [
|
||||||
process.env.NODE_DEBUG = 'http2';
|
|
||||||
const { stdout, stderr } = child_process.spawnSync(process.execPath, [
|
|
||||||
path.resolve(__dirname, 'test-http2-ping.js'),
|
path.resolve(__dirname, 'test-http2-ping.js'),
|
||||||
], { encoding: 'utf8' });
|
], {
|
||||||
|
env: {
|
||||||
assert(stderr.match(/Setting the NODE_DEBUG environment variable to 'http2' can expose sensitive data \(such as passwords, tokens and authentication headers\) in the resulting log\.\r?\n/),
|
...process.env,
|
||||||
stderr);
|
NODE_DEBUG: 'http2',
|
||||||
assert(stderr.match(/Http2Session client \(\d+\) handling data frame for stream \d+\r?\n/),
|
NODE_DEBUG_NATIVE: 'http2',
|
||||||
stderr);
|
},
|
||||||
assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session client \(\d+\)\] reading starting\r?\n/),
|
}, {
|
||||||
stderr);
|
trim: true,
|
||||||
assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session client \(\d+\)\] closed with code 0\r?\n/),
|
stderr(output) {
|
||||||
stderr);
|
assert.match(output,
|
||||||
assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session server \(\d+\)\] closed with code 0\r?\n/),
|
/Setting the NODE_DEBUG environment variable to 'http2' can expose sensitive data/);
|
||||||
stderr);
|
assert.match(output, /\(such as passwords, tokens and authentication headers\) in the resulting log\.\r?\n/);
|
||||||
assert(stderr.match(/HttpStream \d+ \(\d+\) \[Http2Session server \(\d+\)\] tearing down stream\r?\n/),
|
assert.match(output, /Http2Session client \(\d+\) handling data frame for stream \d+\r?\n/);
|
||||||
stderr);
|
assert.match(output, /HttpStream \d+ \(\d+\) \[Http2Session client \(\d+\)\] reading starting\r?\n/);
|
||||||
assert.strictEqual(stdout.trim(), '');
|
assert.match(output, /HttpStream \d+ \(\d+\) \[Http2Session client \(\d+\)\] closed with code 0\r?\n/);
|
||||||
|
assert.match(output, /HttpStream \d+ \(\d+\) \[Http2Session server \(\d+\)\] closed with code 0\r?\n/);
|
||||||
|
assert.match(output, /HttpStream \d+ \(\d+\) \[Http2Session server \(\d+\)\] tearing down stream\r?\n/);
|
||||||
|
},
|
||||||
|
stdout: ''
|
||||||
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user