Introduce end-to-end tests #44
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
env: | |
RUSTFLAGS: "-Dwarnings" | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Ensure latest Rust stable | |
run: | | |
rustup update stable | |
rustup default stable | |
- name: Run tests | |
run: cargo test --verbose | |
- name: Run Clippy | |
run: cargo clippy --all-targets --all-features | |
e2e-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Ensure latest Rust stable | |
run: | | |
rustup update stable | |
rustup default stable | |
- name: Run end-to-end tests | |
run: bash ./scripts/test-e2e.sh | |
fuzz_parser: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update rust toolchain to nightly | |
run: | | |
rustup update nightly | |
rustup default nightly | |
- name: Install cargo fuzz | |
run: cargo install cargo-fuzz | |
- name: Build with nightly | |
run: cargo build --verbose | |
- name: Fuzzy test the parser | |
run: | | |
cd lib/xixanta | |
cargo +nightly fuzz run fuzz_target_parser -- -max_total_time=180 | |
fuzz_assembler: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update rust toolchain to nightly | |
run: | | |
rustup update nightly | |
rustup default nightly | |
- name: Install cargo fuzz | |
run: cargo install cargo-fuzz | |
- name: Build with nightly | |
run: cargo build --verbose | |
- name: Fuzzy test the assembler | |
run: | | |
cd lib/xixanta | |
cargo +nightly fuzz run fuzz_target_assembler -- -max_total_time=180 | |
fuzz_header: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update rust toolchain to nightly | |
run: | | |
rustup update nightly | |
rustup default nightly | |
- name: Install cargo fuzz | |
run: cargo install cargo-fuzz | |
- name: Build with nightly | |
run: cargo build --verbose | |
- name: Fuzzy test the header parser | |
run: | | |
cd lib/header | |
cargo +nightly fuzz run fuzz_target_header -- -max_total_time=180 |