From 7d36d8e5cf8c6f7c21a6b4c713217bc92c37d328 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 1 May 2026 19:24:28 +0900 Subject: feat(test-harness): add Composer .test fixture parser and runner Foundation for porting Composer's installer integration fixtures. Parser covers the 13 sections of InstallerTest.php; runner sets up a tempdir from COMPOSER/LOCK/INSTALLED and invokes the mozart binary. No fixtures are migrated in this commit. --- crates/mozart-test-harness/src/lib.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 crates/mozart-test-harness/src/lib.rs (limited to 'crates/mozart-test-harness/src/lib.rs') diff --git a/crates/mozart-test-harness/src/lib.rs b/crates/mozart-test-harness/src/lib.rs new file mode 100644 index 0000000..f8fa2b3 --- /dev/null +++ b/crates/mozart-test-harness/src/lib.rs @@ -0,0 +1,12 @@ +//! Harness for Composer's `.test` integration fixture format. +//! +//! See `composer/tests/Composer/Test/Fixtures/installer/SAMPLE` and +//! `composer/tests/Composer/Test/InstallerTest.php` for the reference +//! implementation. This crate provides the parser and a binary-invoking +//! runner; actual `.test` fixtures and tests live elsewhere. + +mod parser; +mod runner; + +pub use parser::{ParsedTest, parse_test_file, parse_test_str}; +pub use runner::{RunResult, run_test}; -- cgit v1.3.1