From 83df6ddbc8ee58b08fa616fc04c4c8559be6ebec Mon Sep 17 00:00:00 2001 From: extrawurst Date: Sat, 2 Dec 2023 12:59:42 +0100 Subject: [PATCH] test that proved hook has access to PATH (#1967) --- asyncgit/src/sync/hooks.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/asyncgit/src/sync/hooks.rs b/asyncgit/src/sync/hooks.rs index f4588715..00f7a2cd 100644 --- a/asyncgit/src/sync/hooks.rs +++ b/asyncgit/src/sync/hooks.rs @@ -340,6 +340,30 @@ exit 1 assert!(res != HookResult::Ok); } + #[test] + fn test_env_containing_path() { + let (_td, repo) = repo_init().unwrap(); + let root = repo.path().parent().unwrap(); + let repo_path: &RepoPath = + &root.as_os_str().to_str().unwrap().into(); + + let hook = b"#!/bin/sh +export +exit 1 + "; + + create_hook(repo_path, HOOK_PRE_COMMIT, hook); + let res = hooks_pre_commit(repo_path).unwrap(); + + let HookResult::NotOk(out) = res else { + unreachable!() + }; + + assert!(out + .lines() + .any(|line| line.starts_with("export PATH"))); + } + #[test] fn test_pre_commit_fail_hookspath() { let (_td, repo) = repo_init().unwrap();