aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart-test-harness/src/lib.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-01 19:24:28 +0900
committernsfisis <nsfisis@gmail.com>2026-05-01 19:24:28 +0900
commit7d36d8e5cf8c6f7c21a6b4c713217bc92c37d328 (patch)
treed8fdbdbc3abb6acf41095c013f281fdabc880372 /crates/mozart-test-harness/src/lib.rs
parent64ed53cf184fb05cbfe9f0336bc8695ff0e800f8 (diff)
downloadphp-mozart-7d36d8e5cf8c6f7c21a6b4c713217bc92c37d328.tar.gz
php-mozart-7d36d8e5cf8c6f7c21a6b4c713217bc92c37d328.tar.zst
php-mozart-7d36d8e5cf8c6f7c21a6b4c713217bc92c37d328.zip
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.
Diffstat (limited to 'crates/mozart-test-harness/src/lib.rs')
-rw-r--r--crates/mozart-test-harness/src/lib.rs12
1 files changed, 12 insertions, 0 deletions
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};