From 8e7cbf10d222ed979a3dc5c7161d0445c8a907df Mon Sep 17 00:00:00 2001 From: Richard Ward Date: Wed, 31 Dec 2025 13:11:24 +0000 Subject: [PATCH] update: shared,packages,cli (1 files) --- .../shared/seed/scripts/runtime/test_cli.cjs | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 packages/shared/seed/scripts/runtime/test_cli.cjs diff --git a/packages/shared/seed/scripts/runtime/test_cli.cjs b/packages/shared/seed/scripts/runtime/test_cli.cjs new file mode 100644 index 000000000..bab6ebc28 --- /dev/null +++ b/packages/shared/seed/scripts/runtime/test_cli.cjs @@ -0,0 +1,43 @@ +#!/usr/bin/env node +/** + * CLI Test Runner for JSON Script Tests (CommonJS version) + * Usage: node test_cli.cjs + */ + +const { runTestSuiteSync, formatResults } = require('./test_runner.cjs'); +const path = require('path'); + +function main() { + const args = process.argv.slice(2); + + if (args.length < 2) { + console.error('Usage: node test_cli.cjs '); + console.error(''); + console.error('Example:'); + console.error(' node test_cli.cjs ../../script.json ../../../json_script_example/tests/expressions.cases.json'); + process.exit(1); + } + + const scriptPath = path.resolve(args[0]); + const testPath = path.resolve(args[1]); + + console.log('Running tests...'); + console.log(`Script: ${scriptPath}`); + console.log(`Test Suite: ${testPath}`); + + try { + const results = runTestSuiteSync(scriptPath, testPath); + const output = formatResults(results); + console.log(output); + + // Exit with error code if tests failed + process.exit(results.failed > 0 ? 1 : 0); + } catch (error) { + console.error('\n❌ Test execution failed:'); + console.error(error.message); + console.error(error.stack); + process.exit(1); + } +} + +main();