checkout/__test__
Anatoly Rabkin 3ff67abc5a Fix timeout implementation and address review feedback
- Kill git process on timeout: use child_process.spawn directly for
  timeout-eligible operations so we have a ChildProcess handle to send
  SIGTERM (then SIGKILL after 5s). On Windows, SIGTERM is a forced kill
  so the SIGKILL fallback is effectively a no-op there.

- Fix timeout:0 not working: replace falsy || coalescion with explicit
  empty-string check so that '0' is not replaced by the default '300'.

- Refactor execGit to use an options object instead of 5 positional
  parameters, eliminating error-prone filler args (false, false, {}).

- Pass allowAllExitCodes through to execGitWithTimeout so both code
  paths have consistent behavior for non-zero exit codes.

- Add settled guard to prevent double-reject when both close and error
  events fire on the spawned process.

- Handle null exit code (process killed by signal) as an error rather
  than silently treating it as success.

- Capture stderr in error messages for the timeout path, matching the
  information level of the non-timeout exec path.

- Log SIGKILL failures at debug level instead of empty catch block.

- Warn on customListeners being ignored in the timeout path.

- Emit core.warning() when invalid input values are silently replaced
  with defaults, so users know their configuration was rejected.

- Add input validation in setTimeout (reject negative values).

- Clarify retry-max-attempts semantics: total attempts including the
  initial attempt (3 = 1 initial + 2 retries).

- Remove Kubernetes probe references from descriptions.

- Use non-exhaustive list (e.g.) for network operations in docs to
  avoid staleness if new operations are added.

- Add tests for timeout/retry input parsing (defaults, timeout:0,
  custom values, invalid input with warnings, backoff clamping) and
  command manager configuration (setTimeout, setRetryConfig, fetch).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 23:52:14 +02:00
..
git-auth-helper.test.ts Add configurable timeout and retry for git network operations 2026-03-18 18:09:42 +02:00
git-command-manager.test.ts Fix timeout implementation and address review feedback 2026-03-18 23:52:14 +02:00
git-directory-helper.test.ts Add configurable timeout and retry for git network operations 2026-03-18 18:09:42 +02:00
git-version.test.ts Check git version before attempting to disable sparse-checkout (#1656) 2024-03-14 15:40:14 +01:00
input-helper.test.ts Fix timeout implementation and address review feedback 2026-03-18 23:52:14 +02:00
modify-work-tree.sh Convert checkout to a regular action (#70) 2019-12-03 10:28:59 -05:00
override-git-version.cmd Swap to Environment Files (#360) 2020-09-30 11:41:09 -04:00
override-git-version.sh Swap to Environment Files (#360) 2020-09-30 11:41:09 -04:00
ref-helper.test.ts Fix tag handling: preserve annotations and explicit fetch-tags (#2356) 2026-01-09 13:42:23 -06:00
retry-helper.test.ts Update NPM dependencies (#1703) 2024-04-24 12:04:10 -04:00
url-helper.test.ts Expand unit test coverage (#1946) 2024-10-23 15:59:08 +02:00
verify-basic.sh Disable extensions.worktreeConfig when disabling sparse-checkout (#1692) 2024-04-23 22:07:43 +02:00
verify-clean.sh Convert checkout to a regular action (#70) 2019-12-03 10:28:59 -05:00
verify-fetch-filter.sh Add support for partial checkout filters (#1396) 2023-09-22 13:30:36 -04:00
verify-fetch-tags.sh Fix tag handling: preserve annotations and explicit fetch-tags (#2356) 2026-01-09 13:42:23 -06:00
verify-lfs.sh Convert checkout to a regular action (#70) 2019-12-03 10:28:59 -05:00
verify-no-unstaged-changes.sh update troubleshooting instructions to include 'npm run format' 2020-05-31 17:48:51 -04:00
verify-side-by-side.sh Convert checkout to a regular action (#70) 2019-12-03 10:28:59 -05:00
verify-sparse-checkout-non-cone-mode.sh Mark test scripts with Bash'isms to be run via Bash (#1377) 2023-06-09 11:05:29 -04:00
verify-sparse-checkout.sh Mark test scripts with Bash'isms to be run via Bash (#1377) 2023-06-09 11:05:29 -04:00
verify-submodules-false.sh add support for submodules (#173) 2020-03-05 14:21:59 -05:00
verify-submodules-recursive.sh Persist creds to a separate file (#2286) 2025-11-03 13:08:38 -06:00
verify-submodules-true.sh Persist creds to a separate file (#2286) 2025-11-03 13:08:38 -06:00
verify-worktree.sh Add worktree support for persist-credentials includeIf (#2327) 2025-12-01 19:53:23 -06:00