diff options
| author | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-12-20 16:49:46 +0100 |
|---|---|---|
| committer | Miquel Sabaté Solà <mikisabate@gmail.com> | 2024-12-20 16:49:46 +0100 |
| commit | 0087cc0631ae8e8b1892e674e34a9daa84ad0bb9 (patch) | |
| tree | aadcac9318a45dd0177cedacc169269c5eba4cc6 /scripts | |
| parent | d88fab8c004b3f2556714725bc1e9d48ec6c619f (diff) | |
| download | tools.nes-0087cc0631ae8e8b1892e674e34a9daa84ad0bb9.tar.gz tools.nes-0087cc0631ae8e8b1892e674e34a9daa84ad0bb9.zip | |
Introduce end-to-end tests
For now I have added the most simple example for an NES/Famicom game,
which I already had on a private repository (that I plan to open source
soonish).
Tests simply run `nasm` on known source files and compares the results
with an .nes ROM file that has the exact bytes that we expect.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/full-test.sh | 2 | ||||
| -rwxr-xr-x | scripts/test-e2e.sh | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/scripts/full-test.sh b/scripts/full-test.sh index 003f217..742b1e3 100755 --- a/scripts/full-test.sh +++ b/scripts/full-test.sh @@ -8,6 +8,8 @@ cargo build --all --all-targets --all-features cargo clippy --all-targets --all-features cargo test --all-targets --all-features -- --nocapture +./scripts/test-e2e.sh + pushd lib/xixanta cargo +nightly fuzz run fuzz_target_parser -- -max_total_time=180 cargo +nightly fuzz run fuzz_target_assembler -- -max_total_time=180 diff --git a/scripts/test-e2e.sh b/scripts/test-e2e.sh new file mode 100755 index 0000000..32bd76f --- /dev/null +++ b/scripts/test-e2e.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env sh + +set -ex + +rm -rf tests/out/ +mkdir -p tests/out/ + +cargo build + +./target/debug/nasm -c nrom -Werror -o tests/out/sprite.nes tests/src/sprite.s +diff tests/out/sprite.nes tests/bin/sprite.nes |
