aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/package
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-22 23:42:07 +0900
committernsfisis <nsfisis@gmail.com>2026-06-22 23:42:07 +0900
commit5ab5f3b316798c1411ce8e6a7f5b091fda93589c (patch)
treec7669f94f5d9bd9adc07bc1aab3f14cfdec1ae5f /crates/shirabe/tests/package
parentb291e714bc739262140323e08fe2fb9e91e00ee7 (diff)
downloadphp-shirabe-5ab5f3b316798c1411ce8e6a7f5b091fda93589c.tar.gz
php-shirabe-5ab5f3b316798c1411ce8e6a7f5b091fda93589c.tar.zst
php-shirabe-5ab5f3b316798c1411ce8e6a7f5b091fda93589c.zip
test: port previously-ignored Composer tests via __ test hatches
Re-evaluate the reason'd #[ignore] tests under the Phase D criterion: a test is unportable ONLY if the APIs/types needed to WRITE it do not exist. A test that compiles but panics at runtime (todo!() body, a regex the regex crate cannot compile) or fails at runtime (incomplete or incorrect impl behavior) is portable -- it is written in full and marked with a reason-less #[ignore]. About 120 test functions move from reason'd #[ignore] to reason-less #[ignore] (the ported-but-not-yet-passing signal). Impl crates gain only additive __ test hatches (init_command, pool, file_downloader, package handle link setters, artifact/path repository, repository manager, svn); no existing logic changes. Tests whose required APIs genuinely do not exist (mock/reflection harness, ApplicationTester, solve() discarding SolverProblemsException, a script::Event that cannot be passed as an originating event) keep their reason'd #[ignore]. cargo check -p shirabe --tests passes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests/package')
-rw-r--r--crates/shirabe/tests/package/archiver/git_exclude_filter_test.rs2
-rw-r--r--crates/shirabe/tests/package/root_alias_package_test.rs8
-rw-r--r--crates/shirabe/tests/package/version/version_bumper_test.rs2
-rw-r--r--crates/shirabe/tests/package/version/version_parser_test.rs2
4 files changed, 7 insertions, 7 deletions
diff --git a/crates/shirabe/tests/package/archiver/git_exclude_filter_test.rs b/crates/shirabe/tests/package/archiver/git_exclude_filter_test.rs
index 431cb4f..80f9f31 100644
--- a/crates/shirabe/tests/package/archiver/git_exclude_filter_test.rs
+++ b/crates/shirabe/tests/package/archiver/git_exclude_filter_test.rs
@@ -3,7 +3,7 @@
use shirabe::package::archiver::git_exclude_filter::GitExcludeFilter;
#[test]
-#[ignore = "Preg::split panics on the `\\s+` pattern in the regex-crate-based shim"]
+#[ignore]
fn test_pattern_escape() {
for (ignore, expected) in provide_patterns() {
let filter = GitExcludeFilter::new("/".to_string());
diff --git a/crates/shirabe/tests/package/root_alias_package_test.rs b/crates/shirabe/tests/package/root_alias_package_test.rs
index f168e13..c275da3 100644
--- a/crates/shirabe/tests/package/root_alias_package_test.rs
+++ b/crates/shirabe/tests/package/root_alias_package_test.rs
@@ -37,7 +37,7 @@ fn test_update_requires() {
}
#[test]
-#[ignore = "RootAliasPackage::set_dev_requires only updates alias_of, not the alias's own copy, so get_dev_requires stays empty"]
+#[ignore]
fn test_update_dev_requires() {
let alias = alias();
assert!(alias.get_dev_requires().is_empty());
@@ -46,7 +46,7 @@ fn test_update_dev_requires() {
}
#[test]
-#[ignore = "RootAliasPackage::set_conflicts only updates alias_of, not the alias's own copy, so get_conflicts stays empty"]
+#[ignore]
fn test_update_conflicts() {
let alias = alias();
assert!(alias.get_conflicts().is_empty());
@@ -55,7 +55,7 @@ fn test_update_conflicts() {
}
#[test]
-#[ignore = "RootAliasPackage::set_provides only updates alias_of, not the alias's own copy, so get_provides stays empty"]
+#[ignore]
fn test_update_provides() {
let alias = alias();
assert!(alias.get_provides().is_empty());
@@ -64,7 +64,7 @@ fn test_update_provides() {
}
#[test]
-#[ignore = "RootAliasPackage::set_replaces only updates alias_of, not the alias's own copy, so get_replaces stays empty"]
+#[ignore]
fn test_update_replaces() {
let alias = alias();
assert!(alias.get_replaces().is_empty());
diff --git a/crates/shirabe/tests/package/version/version_bumper_test.rs b/crates/shirabe/tests/package/version/version_bumper_test.rs
index 08217f7..2c376fa 100644
--- a/crates/shirabe/tests/package/version/version_bumper_test.rs
+++ b/crates/shirabe/tests/package/version/version_bumper_test.rs
@@ -8,7 +8,7 @@ use shirabe_php_shim::PhpMixed;
use shirabe_semver::version_parser::VersionParser;
#[test]
-#[ignore = "VersionBumper::bump_requirement uses a look-around regex the regex crate cannot compile"]
+#[ignore]
fn test_bump_requirement() {
for (requirement, pretty_version, expected_requirement, branch_alias) in
provide_bump_requirement_tests()
diff --git a/crates/shirabe/tests/package/version/version_parser_test.rs b/crates/shirabe/tests/package/version/version_parser_test.rs
index c403580..2e93d03 100644
--- a/crates/shirabe/tests/package/version/version_parser_test.rs
+++ b/crates/shirabe/tests/package/version/version_parser_test.rs
@@ -15,7 +15,7 @@ fn entry(fields: &[(&str, &str)]) -> IndexMap<String, String> {
}
#[test]
-#[ignore = "parseNameVersionPairs uses a lookbehind/lookahead pattern the regex crate cannot compile"]
+#[ignore]
fn test_parse_name_version_pairs() {
for (input, result) in provide_parse_name_version_pairs_data() {
let version_parser = VersionParser::new();