strop 0.3.0

stochastically generates machine code
Documentation
#!/usr/bin/env -S just --justfile

export RUST_BACKTRACE := "1"

[group: 'CI/CD']
ci-stable:
	# There is a github workflow which performs miscellaneous checks in the
	# event of a push to a feature-branch.
	# This ought to perform the same checks, but locally.
	cargo fmt --check
	cargo clippy -- -Dwarnings
	cargo test

[group: 'CI/CD']
ci-nightly:
	cargo +nightly test --features m68k --no-default-features --lib
	cargo +nightly clippy --features m68k --no-default-features -- -Dwarnings

[group: 'CI/CD']
ci: ci-stable ci-nightly

[group: 'Long-running tests']
mips_no_duplicates:
	# Finds two MIPS instructions that disassemble the same. This would
	# presumably be because of don't-cares in the instruction decoding; for
	# example the `add` instruction ignores inthe `shamt` field.
	# Ideally the bruteforce search should skip these duplicates so if this
	# test finds something, then there's room for improvement here.
	cargo test --release -- mips::subroutine::test::no_duplicates --nocapture --include-ignored


[group: 'Long-running tests']
mips_all_two_instruction_subroutines:
	# Finds the first MIPS instruction which crashes the emulator, if there
	# is such an instruction
	cargo test --release -- mips::subroutine::test::all_two_instruction_subroutines --nocapture --include-ignored | tail -n 50

[group: 'Long-running tests']
mips_can_iterate_over_all_instructions:
	cargo test --release -- mips::isa::test::can_iterate_over_all_instructions