blob: 90387af6964b2cbf3a5d04f24721636c9e73c388 [file] [log] [blame]
// Test that Response methods which return a Promise don't crash after garbage
// collection. Crashes on failure. This function is extremely slow on MSAN
// builds. Each call should be a separate HTML file and added to SlowTests.
// See https://bugs.chromium.org/p/chromium/issues/detail?id=829790#c5
function testResponseMethod(methodName) {
promise_test(async () => {
const rs = new ReadableStream();
const response = new Response(rs);
try {
// This throws an exception in debug builds but not in release builds.
// If the process doesn't crash, the test passed.
fillStackAndRun(() =>
Response.prototype[methodName].call(response).catch(() => {}),
784);
} catch (e) {
}
await asyncGC();
}, `stack overflow in response.${methodName}() should not crash the browser`);
}