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