.PHONY: r7rs-test r6rs-passed
TESTS = FEATURES =
test: rust-test r7rs-test r6rs-test misc-test srfi-test
rust-test: src/lexer_iter.rs src/number_lexer_iter.rs
cargo test $(TESTS) $(FEATURES) --features test_gc_size -- --nocapture --test-threads 1
rust-miri-test: src/lexer_iter.rs src/number_lexer_iter.rs
MIRIFLAGS="-Zmiri-symbolic-alignment-check -Zmiri-ignore-leaks" cargo +nightly miri test $(TESTS) $(FEATURES) --features test_gc_size -- --nocapture --test-threads 1
scheme-test:
make -C scripts test
r7rs-test: src/lexer_iter.rs src/number_lexer_iter.rs
cargo run --release ./tests/r7rs/r7rs-tests.scm
r6rs-test: src/lexer_iter.rs src/number_lexer_iter.rs
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/lists.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/reader.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/conditions.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/eval.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/contrib.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/mutable-strings.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/programs.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/control.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/records/procedural.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/enums.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/sorting.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/records/syntactic.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/exceptions.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/syntax-case.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/mutable-pairs.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/unicode.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/r5rs.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/arithmetic/fixnums.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/arithmetic/flonums.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/arithmetic/bitwise.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/hashtables.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/bytevectors.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/io/simple.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/base.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run-via-eval.sps --loadpath=./tests/r6rs-test-suite/
cargo run --release ./tests/r6rs-test-suite/tests/r6rs/run/io/ports.sps --loadpath=./tests/r6rs-test-suite/
misc-test:
(cd tests/irregex && cargo run --release null-irregex.ss)
(cd tests/irregex && cargo run --release test-irregex-mosh.ss)
cargo run --release ./tests/annotated-pair.scm
cargo run --release ./tests/cgi.scm
cargo run --release ./tests/clos.scm
cargo run --release ./tests/comment.scm
cargo run --release ./tests/condition.scm
! cargo run --release ./tests/error-with-circular.scm 2>/dev/null
cargo run --release ./tests/exception.scm
cargo run --release ./tests/import-srfi.scm
cargo run --release ./tests/input-output-port.scm
cargo run --release ./tests/input-port.scm < tests/input.txt
cargo run --release ./tests/io-error.scm
cargo run --release ./tests/lists.scm
cargo run --release ./tests/match.scm
cargo run --release ./tests/misc.scm
cargo run --release ./tests/mosh-test.scm
cargo run --release ./tests/number.scm
cargo run --release ./tests/output-port.scm
cargo run --release ./tests/print.scm
cargo run --release ./tests/r7rs/import-all.scm
cargo run --release ./tests/r7rs/top-level.scm
cargo run --release ./tests/r7rs/vector.scm
cargo run --release ./tests/rbtree-test.scm
cargo run --release ./tests/regexp.scm
cargo run --release ./tests/shorten.scm
cargo run --release ./tests/template.scm
cargo run --release ./tests/testing.scm
cargo run --release ./tests/unicode.scm
cargo run --release ./tests/wrong_argument.scm 2>&1 | grep 'wrong_argument.scm'
cargo run tests/record.scm --loadpath="tests/mylib"
cargo run tests/unicode-path.scm --loadpath=./tests
cargo run tests/use-foo.scm --loadpath=".:./tests/mylib"
srfi-test:
cargo run --release ./tests/srfi/and-let.sps
cargo run --release ./tests/srfi/compare-procedures.sps
cargo run --release ./tests/srfi/cut.sps
cargo run --release ./tests/srfi/eager-comprehensions.sps
cargo run --release ./tests/srfi/print-ascii.sps
cargo run --release ./tests/srfi/random.sps
cargo run --release ./tests/srfi/random.sps
cargo run --release ./tests/srfi/records.sps
cargo run --release ./tests/srfi/srfi-151.scm
cargo run --release ./tests/srfi/srfi-194.scm
cargo run --release ./tests/srfi8.scm
cargo run --release ./tests/srfi-39.scm
cargo run --release ./tests/srfi-misc.scm
cargo run --release ./tests/srfi19.scm
cargo run --release ./tests/srfi/time.sps
cargo run --release ./tests/srfi/eager-comprehensions.sps
cargo run --release ./tests/srfi/version.sps
cargo run --release ./tests/srfi/random-conftest.sps
gen-tests:
mosh scripts/test_data_convert.scm ./test-data.scm
make -C data
gen-free-vars:
mosh scripts/gen_free_vars_procs.scm ../boot/free-vars-decl.scm
gen-compiler:
make -C boot
cargo fmt
src/lexer_iter.rs: src/lexer_iter.re
re2rust -u $< > $@
src/number_lexer_iter.rs: src/number_lexer_iter.re
re2rust -c $< > $@
update-psyntax:
(cd ../boot/runtimes/psyntax-mosh/ && make && cd ../.. && make && cd ../rmosh/boot && make ../src/psyntax.rs)
clean:
rm data/test*.scm
make -C data clean