diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2019-10-25 12:24:34 +0100 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2020-01-24 10:16:36 -0600 |
commit | bf55facf15e5b6897ff7305162a77d92089f6c82 (patch) | |
tree | c244548a468fb4c198d9a61a0039183416ce7bbe | |
parent | 7372573b5f1113b8522e2588fac1c529ddcedb0a (diff) | |
download | libgit2-bf55facf15e5b6897ff7305162a77d92089f6c82.tar.gz |
tests: allow users to use expect/continue
-rwxr-xr-x | azure-pipelines/test.sh | 12 | ||||
-rw-r--r-- | tests/online/clone.c | 6 | ||||
-rw-r--r-- | tests/online/push.c | 8 |
3 files changed, 26 insertions, 0 deletions
diff --git a/azure-pipelines/test.sh b/azure-pipelines/test.sh index 2fa3db5b8..cffe03657 100755 --- a/azure-pipelines/test.sh +++ b/azure-pipelines/test.sh @@ -225,6 +225,18 @@ if [ -z "$SKIP_NEGOTIATE_TESTS" -a -n "$GITTEST_NEGOTIATE_PASSWORD" ]; then unset GITTEST_REMOTE_URL unset GITTEST_REMOTE_DEFAULT + echo "" + echo "Running SPNEGO tests (expect/continue)" + echo "" + + export GITTEST_REMOTE_URL="https://test.libgit2.org/kerberos/empty.git" + export GITTEST_REMOTE_DEFAULT="true" + export GITTEST_REMOTE_EXPECTCONTINUE="true" + run_test authenticate + unset GITTEST_REMOTE_URL + unset GITTEST_REMOTE_DEFAULT + unset GITTEST_REMOTE_EXPECTCONTINUE + kdestroy -A fi diff --git a/tests/online/clone.c b/tests/online/clone.c index caed18cbf..aed0ab9ce 100644 --- a/tests/online/clone.c +++ b/tests/online/clone.c @@ -30,6 +30,7 @@ static char *_remote_proxy_host = NULL; static char *_remote_proxy_user = NULL; static char *_remote_proxy_pass = NULL; static char *_remote_proxy_selfsigned = NULL; +static char *_remote_expectcontinue = NULL; static int _orig_proxies_need_reset = 0; static char *_orig_http_proxy = NULL; @@ -74,6 +75,10 @@ void test_online_clone__initialize(void) _remote_proxy_user = cl_getenv("GITTEST_REMOTE_PROXY_USER"); _remote_proxy_pass = cl_getenv("GITTEST_REMOTE_PROXY_PASS"); _remote_proxy_selfsigned = cl_getenv("GITTEST_REMOTE_PROXY_SELFSIGNED"); + _remote_expectcontinue = cl_getenv("GITTEST_REMOTE_EXPECTCONTINUE"); + + if (_remote_expectcontinue) + git_libgit2_opts(GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE, 1); _orig_proxies_need_reset = 0; } @@ -99,6 +104,7 @@ void test_online_clone__cleanup(void) git__free(_remote_proxy_user); git__free(_remote_proxy_pass); git__free(_remote_proxy_selfsigned); + git__free(_remote_expectcontinue); if (_orig_proxies_need_reset) { cl_setenv("HTTP_PROXY", _orig_http_proxy); diff --git a/tests/online/push.c b/tests/online/push.c index 592372ba7..8c3150c3d 100644 --- a/tests/online/push.c +++ b/tests/online/push.c @@ -19,6 +19,7 @@ static char *_remote_ssh_pubkey = NULL; static char *_remote_ssh_passphrase = NULL; static char *_remote_default = NULL; +static char *_remote_expectcontinue = NULL; static int cred_acquire_cb(git_cred **, const char *, const char *, unsigned int, void *); @@ -366,12 +367,16 @@ void test_online_push__initialize(void) _remote_ssh_pubkey = cl_getenv("GITTEST_REMOTE_SSH_PUBKEY"); _remote_ssh_passphrase = cl_getenv("GITTEST_REMOTE_SSH_PASSPHRASE"); _remote_default = cl_getenv("GITTEST_REMOTE_DEFAULT"); + _remote_expectcontinue = cl_getenv("GITTEST_REMOTE_EXPECTCONTINUE"); _remote = NULL; /* Skip the test if we're missing the remote URL */ if (!_remote_url) cl_skip(); + if (_remote_expectcontinue) + git_libgit2_opts(GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE, 1); + cl_git_pass(git_remote_create(&_remote, _repo, "test", _remote_url)); record_callbacks_data_clear(&_record_cbs_data); @@ -417,10 +422,13 @@ void test_online_push__cleanup(void) git__free(_remote_ssh_pubkey); git__free(_remote_ssh_passphrase); git__free(_remote_default); + git__free(_remote_expectcontinue); /* Freed by cl_git_sandbox_cleanup */ _repo = NULL; + git_libgit2_opts(GIT_OPT_ENABLE_HTTP_EXPECT_CONTINUE, 0); + record_callbacks_data_clear(&_record_cbs_data); cl_fixture_cleanup("testrepo.git"); |