test: make `test-permission-sqlite-load-extension` more robust

PR-URL: https://github.com/nodejs/node/pull/56295
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
pull/56318/head
Antoine du Hamel 2024-12-19 18:11:19 +01:00 committed by GitHub
parent fd8de670da
commit ec6e6b534c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 10 deletions

View File

@ -1,18 +1,16 @@
'use strict';
const common = require('../common');
const assert = require('node:assert');
const childProcess = require('child_process');
const code = `const sqlite = require('node:sqlite');
const db = new sqlite.DatabaseSync(':memory:', { allowExtension: true });
db.loadExtension('nonexistent');`.replace(/\n/g, ' ');
childProcess.exec(
`${process.execPath} --permission -e "${code}"`,
{},
common.mustCall((err, _, stderr) => {
assert.strictEqual(err.code, 1);
assert.match(stderr, /Error: Cannot load SQLite extensions when the permission model is enabled/);
assert.match(stderr, /code: 'ERR_LOAD_SQLITE_EXTENSION'/);
})
);
common.spawnPromisified(
process.execPath,
['--permission', '--eval', code],
).then(common.mustCall(({ code, stderr }) => {
assert.match(stderr, /Error: Cannot load SQLite extensions when the permission model is enabled/);
assert.match(stderr, /code: 'ERR_LOAD_SQLITE_EXTENSION'/);
assert.strictEqual(code, 1);
}));