mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 19:01:54 +00:00
fix(test): give Composer an archive extractor
Without a zip extension or an unzip/7z binary Composer silently drops to --prefer-source and mirror-clones every dependency, which exceeds its 300 s process timeout on phpunit.git. That took the Arch workspace job from a 2m16s test-unit to a 16m08s failure. Debian never saw it because apt pulls php-zip and unzip in as Composer dependencies; pacman does not. Arch ships no zip extension and no php-zip package, so the extractor has to be the unzip binary rather than the extension. Its mapping already covers all five package managers. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
95020d4fb4
commit
ae71d8ea2c
2 files changed
+13
-3
No files matched your search
@@ -18,7 +18,8 @@ class TestEnsurePhpToolchain(unittest.TestCase):
|
||||
):
|
||||
php_mod.ensure_php_toolchain()
|
||||
self.assertEqual(
|
||||
[c.args[0] for c in ensure.call_args_list], ["php", "composer"]
|
||||
[c.args[0] for c in ensure.call_args_list],
|
||||
["php", "composer", "unzip"],
|
||||
)
|
||||
self.assertEqual(
|
||||
[c.args[0] for c in extension.call_args_list],
|
||||
@@ -43,7 +44,8 @@ class TestEnsurePhpPresent(unittest.TestCase):
|
||||
phpunit.is_file.return_value = True
|
||||
php_mod.ensure_php_present()
|
||||
self.assertEqual(
|
||||
[c.args[0] for c in ensure.call_args_list], ["php", "composer"]
|
||||
[c.args[0] for c in ensure.call_args_list],
|
||||
["php", "composer", "unzip"],
|
||||
)
|
||||
run.assert_not_called()
|
||||
|
||||
|
||||
Reference in new issue
Block a user