@@ -6,6 +6,11 @@ if [ -n "$SKIP_TESTS" ]; then
66 exit 0
77fi
88
9+ # Windows doesn't run the NTLM tests properly (yet)
10+ if [[ " $( uname -s) " == MINGW* ]]; then
11+ SKIP_NTLM_TESTS=1
12+ fi
13+
914SOURCE_DIR=${SOURCE_DIR:- $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && dirname $( pwd ) )}
1015BUILD_DIR=$( pwd)
1116TMPDIR=${TMPDIR:-/ tmp}
@@ -89,6 +94,16 @@ if [ -z "$SKIP_PROXY_TESTS" ]; then
8994 java -jar poxyproxy.jar --address 127.0.0.1 --port 8090 --credentials foo:bar --auth-type ntlm --quiet &
9095fi
9196
97+ if [ -z " $SKIP_NTLM_TESTS " ]; then
98+ curl -L https://github.com/ethomson/poxygit/releases/download/v0.4.0/poxygit-0.4.0.jar > poxygit.jar
99+
100+ echo " "
101+ echo " Starting HTTP server..."
102+ NTLM_DIR=` mktemp -d ${TMPDIR} /ntlm.XXXXXXXX`
103+ git init --bare " ${NTLM_DIR} /test.git"
104+ java -jar poxygit.jar --address 127.0.0.1 --port 9000 --credentials foo:baz --quiet " ${NTLM_DIR} " &
105+ fi
106+
92107if [ -z " $SKIP_SSH_TESTS " ]; then
93108 echo " Starting ssh daemon..."
94109 HOME=` mktemp -d ${TMPDIR} /home.XXXXXXXX`
@@ -207,6 +222,65 @@ if [ -z "$SKIP_PROXY_TESTS" ]; then
207222 unset GITTEST_REMOTE_PROXY_PASS
208223fi
209224
225+ if [ -z " $SKIP_NTLM_TESTS " ]; then
226+ echo " "
227+ echo " Running NTLM tests (IIS emulation)"
228+ echo " "
229+
230+ export GITTEST_REMOTE_URL=" http://localhost:9000/ntlm/test.git"
231+ export GITTEST_REMOTE_USER=" foo"
232+ export GITTEST_REMOTE_PASS=" baz"
233+ run_test auth_clone_and_push
234+ unset GITTEST_REMOTE_URL
235+ unset GITTEST_REMOTE_USER
236+ unset GITTEST_REMOTE_PASS
237+
238+ echo " "
239+ echo " Running NTLM tests (Apache emulation)"
240+ echo " "
241+
242+ export GITTEST_REMOTE_URL=" http://localhost:9000/broken-ntlm/test.git"
243+ export GITTEST_REMOTE_USER=" foo"
244+ export GITTEST_REMOTE_PASS=" baz"
245+ run_test auth_clone_and_push
246+ unset GITTEST_REMOTE_URL
247+ unset GITTEST_REMOTE_USER
248+ unset GITTEST_REMOTE_PASS
249+ fi
250+
251+ if [ -z " $SKIP_NEGOTIATE_TESTS " -a -n " $GITTEST_NEGOTIATE_PASSWORD " ]; then
252+ echo " "
253+ echo " Running SPNEGO tests"
254+ echo " "
255+
256+ if [ " $( uname -s) " = " Darwin" ]; then
257+ KINIT_FLAGS=" --password-file=STDIN"
258+ fi
259+
260+ echo $GITTEST_NEGOTIATE_PASSWORD | kinit $KINIT_FLAGS test@LIBGIT2.ORG
261+ klist -5f
262+
263+ export GITTEST_REMOTE_URL=" https://test.libgit2.org/kerberos/empty.git"
264+ export GITTEST_REMOTE_DEFAULT=" true"
265+ run_test auth_clone
266+ unset GITTEST_REMOTE_URL
267+ unset GITTEST_REMOTE_DEFAULT
268+
269+ echo " "
270+ echo " Running SPNEGO tests (expect/continue)"
271+ echo " "
272+
273+ export GITTEST_REMOTE_URL=" https://test.libgit2.org/kerberos/empty.git"
274+ export GITTEST_REMOTE_DEFAULT=" true"
275+ export GITTEST_REMOTE_EXPECTCONTINUE=" true"
276+ run_test auth_clone
277+ unset GITTEST_REMOTE_URL
278+ unset GITTEST_REMOTE_DEFAULT
279+ unset GITTEST_REMOTE_EXPECTCONTINUE
280+
281+ kdestroy -A
282+ fi
283+
210284if [ -z " $SKIP_SSH_TESTS " ]; then
211285 echo " "
212286 echo " Running ssh tests"
0 commit comments