feat: add tests for non nondeterministic hashes

This commit is contained in:
Jakub Janusz 2025-07-25 18:29:34 +02:00
parent 2edc564e26
commit 36d6346757

View File

@ -4,6 +4,7 @@ import * as process from 'process'
import * as cp from 'child_process'
import * as path from 'path'
import {test} from '@jest/globals'
import {expect} from '@jest/globals'
test('test sha256', async () => {
console.info(hashHex('this is content'))
@ -36,3 +37,25 @@ test('test runs', () => {
}
console.info(cp.execFileSync(np, [ip], options).toString())
})
test('test runs - hash is consistent', () => {
process.env['INPUT_WORKDIR'] = './'
process.env['INPUT_PATTERNS'] = '**/*.ts\n**/package-lock.json'
process.env['INPUT_GITIGNORE'] = 'true'
const np = process.execPath
const ip = path.join(__dirname, '..', 'lib', 'main.js')
const options: cp.ExecFileSyncOptions = {
env: process.env
}
const results: string[] = []
for (let i = 0; i < 5; i++) {
results.push(cp.execFileSync(np, [ip], options).toString())
}
// Extract hash from output and check all are the same
const hashes = results.map(output => {
const match = output.match(/Hash: ([a-fA-F0-9]+)/)
return match ? match[1] : null
})
expect(new Set(hashes).size).toBe(1)
console.info('All hashes:', hashes)
})