1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-27 16:56:15 +02:00
git/t/t0303-credential-external.sh
Junio C Hamano aaa68ad022 Revert "Merge branch 'mh/credential-password-expiry-libsecret' into next"
This reverts commit fd898e3756, reversing
changes made to c2148408a2.

With the previous round, because libsecret overwrites items if and
only if the attributes match exactly, you end up with many items in
the secret store that differ only by expiry date. This is inelegant,
and confusing to users.  It was caught before merged to 'master' and
being replaced.
2023-05-17 08:40:07 -07:00

61 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
test_description='external credential helper tests
This is a tool for authors of external helper tools to sanity-check
their helpers. If you have written the "git-credential-foo" helper,
you check it with:
make GIT_TEST_CREDENTIAL_HELPER=foo 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).
Please note that the individual tests do not verify all of the
preconditions themselves, but rather build on each other. A failing
test means that tests later in the sequence can return false "OK"
results.
If your helper supports time-based expiration with a configurable
timeout, you can test that feature with:
make GIT_TEST_CREDENTIAL_HELPER=foo \
GIT_TEST_CREDENTIAL_HELPER_TIMEOUT="foo --timeout=1" \
t0303-credential-external.sh
If your helper requires additional setup before the tests are started,
you can set GIT_TEST_CREDENTIAL_HELPER_SETUP to a sequence of shell
commands.
'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-credential.sh
if test -z "$GIT_TEST_CREDENTIAL_HELPER"; then
skip_all="used to test external credential helpers"
test_done
fi
test -z "$GIT_TEST_CREDENTIAL_HELPER_SETUP" ||
eval "$GIT_TEST_CREDENTIAL_HELPER_SETUP"
# clean before the test in case there is cruft left
# over from a previous run that would impact results
helper_test_clean "$GIT_TEST_CREDENTIAL_HELPER"
helper_test "$GIT_TEST_CREDENTIAL_HELPER"
if test -z "$GIT_TEST_CREDENTIAL_HELPER_TIMEOUT"; then
say "# skipping timeout tests (GIT_TEST_CREDENTIAL_HELPER_TIMEOUT not set)"
else
helper_test_timeout "$GIT_TEST_CREDENTIAL_HELPER_TIMEOUT"
fi
# clean afterwards so that we are good citizens
# and don't leave cruft in the helper's storage, which
# might be long-term system storage
helper_test_clean "$GIT_TEST_CREDENTIAL_HELPER"
test_done