command-stream 1.3.0

Modern shell command execution library with streaming, async iteration, and event support
Documentation
//! Runs the language-neutral Bun Shell conformance corpus
//! (`conformance/bun-shell/cases/*.json`) against `command_stream::bun_shell`.
//!
//! The corpus helpers (`corpus.mjs`) and the runner flow (`runner.mjs`) are
//! ported in `bun_shell_conformance/`. Run the whole corpus with
//!
//! ```sh
//! cargo test --test bun_shell_conformance -- --ignored --nocapture
//! BUN_SHELL_FILE=commands-echo BUN_SHELL_FILTER=basic \
//!     cargo test --test bun_shell_conformance -- --ignored --nocapture
//! ```
//!
//! (see `bun_shell_conformance/runner.rs` for all environment variables).
//! The checker itself is covered by the non-ignored unit tests.

#[path = "bun_shell_conformance/corpus.rs"]
mod corpus;
#[path = "bun_shell_conformance/runner.rs"]
mod runner;
#[path = "bun_shell_conformance/unit.rs"]
mod unit;

#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
#[ignore = "bun_shell interpreter not complete yet"]
async fn bun_shell_conformance_corpus() {
    let counts = runner::run_corpus(runner::Options::from_env()).await;
    assert_eq!(
        counts.fail, 0,
        "{} conformance case(s) failed (see the FAIL lines above)",
        counts.fail
    );
}