Skip to content

Commit ba05516

Browse files
committed
add running tests to buildscript
1 parent 1bbff11 commit ba05516

File tree

2 files changed

+32
-5
lines changed

2 files changed

+32
-5
lines changed

build.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ if (args.includes('-h')) {
2626
-k Famicom Keyboard support
2727
-w force WASM compiler
2828
-c force PNG to CHR conversion
29+
-t run tests
2930
-h you are here
3031
`);
3132
process.exit(0);
@@ -196,3 +197,8 @@ hashFile('tetris.bps');
196197
console.log();
197198

198199
console.timeEnd('build');
200+
201+
if (args.includes('-t')) {
202+
console.log('\nrunning tests');
203+
handleSpawn('cargo', ...'run --release --manifest-path tests/Cargo.toml -- -t'.split(' '));
204+
}

tests/src/score.rs

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,34 @@ pub fn test_render() {
2424
assert_eq!((i % 16) as u8, rendered_score(&mut emu)[0]);
2525
}
2626

27+
// check letter score rendering works
28+
29+
// for i in 250..262 {
30+
// let score = i * 100000;
31+
32+
// score::set(&mut emu, score);
33+
// emu.registers.pc = labels::get("renderLettersScore");
34+
// util::run_to_return(&mut emu, false);
35+
36+
// // TODO: fix breaking at 25.5m
37+
// println!("{} {} {}", i, (i % 36) as u8, rendered_score(&mut emu)[0]);
38+
// }
39+
2740
// check score cap works
2841

29-
let score = 8952432;
30-
score::set(&mut emu, score);
31-
emu.registers.pc = labels::get("renderScoreCap");
32-
util::run_to_return(&mut emu, false);
33-
assert_eq!(vec![9, 9, 9, 9, 9, 9], rendered_score(&mut emu));
42+
for score in [8952432, 999999, 1000000, 1000010, 10000000, 100000000] {
43+
score::set(&mut emu, score);
44+
emu.registers.pc = labels::get("renderScoreCap");
45+
util::run_to_return(&mut emu, false);
46+
assert_eq!(vec![9, 9, 9, 9, 9, 9], rendered_score(&mut emu));
47+
}
48+
49+
for score in [100000, 512345, 999998] {
50+
score::set(&mut emu, score);
51+
emu.registers.pc = labels::get("renderScoreCap");
52+
util::run_to_return(&mut emu, false);
53+
assert_ne!(vec![9, 9, 9, 9, 9, 9], rendered_score(&mut emu));
54+
}
3455
}
3556

3657
pub fn set(emu: &mut NesState, score: u32) {

0 commit comments

Comments
 (0)