Mycelium/.forgejo/workflows/test.yml
Ava Affine 3bc256dab2
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
Early ISA Unit tests
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>
2025-08-07 21:25:14 +00:00

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_