test: don't clobber RegExp.$_ on startup

Some tests expect it to be empty so clear it again after running a
regular expression against /proc/cpuinfo.

It didn't cause test failures on any of the CI machines, to the best of
my knowledge, because most of the time /proc/cpuinfo doesn't contain
the string it was looking for.

Fixes: https://github.com/nodejs/node/issues/44840
PR-URL: https://github.com/nodejs/node/pull/44864
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
This commit is contained in:
Ben Noordhuis
2022-10-07 20:39:31 +02:00
committed by GitHub
parent 8f8ce2505d
commit 4d94be3474

View File

@@ -126,7 +126,9 @@ const isPi = (() => {
// the contents of `/sys/firmware/devicetree/base/model` but that doesn't
// work inside a container. Match the chipset model number instead.
const cpuinfo = fs.readFileSync('/proc/cpuinfo', { encoding: 'utf8' });
return /^Hardware\s*:\s*(.*)$/im.exec(cpuinfo)?.[1] === 'BCM2835';
const ok = /^Hardware\s*:\s*(.*)$/im.exec(cpuinfo)?.[1] === 'BCM2835';
/^/.test(''); // Clear RegExp.$_, some tests expect it to be empty.
return ok;
} catch {
return false;
}