1'use strict'; 2 3const common = require('../common'); 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6common.requireNoPackageJSONAbove(); 7 8const fixtures = require('../common/fixtures'); 9 10const assert = require('assert'); 11const { spawnSync } = require('child_process'); 12 13const mainPath = fixtures.path('policy', 'crypto-hash-tampering', 'main.js'); 14const policyPath = fixtures.path( 15 'policy', 16 'crypto-hash-tampering', 17 'policy.json'); 18const { status, stderr } = 19 spawnSync(process.execPath, ['--experimental-policy', policyPath, mainPath], { encoding: 'utf8' }); 20assert.strictEqual(status, 1); 21assert(stderr.includes('sha384-Bnp/T8gFNzT9mHj2G/AeuMH8LcAQ4mljw15nxBNl5yaGM7VgbMzDT7O4+dXZTJJn')); 22