aboutsummaryrefslogtreecommitdiff
path: root/tests/drivers/image_run.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/drivers/image_run.js')
-rw-r--r--tests/drivers/image_run.js7
1 files changed, 3 insertions, 4 deletions
diff --git a/tests/drivers/image_run.js b/tests/drivers/image_run.js
index f657916..ea05f9f 100644
--- a/tests/drivers/image_run.js
+++ b/tests/drivers/image_run.js
@@ -2,12 +2,11 @@
const fs = require('fs');
const { TinyVM } = require('../../build/js/tinyvm.js');
const { mapValues } = require('../../src/js/mapvalues.js');
-const header = fs.readFileSync(process.argv[2], 'utf8');
-const org = Number(header.match(/#define\s+GORG\s+(\d+)/)[1]);
-const words = header.match(/genome\[\]\s*=\s*\{([\s\S]*?)\};/)[1].split(',').map(s => s.trim()).filter(Boolean);
+// usage: node tests/drivers/image_run.js genome.bin memmap.h [--stdin]
+const image = fs.readFileSync(process.argv[2]);
const layout = mapValues(process.argv[3], ['GORG', 'DS0', 'DSLIM', 'RS0', 'RSLIM', 'SYSGATE', 'ZFP', 'HEAP_LO', 'HEAP_HI']);
const machine = new TinyVM({ layout, onMessage: message => process.stderr.write(message) });
-machine.loadGenome(words, org);
+machine.loadImage(image, layout.GORG);
if (process.argv[4] === '--stdin') machine.setInput(fs.readFileSync(0));
const status = machine.run();
process.stdout.write(machine.getOutput());