aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-12 00:19:10 +0900
committernsfisis <nsfisis@gmail.com>2026-08-12 00:19:36 +0900
commit561924db750cbb4e4c183f9616472ed9a5b0fc7f (patch)
tree13d27f8c4d3a0fca8cfd447ea32befa9aa358228 /crates/shirabe/tests
parentdaa1acf091627f4f1af63ad44eee988048fa4136 (diff)
downloadphp-shirabe-561924db750cbb4e4c183f9616472ed9a5b0fc7f.tar.gz
php-shirabe-561924db750cbb4e4c183f9616472ed9a5b0fc7f.tar.zst
php-shirabe-561924db750cbb4e4c183f9616472ed9a5b0fc7f.zip
docs(todo): retag TODO markers by root cause
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/tests')
-rw-r--r--crates/shirabe/tests/all_functional_test.rs2
-rw-r--r--crates/shirabe/tests/autoload/autoload_generator_test.rs6
-rw-r--r--crates/shirabe/tests/autoload/class_loader_test.rs2
-rw-r--r--crates/shirabe/tests/command/run_script_command_test.rs2
-rw-r--r--crates/shirabe/tests/command/show_command_test.rs2
-rw-r--r--crates/shirabe/tests/common/bootstrap.rs4
-rw-r--r--crates/shirabe/tests/downloader/file_downloader_test.rs4
-rw-r--r--crates/shirabe/tests/installed_versions_test.rs26
-rw-r--r--crates/shirabe/tests/installer/installation_manager_test.rs2
-rw-r--r--crates/shirabe/tests/installer_test.rs6
-rw-r--r--crates/shirabe/tests/io/console_io_test.rs4
-rw-r--r--crates/shirabe/tests/package/dumper/array_dumper_test.rs2
-rw-r--r--crates/shirabe/tests/plugin/e2e_package_event_test.rs2
-rw-r--r--crates/shirabe/tests/repository/filesystem_repository_test.rs2
-rw-r--r--crates/shirabe/tests/repository/platform_repository_test.rs2
-rw-r--r--crates/shirabe/tests/util/auth_helper_test.rs4
-rw-r--r--crates/shirabe/tests/util/error_handler_test.rs6
-rw-r--r--crates/shirabe/tests/util/process_executor_test.rs4
-rw-r--r--crates/shirabe/tests/util/remote_filesystem_test.rs10
-rw-r--r--crates/shirabe/tests/util/stream_context_factory_test.rs4
-rw-r--r--crates/shirabe/tests/util/zip_test.rs2
21 files changed, 49 insertions, 49 deletions
diff --git a/crates/shirabe/tests/all_functional_test.rs b/crates/shirabe/tests/all_functional_test.rs
index eaf37558..a05a575a 100644
--- a/crates/shirabe/tests/all_functional_test.rs
+++ b/crates/shirabe/tests/all_functional_test.rs
@@ -246,7 +246,7 @@ fn run_integration(test_filename: &str) {
#[ignore = "Rust has no phar; the binary under test is built by cargo (CARGO_BIN_EXE_shirabe), so bin/compile (the phar build) has no equivalent"]
fn test_build_phar() {
let _guard = set_up();
- // TODO(phase-d): no phar-build equivalent in Rust; the binary under test is produced by cargo
+ // TODO(distribution): no phar-build equivalent in Rust; the binary under test is produced by cargo
// and located via CARGO_BIN_EXE_shirabe, so there is nothing analogous to bin/compile to test.
todo!()
}
diff --git a/crates/shirabe/tests/autoload/autoload_generator_test.rs b/crates/shirabe/tests/autoload/autoload_generator_test.rs
index cd0a3e5b..e55635fc 100644
--- a/crates/shirabe/tests/autoload/autoload_generator_test.rs
+++ b/crates/shirabe/tests/autoload/autoload_generator_test.rs
@@ -1751,7 +1751,7 @@ fn test_exclude_from_classmap() {
#[test]
#[ignore = "require autoload.php + function_exists() assertions are unportable (composer_require todo!())"]
fn test_files_autoload_order_by_dependencies() {
- // TODO(phase-d): PHP `require autoload.php` + function_exists() assertions have no Rust
+ // TODO(php-runtime): PHP `require autoload.php` + function_exists() assertions have no Rust
// equivalent (no runtime PHP file loading/class definition).
todo!()
}
@@ -1924,7 +1924,7 @@ fn test_files_autoload_generation_remove_extra_entities_from_autoload_files() {
#[test]
#[ignore = "asserts PHP get_include_path() after require autoload.php"]
fn test_include_paths_are_prepended_in_autoload_file() {
- // TODO(phase-d): asserts PHP get_include_path() after `require autoload.php`; no Rust
+ // TODO(php-runtime): asserts PHP get_include_path() after `require autoload.php`; no Rust
// equivalent for PHP's include path / runtime require.
todo!()
}
@@ -1932,7 +1932,7 @@ fn test_include_paths_are_prepended_in_autoload_file() {
#[test]
#[ignore = "asserts PHP get_include_path() after require autoload.php"]
fn test_include_paths_in_root_package() {
- // TODO(phase-d): asserts PHP get_include_path() after `require autoload.php`; no Rust
+ // TODO(php-runtime): asserts PHP get_include_path() after `require autoload.php`; no Rust
// equivalent for PHP's include path / runtime require.
todo!()
}
diff --git a/crates/shirabe/tests/autoload/class_loader_test.rs b/crates/shirabe/tests/autoload/class_loader_test.rs
index 998683c9..00cda87d 100644
--- a/crates/shirabe/tests/autoload/class_loader_test.rs
+++ b/crates/shirabe/tests/autoload/class_loader_test.rs
@@ -43,7 +43,7 @@ fn test_get_prefixes_with_no_psr0_configuration() {
#[test]
#[ignore = "the round trip is `unserialize(serialize($loader))`: shirabe_php_shim::serialize takes a PhpMixed (a ClassLoader cannot be turned into one) and there is no unserialize at all, so the ClassLoader under test cannot be round-tripped"]
fn test_serializability() {
- // TODO(phase-d): the round trip is `unserialize(serialize($loader))`. serialize() in the shim
+ // TODO(php-semantics): the round trip is `unserialize(serialize($loader))`. serialize() in the shim
// takes a PhpMixed, which a ClassLoader cannot be converted into, and there is no unserialize
// symbol to produce the second ClassLoader the assertions compare against.
todo!()
diff --git a/crates/shirabe/tests/command/run_script_command_test.rs b/crates/shirabe/tests/command/run_script_command_test.rs
index 311091a0..6c7f45c8 100644
--- a/crates/shirabe/tests/command/run_script_command_test.rs
+++ b/crates/shirabe/tests/command/run_script_command_test.rs
@@ -17,7 +17,7 @@ use shirabe_php_shim::PhpMixed;
harness is inexpressible; the event-side isDevMode downcast now exists \
(EventInterface::as_any), but that alone does not unblock the test."]
fn test_detect_and_pass_dev_mode_to_event_and_to_dispatching() {
- // TODO(phase-d): PHP mocks RunScriptCommand itself (onlyMethods incl. requireComposer -> a
+ // TODO(mock): PHP mocks RunScriptCommand itself (onlyMethods incl. requireComposer -> a
// composer whose EventDispatcher is a hasEventListeners/dispatchScript recording mock) and
// drives run() with mocked Input/Output. The Rust RunScriptCommand has no requireComposer
// override seam and Input/Output are concrete types, so the mocked harness is
diff --git a/crates/shirabe/tests/command/show_command_test.rs b/crates/shirabe/tests/command/show_command_test.rs
index d00852dd..47eae462 100644
--- a/crates/shirabe/tests/command/show_command_test.rs
+++ b/crates/shirabe/tests/command/show_command_test.rs
@@ -1026,7 +1026,7 @@ fn test_self_and_package_combination() {
#[ignore = "the shim date() renders in UTC only (no timezone database) while PHP's date() uses \
the system default timezone, so ShowCommand::get_relative_time misses the \"today\" \
match and prints \"this week\" whenever the local date differs from the UTC date \
- (e.g. daily 00:00-09:00 JST); see TODO(phase-c) in shirabe-php-shim datetime.rs"]
+ (e.g. daily 00:00-09:00 JST); see TODO(php-semantics) in shirabe-php-shim datetime.rs"]
fn test_self() {
let today = chrono::Local::now().format("%Y-%m-%d").to_string();
let _tear_down = init_temp_composer(
diff --git a/crates/shirabe/tests/common/bootstrap.rs b/crates/shirabe/tests/common/bootstrap.rs
index 8b2a8aa0..a908bff2 100644
--- a/crates/shirabe/tests/common/bootstrap.rs
+++ b/crates/shirabe/tests/common/bootstrap.rs
@@ -8,7 +8,7 @@ use shirabe::util::platform::Platform;
/// a tty (as it isn't under `cargo test`), so interactive `ApplicationTester` runs silently no-op
/// instead of consuming `set_inputs`.
///
-/// TODO(phase-d): this is only wired into `get_application_tester()` (used by the `command` test
+/// TODO(port): this is only wired into `get_application_tester()` (used by the `command` test
/// binary) rather than into every test binary's `main.rs`, unlike PHPUnit's bootstrap which
/// covers the whole suite unconditionally. Rust's libtest has no per-binary setup hook, so a true
/// equivalent needs either the `ctor` crate (new dependency, user decision) or wiring a call into
@@ -22,7 +22,7 @@ pub fn bootstrap() {
shirabe_php_shim::date_default_timezone_set(&shirabe_php_shim::date_default_timezone_get());
// PHP: require src/bootstrap.php and refresh vendor/composer/InstalledVersions.php.
- // TODO(phase-d): port remaining bootstrap processes (the src/bootstrap.php include and
+ // TODO(php-runtime): port remaining bootstrap processes (the src/bootstrap.php include and
// the InstalledVersions refresh are PHP autoload mechanics with no Rust counterpart yet).
Platform::put_env("COMPOSER_TESTS_ARE_RUNNING", "1");
diff --git a/crates/shirabe/tests/downloader/file_downloader_test.rs b/crates/shirabe/tests/downloader/file_downloader_test.rs
index eac4e45e..a8f1bdf2 100644
--- a/crates/shirabe/tests/downloader/file_downloader_test.rs
+++ b/crates/shirabe/tests/downloader/file_downloader_test.rs
@@ -180,7 +180,7 @@ fn test_download_but_file_is_unsaved() {
#[test]
#[ignore = "the listener is a closure that mutates the event (setProcessedUrl), but Callable::Closure receives `&dyn EventInterface`, so it cannot; and CacheMock has no copy_to/copy_from hooks to assert the cache key on"]
fn test_download_with_custom_processed_url() {
- // TODO(phase-d): the PRE_FILE_DOWNLOAD listener is a closure calling
+ // TODO(mock): the PRE_FILE_DOWNLOAD listener is a closure calling
// PreFileDownloadEvent::setProcessedUrl, but Callable::Closure is
// `Fn(&dyn EventInterface)`, so a listener cannot mutate the event it receives. The Cache
// half is likewise inexpressible: CacheMock carries only finder/gc overrides, with no
@@ -191,7 +191,7 @@ fn test_download_with_custom_processed_url() {
#[test]
#[ignore = "the listener is a closure that mutates the event (setCustomCacheKey), but Callable::Closure receives `&dyn EventInterface`, so it cannot; and CacheMock has no copy_to/copy_from hooks to assert the cache key on"]
fn test_download_with_custom_cache_key() {
- // TODO(phase-d): the PRE_FILE_DOWNLOAD listener is a closure calling
+ // TODO(mock): the PRE_FILE_DOWNLOAD listener is a closure calling
// PreFileDownloadEvent::setCustomCacheKey, but Callable::Closure is
// `Fn(&dyn EventInterface)`, so a listener cannot mutate the event it receives. The Cache
// half is likewise inexpressible: CacheMock carries only finder/gc overrides, with no
diff --git a/crates/shirabe/tests/installed_versions_test.rs b/crates/shirabe/tests/installed_versions_test.rs
index 724c844e..49007a81 100644
--- a/crates/shirabe/tests/installed_versions_test.rs
+++ b/crates/shirabe/tests/installed_versions_test.rs
@@ -7,91 +7,91 @@
#[test]
#[ignore = "InstalledVersions::getInstalledPackages has no Rust counterpart"]
fn test_get_installed_packages() {
- // TODO(phase-d): needs InstalledVersions::get_installed_packages.
+ // TODO(port): needs InstalledVersions::get_installed_packages.
todo!()
}
#[test]
#[ignore = "InstalledVersions::isInstalled has no Rust counterpart"]
fn test_is_installed() {
- // TODO(phase-d): needs InstalledVersions::is_installed.
+ // TODO(port): needs InstalledVersions::is_installed.
todo!()
}
#[test]
#[ignore = "InstalledVersions::satisfies has no Rust counterpart"]
fn test_satisfies() {
- // TODO(phase-d): needs InstalledVersions::satisfies.
+ // TODO(port): needs InstalledVersions::satisfies.
todo!()
}
#[test]
#[ignore = "InstalledVersions::getVersionRanges has no Rust counterpart"]
fn test_get_version_ranges() {
- // TODO(phase-d): needs InstalledVersions::get_version_ranges.
+ // TODO(port): needs InstalledVersions::get_version_ranges.
todo!()
}
#[test]
#[ignore = "InstalledVersions::getVersion has no Rust counterpart"]
fn test_get_version() {
- // TODO(phase-d): needs InstalledVersions::get_version.
+ // TODO(port): needs InstalledVersions::get_version.
todo!()
}
#[test]
#[ignore = "InstalledVersions::getPrettyVersion has no Rust counterpart"]
fn test_get_pretty_version() {
- // TODO(phase-d): needs InstalledVersions::get_pretty_version.
+ // TODO(port): needs InstalledVersions::get_pretty_version.
todo!()
}
#[test]
#[ignore = "InstalledVersions::getVersion has no Rust counterpart"]
fn test_get_version_out_of_bounds() {
- // TODO(phase-d): needs InstalledVersions::get_version.
+ // TODO(port): needs InstalledVersions::get_version.
todo!()
}
#[test]
#[ignore = "InstalledVersions::getRootPackage has no Rust counterpart"]
fn test_get_root_package() {
- // TODO(phase-d): needs InstalledVersions::get_root_package.
+ // TODO(port): needs InstalledVersions::get_root_package.
todo!()
}
#[test]
#[ignore = "InstalledVersions::getRawData has no Rust counterpart"]
fn test_get_raw_data() {
- // TODO(phase-d): needs InstalledVersions::get_raw_data.
+ // TODO(port): needs InstalledVersions::get_raw_data.
todo!()
}
#[test]
#[ignore = "InstalledVersions::getReference has no Rust counterpart"]
fn test_get_reference() {
- // TODO(phase-d): needs InstalledVersions::get_reference.
+ // TODO(port): needs InstalledVersions::get_reference.
todo!()
}
#[test]
#[ignore = "InstalledVersions::getInstalledPackagesByType has no Rust counterpart"]
fn test_get_installed_packages_by_type() {
- // TODO(phase-d): needs InstalledVersions::get_installed_packages_by_type.
+ // TODO(port): needs InstalledVersions::get_installed_packages_by_type.
todo!()
}
#[test]
#[ignore = "InstalledVersions::getInstallPath has no Rust counterpart"]
fn test_get_install_path() {
- // TODO(phase-d): needs InstalledVersions::get_install_path.
+ // TODO(port): needs InstalledVersions::get_install_path.
todo!()
}
#[test]
#[ignore = "InstalledVersions::isInstalled and getRootPackage have no Rust counterpart"]
fn test_with_class_loader_loaded() {
- // TODO(phase-d): needs InstalledVersions::is_installed and
+ // TODO(port): needs InstalledVersions::is_installed and
// InstalledVersions::get_root_package.
todo!()
}
diff --git a/crates/shirabe/tests/installer/installation_manager_test.rs b/crates/shirabe/tests/installer/installation_manager_test.rs
index c511703e..f15729c3 100644
--- a/crates/shirabe/tests/installer/installation_manager_test.rs
+++ b/crates/shirabe/tests/installer/installation_manager_test.rs
@@ -323,7 +323,7 @@ fn test_add_remove_installer() {
#[ignore = "partial mock of InstallationManager (onlyMethods install/update/uninstall) with expects(once)->with(...) is not reproducible without method-overriding mocks; execute() also takes the batched download path"]
#[test]
fn test_execute() {
- // TODO(phase-d): a partial mock of InstallationManager (onlyMethods install/update/uninstall)
+ // TODO(mock): a partial mock of InstallationManager (onlyMethods install/update/uninstall)
// with expects(once)->with(...) is not reproducible without method-overriding mocks: the PHP
// test runs the *real* execute() (batched download path included, via NoopInstaller) while
// spying on the three per-operation methods it dispatches to. The existing
diff --git a/crates/shirabe/tests/installer_test.rs b/crates/shirabe/tests/installer_test.rs
index b6d19b10..5c835aff 100644
--- a/crates/shirabe/tests/installer_test.rs
+++ b/crates/shirabe/tests/installer_test.rs
@@ -812,8 +812,8 @@ fn evaluate_condition(condition: &str) -> bool {
}
// HHVM is never defined under the Rust port.
"!defined('HHVM_VERSION')" => true,
- // TODO(phase-d): unported CONDITION expression (PHP eval has no Rust equivalent).
- other => panic!("// TODO(phase-d): unported CONDITION: {}", other),
+ // TODO(php-runtime): unported CONDITION expression (PHP eval has no Rust equivalent).
+ other => panic!("// TODO(php-runtime): unported CONDITION: {}", other),
}
}
@@ -1305,7 +1305,7 @@ fn test_slow_integration() {
let _tear_down = TearDown::new();
for case in load_integration_tests("installer-slow/") {
if case.file == "github-issues-7665.test" {
- // TODO(phase-d): upstream Composer defect (composer/composer#12111), not a porting
+ // TODO(upstream): upstream Composer defect (composer/composer#12111), not a porting
// bug. Problem::getPrettyString breaks RULE_LEARNED sort ties with
// getSortableString() <=> getSortableString(), which compares numerically when both
// sides are numeric strings and by byte otherwise, so it is not transitive. Those
diff --git a/crates/shirabe/tests/io/console_io_test.rs b/crates/shirabe/tests/io/console_io_test.rs
index 3c142cfe..b0c6380d 100644
--- a/crates/shirabe/tests/io/console_io_test.rs
+++ b/crates/shirabe/tests/io/console_io_test.rs
@@ -138,7 +138,7 @@ fn test_write_error() {
#[ignore = "ConsoleIO::write3 takes a single &str; the test feeds a 2-element array ['First line','Second lines'] and asserts a per-element regex on the debugging-prefixed messages array, which the &str signature cannot represent"]
#[test]
fn test_write_with_multiple_line_string_when_debugging() {
- // TODO(phase-d): ConsoleIO::write3 takes a single &str; the test feeds a 2-element array
+ // TODO(type-model): ConsoleIO::write3 takes a single &str; the test feeds a 2-element array
// ['First line','Second lines'] and asserts a per-element regex on the debugging-prefixed
// messages array, which the &str signature cannot represent.
todo!()
@@ -294,7 +294,7 @@ fn test_has_authentication() {
#[ignore = "data provider includes malformed-UTF-8 inputs (e.g. \\xFF, \\xC3\\x28); sanitize() takes PhpMixed::String which is UTF-8-only and cannot carry invalid bytes, so those cases are unrepresentable"]
#[test]
fn test_sanitize() {
- // TODO(phase-d): the data provider includes malformed-UTF-8 inputs (e.g. \xFF, \xC3\x28);
+ // TODO(bytes): the data provider includes malformed-UTF-8 inputs (e.g. \xFF, \xC3\x28);
// sanitize() takes PhpMixed::String which is UTF-8-only and cannot carry invalid bytes, so
// those cases are unrepresentable.
todo!()
diff --git a/crates/shirabe/tests/package/dumper/array_dumper_test.rs b/crates/shirabe/tests/package/dumper/array_dumper_test.rs
index 430900c4..781d1ec8 100644
--- a/crates/shirabe/tests/package/dumper/array_dumper_test.rs
+++ b/crates/shirabe/tests/package/dumper/array_dumper_test.rs
@@ -90,7 +90,7 @@ fn test_dump_abandoned_replacement() {
#[test]
#[ignore = "authors/scripts/funding data sets pass loosely-typed PHP arrays the narrowed Rust set_authors/set_scripts/set_funding types cannot represent, and the dumper re-wraps them; faithful all-or-nothing port blocked without loosening those production types"]
fn test_keys() {
- // TODO(phase-d): authors/scripts/funding data sets pass loosely-typed PHP arrays the
+ // TODO(type-model): authors/scripts/funding data sets pass loosely-typed PHP arrays the
// narrowed Rust set_authors/set_scripts/set_funding types cannot represent, and the
// dumper re-wraps them; faithful all-or-nothing port blocked without loosening those
// production types.
diff --git a/crates/shirabe/tests/plugin/e2e_package_event_test.rs b/crates/shirabe/tests/plugin/e2e_package_event_test.rs
index ef334685..a6569105 100644
--- a/crates/shirabe/tests/plugin/e2e_package_event_test.rs
+++ b/crates/shirabe/tests/plugin/e2e_package_event_test.rs
@@ -86,7 +86,7 @@ post-package-install devMode=1 class=Composer\\DependencyResolver\\Operation\\In
// previous one installed. Shirabe builds a lazy future per operation and only drives them in
// wait_on_promises, so every pre-event of a batch sees the repository as it was before the
// batch. Upstream: 1 / 1 / 2 / 3 / 3, Shirabe: 1 / 1 / 1 / 3 / 3.
-#[ignore = "operation chains run where they are built upstream but only in wait_on_promises here, so the repository state a package event observes differs (TODO(phase-c) promise cluster)"]
+#[ignore = "operation chains run where they are built upstream but only in wait_on_promises here, so the repository state a package event observes differs (TODO(async) promise cluster)"]
#[test]
fn test_local_repository_seen_by_package_events_matches_upstream_composer() {
if !php_runtime_available() {
diff --git a/crates/shirabe/tests/repository/filesystem_repository_test.rs b/crates/shirabe/tests/repository/filesystem_repository_test.rs
index b87e1502..59901072 100644
--- a/crates/shirabe/tests/repository/filesystem_repository_test.rs
+++ b/crates/shirabe/tests/repository/filesystem_repository_test.rs
@@ -328,7 +328,7 @@ fn test_repository_writes_installed_php() {
#[ignore = "safely_load_installed_versions's pattern uses a PCRE (?(DEFINE)...) recursive grammar the regex crate cannot compile, and InstalledVersions::getAllRawData has no Rust counterpart"]
#[test]
fn test_safely_load_installed_versions() {
- // TODO(phase-d): needs a regex-crate expression equivalent to the PCRE recursive grammar, and
+ // TODO(pcre): needs a regex-crate expression equivalent to the PCRE recursive grammar, and
// InstalledVersions::get_all_raw_data.
todo!()
}
diff --git a/crates/shirabe/tests/repository/platform_repository_test.rs b/crates/shirabe/tests/repository/platform_repository_test.rs
index 573f96ed..c16f3a3e 100644
--- a/crates/shirabe/tests/repository/platform_repository_test.rs
+++ b/crates/shirabe/tests/repository/platform_repository_test.rs
@@ -205,7 +205,7 @@ fn test_php_version() {
#[test]
fn test_inet_pton_regression() {
// PHP: ->expects(self::once())->method('invoke')->with('inet_pton', ['::'])->willReturn(false).
- // TODO(phase-d): the payload reports the result of `@inet_pton('::')` instead of answering a
+ // TODO(mock): the payload reports the result of `@inet_pton('::')` instead of answering a
// call, so there is nothing left for the once() call-count check to observe.
let functions = [(
PhpMixed::String("inet_pton".to_string()),
diff --git a/crates/shirabe/tests/util/auth_helper_test.rs b/crates/shirabe/tests/util/auth_helper_test.rs
index 2f2feb23..102a798c 100644
--- a/crates/shirabe/tests/util/auth_helper_test.rs
+++ b/crates/shirabe/tests/util/auth_helper_test.rs
@@ -806,7 +806,7 @@ fn test_add_authentication_header_with_custom_headers() {
#[ignore = "exercises the deprecated addAuthenticationHeader wrapper (not ported) which relies on \
trigger_error/E_USER_DEPRECATED; the PHP error-handler subsystem is not modeled"]
fn test_add_authentication_header_is_working() {
- // TODO(phase-d): see test_add_authentication_header_with_custom_headers above — same
+ // TODO(php-runtime): see test_add_authentication_header_with_custom_headers above — same
// unported addAuthenticationHeader deprecated wrapper.
todo!()
}
@@ -815,7 +815,7 @@ fn test_add_authentication_header_is_working() {
#[ignore = "exercises the deprecated addAuthenticationHeader wrapper (not ported) which relies on \
trigger_error/E_USER_DEPRECATED converted to a RuntimeException via set_error_handler; not modeled"]
fn test_add_authentication_header_deprecation() {
- // TODO(phase-d): asserts that calling addAuthenticationHeader itself raises a
+ // TODO(php-runtime): asserts that calling addAuthenticationHeader itself raises a
// RuntimeException via a custom set_error_handler converting E_USER_DEPRECATED; same
// unported wrapper and unmodeled error-handler subsystem as the two tests above.
todo!()
diff --git a/crates/shirabe/tests/util/error_handler_test.rs b/crates/shirabe/tests/util/error_handler_test.rs
index efaf4e11..9a34fd73 100644
--- a/crates/shirabe/tests/util/error_handler_test.rs
+++ b/crates/shirabe/tests/util/error_handler_test.rs
@@ -30,7 +30,7 @@ impl Drop for TearDown {
#[ignore = "depends on PHP runtime routing an undefined-index notice through set_error_handler; no Rust equivalent for $array['baz'] triggering ErrorHandler::handle"]
#[test]
fn test_error_handler_capture_notice() {
- // TODO(phase-d): depends on PHP runtime routing an undefined-index notice through
+ // TODO(php-runtime): depends on PHP runtime routing an undefined-index notice through
// set_error_handler; no Rust equivalent for $array['baz'] triggering
// ErrorHandler::handle.
todo!()
@@ -39,7 +39,7 @@ fn test_error_handler_capture_notice() {
#[ignore = "depends on PHP runtime emitting a TypeError/warning from array_merge([], 'string') via set_error_handler; no Rust equivalent"]
#[test]
fn test_error_handler_capture_warning() {
- // TODO(phase-d): depends on PHP runtime emitting a TypeError/warning from
+ // TODO(php-runtime): depends on PHP runtime emitting a TypeError/warning from
// array_merge([], 'string') via set_error_handler; no Rust equivalent.
todo!()
}
@@ -47,7 +47,7 @@ fn test_error_handler_capture_warning() {
#[ignore = "depends on the PHP @ error-suppression operator and trigger_error routing through set_error_handler; no Rust equivalent"]
#[test]
fn test_error_handler_respects_at_operator() {
- // TODO(phase-d): depends on the PHP @ error-suppression operator and trigger_error
+ // TODO(php-runtime): depends on the PHP @ error-suppression operator and trigger_error
// routing through set_error_handler; no Rust equivalent.
todo!()
}
diff --git a/crates/shirabe/tests/util/process_executor_test.rs b/crates/shirabe/tests/util/process_executor_test.rs
index 9599775e..93e74a12 100644
--- a/crates/shirabe/tests/util/process_executor_test.rs
+++ b/crates/shirabe/tests/util/process_executor_test.rs
@@ -2,7 +2,7 @@
// These run real subprocesses (capturing output/stderr/timeout) and assert ProcessExecutor's
// password hiding, line splitting and argument escaping. A few data points remain unportable —
-// see the individual `// TODO(phase-d)` comments below.
+// see the individual `// TODO(async)` comments below.
use shirabe::io::ConsoleIO;
use shirabe::io::IOInterface;
@@ -179,7 +179,7 @@ fn test_console_io_does_not_format_symfony_console_style() {
#[ignore = "none of the three symbols this test drives exist: execute_async returns a plain future with no cancel(), and ProcessExecutor has no count_active_jobs or wait (PHP's $jobs/$maxJobs queue is a tokio semaphore here)"]
#[test]
fn test_execute_async_cancel() {
- // TODO(phase-d): PHP's executeAsync returns a React\Promise\PromiseInterface with cancel(),
+ // TODO(async): PHP's executeAsync returns a React\Promise\PromiseInterface with cancel(),
// and the test reads countActiveJobs() around it and then calls wait(). execute_async here
// returns a plain future with no cancel(), and ProcessExecutor has neither count_active_jobs
// nor wait: the PHP job queue those methods expose is a tokio semaphore in this port.
diff --git a/crates/shirabe/tests/util/remote_filesystem_test.rs b/crates/shirabe/tests/util/remote_filesystem_test.rs
index 43f0aae0..6d21732f 100644
--- a/crates/shirabe/tests/util/remote_filesystem_test.rs
+++ b/crates/shirabe/tests/util/remote_filesystem_test.rs
@@ -274,10 +274,10 @@ fn test_copy() {
#[test]
#[ignore = "requires a MockObject subclass of RemoteFilesystem overriding private get_remote_contents; no subclass-mocking infrastructure exists"]
fn test_copy_with_no_retry_on_failure() {
- // TODO(phase-d): requires a MockObject subclass of RemoteFilesystem overriding the
+ // TODO(mock): requires a MockObject subclass of RemoteFilesystem overriding the
// private get_remote_contents method. There is no subclass-mocking infrastructure in
// Rust for this, and get_remote_contents's http(s) branch is itself still a
- // TODO(phase-c) stub (always returns Ok(None)), so there is nothing yet to intercept
+ // TODO(http) stub (always returns Ok(None)), so there is nothing yet to intercept
// even with a seam.
todo!()
}
@@ -285,10 +285,10 @@ fn test_copy_with_no_retry_on_failure() {
#[test]
#[ignore = "requires MockObject subclasses overriding RemoteFilesystem::get_remote_contents and AuthHelper::prompt_auth_if_needed; no subclass-mocking infrastructure exists"]
fn test_copy_with_success_on_retry() {
- // TODO(phase-d): requires MockObject subclasses overriding
+ // TODO(mock): requires MockObject subclasses overriding
// RemoteFilesystem::get_remote_contents and AuthHelper::prompt_auth_if_needed to
// simulate a first failure and a retried success; same missing-subclass-mocking-
- // infrastructure and TODO(phase-c) http(s)-stub blockers as
+ // infrastructure and TODO(http) http(s)-stub blockers as
// test_copy_with_no_retry_on_failure above.
todo!()
}
@@ -350,7 +350,7 @@ fn provide_bitbucket_public_download_urls() -> Vec<(&'static str, &'static str)>
}
#[test]
-#[ignore = "performs a real network download; get_remote_contents has no stream layer (TODO(phase-c)) and returns None, so getContents raises a TransportException"]
+#[ignore = "performs a real network download; get_remote_contents has no stream layer (TODO(http)) and returns None, so getContents raises a TransportException"]
fn test_bit_bucket_public_download() {
for (url, contents) in provide_bitbucket_public_download_urls() {
let io: std::rc::Rc<std::cell::RefCell<dyn IOInterface>> =
diff --git a/crates/shirabe/tests/util/stream_context_factory_test.rs b/crates/shirabe/tests/util/stream_context_factory_test.rs
index f9d840cf..a2a9cb44 100644
--- a/crates/shirabe/tests/util/stream_context_factory_test.rs
+++ b/crates/shirabe/tests/util/stream_context_factory_test.rs
@@ -100,7 +100,7 @@ impl Drop for TearDown {
}
}
-// TODO(phase-d): PHP's dataGetContext second data set passes a `notification` closure in both
+// TODO(type-model): PHP's dataGetContext second data set passes a `notification` closure in both
// the default and expected params; PhpMixed has no closure variant, so that data set (and thus
// the all-or-nothing testGetContext, which a data provider test cannot partially skip) cannot be
// expressed.
@@ -110,7 +110,7 @@ impl Drop for TearDown {
fn test_get_context() {
let _tear_down = TearDown;
set_up();
- // TODO(phase-d): dataGetContext's second data set passes a `notification` closure in
+ // TODO(type-model): dataGetContext's second data set passes a `notification` closure in
// params; PhpMixed cannot represent a PHP closure, so that data set (and thus the
// all-or-nothing testGetContext, which a data provider test cannot partially skip) is
// unportable.
diff --git a/crates/shirabe/tests/util/zip_test.rs b/crates/shirabe/tests/util/zip_test.rs
index e3e976de..569ac7a2 100644
--- a/crates/shirabe/tests/util/zip_test.rs
+++ b/crates/shirabe/tests/util/zip_test.rs
@@ -11,7 +11,7 @@ fn fixture(name: &str) -> String {
)
}
-// TODO(phase-d): PHP runs this test only when the zip extension is NOT loaded (it is
+// TODO(php-runtime): PHP runs this test only when the zip extension is NOT loaded (it is
// markTestSkipped otherwise). The Rust port links zip support unconditionally, so the
// "extension not loaded" precondition cannot exist and the expected RuntimeException
// ("The Zip Util requires PHP's zip extension") is unreachable by design.