Some checks failed
per-push tests / test-frontend (push) Blocked by required conditions
per-push tests / timed-decomposer-parse (push) Blocked by required conditions
per-push tests / test-utility (push) Blocked by required conditions
per-push tests / test-backend (push) Blocked by required conditions
per-push tests / build (push) Has been cancelled
This commit provides some but not all unit tests for VM instructions. All tests pass, and this commit includes modifications to logic to allow for that. Signed-off-by: Ava Affine <ava@sunnypup.io>
84 lines
2.2 KiB
YAML
84 lines
2.2 KiB
YAML
name: "per-push tests"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
pull_request_target:
|
|
types:
|
|
- opened
|
|
- synchronized
|
|
- reopened
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: docker
|
|
steps:
|
|
- name: checkout code
|
|
uses: actions/checkout@v4
|
|
- name: setup rust toolchain
|
|
uses: msrd0/rust-toolchain@nightly
|
|
- name: compile components
|
|
run: |
|
|
cargo build --lib
|
|
cargo build --bin decomposer
|
|
|
|
test-frontend:
|
|
needs: [build]
|
|
runs-on: docker
|
|
steps:
|
|
- name: checkout code
|
|
uses: actions/checkout@v4
|
|
- name: setup rust toolchain
|
|
uses: msrd0/rust-toolchain@nightly
|
|
- name: test lexer
|
|
run: cargo test lexer
|
|
- name: test parser
|
|
run: cargo test parser
|
|
|
|
timed-decomposer-parse:
|
|
needs: [test-frontend]
|
|
runs-on: docker
|
|
steps:
|
|
- name: checkout code
|
|
uses: actions/checkout@v4
|
|
- name: setup rust toolchain
|
|
uses: msrd0/rust-toolchain@nightly
|
|
- name: build decomposer
|
|
run: cargo build --bin decomposer
|
|
- name: download test scheme source
|
|
run: curl https://raw.githubusercontent.com/ecraven/r7rs-benchmarks/refs/heads/master/src/compiler.scm --output test.scm
|
|
- name: time parsing of test source
|
|
run: cargo run --bin decomposer -- -t test.scm
|
|
|
|
test-utility:
|
|
needs: [build]
|
|
runs-on: docker
|
|
steps:
|
|
- name: checkout code
|
|
uses: actions/checkout@v4
|
|
- name: setup rust toolchain
|
|
uses: msrd0/rust-toolchain@nightly
|
|
- name: test number package
|
|
run: cargo test number
|
|
- name: test double stack data type
|
|
run: cargo test stackstack
|
|
- name: test hashmap data type
|
|
run: cargo test hmap
|
|
|
|
test-backend:
|
|
needs: [build]
|
|
runs-on: docker
|
|
steps:
|
|
- name: checkout code
|
|
uses: actions/checkout@v4
|
|
- name: setup rust toolchain
|
|
uses: msrd0/rust-toolchain@nightly
|
|
- name: test instruction decoding
|
|
run: cargo test util
|
|
- name: test garbage collection
|
|
run: cargo test heap
|
|
- name: test instruction set implementation
|
|
run: cargo test isa_
|
|
|