From a5b5366492d87ebf3fd0b1aaf77c15dfa978ae95 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 21 Jun 2026 04:41:01 +0900 Subject: test(repository): port VCS driver tests (Git/GitHub/GitLab/Bitbucket/Svn/Perforce/Forgejo) Svn/GitBitbucket/Perforce supports pass. GitHub::supports reaches non-strict in_array (todo!()) and Forgejo::supports uses a regex the regex crate cannot compile, so those are ignored. All API-driven cases mock the HttpDownloader (curl) / ProcessExecutor and are stubbed. setUp/tearDown not ported. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../shirabe/tests/repository/vcs/git_driver_test.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'crates/shirabe/tests/repository/vcs/git_driver_test.rs') diff --git a/crates/shirabe/tests/repository/vcs/git_driver_test.rs b/crates/shirabe/tests/repository/vcs/git_driver_test.rs index c915947..85c9f0b 100644 --- a/crates/shirabe/tests/repository/vcs/git_driver_test.rs +++ b/crates/shirabe/tests/repository/vcs/git_driver_test.rs @@ -1 +1,22 @@ //! ref: composer/tests/Composer/Test/Repository/Vcs/GitDriverTest.php + +// Every case constructs a GitDriver with a mocked ProcessExecutor (and an HttpDownloader +// that reaches curl_multi_init, todo!()) to feed git command output; mocking is not +// available here. + +macro_rules! git_stub { + ($name:ident) => { + #[test] + #[ignore = "constructs a GitDriver and mocks a ProcessExecutor/HttpDownloader (curl_multi_init todo!())"] + fn $name() { + todo!() + } + }; +} + +git_stub!(test_get_root_identifier_from_remote_local_repository); +git_stub!(test_get_root_identifier_from_remote); +git_stub!(test_get_root_identifier_from_local_with_network_disabled); +git_stub!(test_get_branches_filter_invalid_branch_names); +git_stub!(test_file_get_content_invalid_identifier); +git_stub!(test_get_change_date_invalid_identifier); -- cgit v1.3.1