From 87c798bcb9f75e05bf2fef885aa99dd2841b4c98 Mon Sep 17 00:00:00 2001 From: Marius Vollmer Date: Wed, 8 Nov 2023 09:16:43 +0200 Subject: [PATCH] test: Guard against unprintable console.log arguments Let's never abort a test just because converting a console.log argument crashes. --- test/common/chromium-cdp-driver.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/test/common/chromium-cdp-driver.js b/test/common/chromium-cdp-driver.js index 1b5d9eb700fb..eecbfda906df 100755 --- a/test/common/chromium-cdp-driver.js +++ b/test/common/chromium-cdp-driver.js @@ -69,16 +69,20 @@ function clearExceptions() { } function stringifyConsoleArg(arg) { - if (arg.type === 'string') - return arg.value; - if (arg.type === 'object') { - const obj = {}; - arg.preview.properties.forEach(prop => { - obj[prop.name] = prop.value.toString(); - }); - return JSON.stringify(obj); + try { + if (arg.type === 'string') + return arg.value; + if (arg.type === 'object') { + const obj = {}; + arg.preview.properties.forEach(prop => { + obj[prop.name] = prop.value.toString(); + }); + return JSON.stringify(obj); + } + return JSON.stringify(arg); + } catch { + return "???"; } - return JSON.stringify(arg); } function setupLogging(client) {