[PATCH 13/13] t: add test harness for external credential helpers
- From
Jeff King <peff@peff.net>
- Date
- Nov 24, 2011, 11:09 UTC
- Message-ID
- <20111124110904.GK8417@sigill.intra.peff.net>
- In-Reply-To
- <20111124105801.GA6168@sigill.intra.peff.net>
We already have tests for the internal helpers, but it's nice to give authors of external tools an easy way to sanity-check their helpers.
If you have written the "git-credential-foo" helper, you can do so with:
GIT_TEST_CREDENTIAL_HELPER=foo \ make t0303-credential-external.sh
This assumes that your helper is capable of both storing and retrieving credentials (some helpers may be read-only, and they will fail these tests).
If your helper supports time-based expiration with a configurable timeout, you can test that feature like this:
GIT_TEST_CREDENTIAL_HELPER_TIMEOUT="foo --timeout=1" \ make t0303-credential-external.sh
Signed-off-by: Jeff King <peff@peff.net> --- I haven't tried porting or testing any of the older helpers to the new interface. So this script has only been lightly tested with:
GIT_TEST_CREDENTIAL_HELPER=cache
t/t0303-credential-external.sh | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) create mode 100755 t/t0303-credential-external.sh
diff --git a/t/t0303-credential-external.sh b/t/t0303-credential-external.sh new file mode 100755 index 0000000..f3953d4 --- /dev/null +++ b/t/t0303-credential-external.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +test_description='external credential helper tests' +. ./test-lib.sh +. "$TEST_DIRECTORY"/lib-credential.sh + +if test -z "$GIT_TEST_CREDENTIAL_HELPER"; then + say "# skipping external helper tests (set GIT_TEST_CREDENTIAL_HELPER)" +else + helper_test "$GIT_TEST_CREDENTIAL_HELPER" +fi + +if test -z "$GIT_TEST_CREDENTIAL_HELPER_TIMEOUT"; then + say "# skipping external helper timeout tests" +else + helper_test_timeout "$GIT_TEST_CREDENTIAL_HELPER_TIMEOUT" +fi + +test_done
-- 1.7.7.4.5.gb32a5