run-backend.cjs 1.1 KB

123456789101112131415
  1. // Review-only tests are injected through -overlay; production sources are untouched.
  2. const { spawn } = require('node:child_process')
  3. const { writeFileSync } = require('node:fs')
  4. const { resolve } = require('node:path')
  5. const root = resolve(__dirname, '../..')
  6. const child = spawn(process.execPath, [resolve(root, 'verification/account-protection-review/run-go-check.cjs'), resolve(root, '../.tools/go/bin/go.exe'), 'test', '-json', '-tags=unit', '-overlay', resolve(__dirname, 'overlay.json'), './internal/service', './internal/repository', '-run', '^TestLatestReview', '-count=1', '-timeout=90s'], { cwd: resolve(root, 'backend'), stdio: ['ignore', 'pipe', 'pipe'] })
  7. let output = ''
  8. child.stdout.on('data', chunk => { output += chunk.toString() })
  9. child.stderr.on('data', chunk => process.stderr.write(chunk))
  10. child.on('close', code => {
  11. writeFileSync(resolve(__dirname, 'backend-reproductions.json'), output)
  12. const result = JSON.parse(output)
  13. process.stdout.write(JSON.stringify({ ...result.tests, failures: result.failures.map(f => f.test) }, null, 2) + '\n')
  14. process.exitCode = code
  15. })