@@ -202,127 +202,6 @@ has_merge_conflicts () {
202202 test -n " $( git ls-files --unmerged) "
203203}
204204
205- # ensure_valid_login_shell <bitness>
206- ensure_valid_login_shell () {
207- # Only perform this stunt for special accounts, such as NETWORK SERVICE
208- test 256 -gt " $UID " ||
209- return 0
210-
211- sdk=" $( eval " echo \$ sdk$1 " ) "
212- " $sdk /git-cmd" --command=usr\\ bin\\ sh.exe -c '
213- # use `strace` to avoid segmentation faults for special accounts
214- line="$(strace -o /dev/null mkpasswd -c | grep -v ^create)"
215- case "$line" in
216- */nologin)
217- if ! grep -q "^${line%%:*}" /etc/passwd 2>/dev/null
218- then
219- echo "${line%:*}:/usr/bin/bash" >>/etc/passwd
220- fi
221- ;;
222- esac' >&2
223- }
224-
225- # build_and_test_64; intended to build and test 64-bit Git in MINGW-packages
226- build_and_test_64 () {
227- skip_tests=
228- filter_make_test=" | perl -ne '" '
229- s/^ok \d+ # skip/skipped:/;
230- unless (
231- /^1..[0-9]*/ or
232- /^ok [0-9]*/ or
233- /^# passed all [0-9]* test\(s\)/ or
234- /^# passed all remaining [0-9]* test\(s\)/ or
235- /^# still have [0-9]* known breakage\(s\)/
236- ) {
237- s/^not ok \d+ -(.*)# TODO known breakage/known e:$1/;
238- s/^\*\*\* (.+) \*\*\*/$1/;
239- s/(.+)/ $1/ unless /^t\d{4}-|^make/;
240- print;
241- };
242- ' " '; grep '^failed [^0]' t/test-results/*.counts"
243- test_opts=--quiet
244- no_svn_tests=" NO_SVN_TESTS=1"
245- while case " $1 " in
246- --skip-tests)
247- skip_tests=--skip-tests
248- ;;
249- --full-log)
250- test_opts=
251- filter_make_test=
252- ;;
253- --with-svn-tests)
254- no_svn_tests=
255- ;;
256- -* ) die " Unknown option: %s\n" " $1 " ;;
257- * ) break ;;
258- esac ; do shift ; done
259- test $# = 0 ||
260- die " Expected no argument, got $# : %s\n" " $* "
261-
262- make_t_prefix=
263- test -z " $test_opts " ||
264- make_t_prefix=" GIT_TEST_OPTS=\" $test_opts \" $make_t_prefix "
265- test -z " $no_svn_tests " ||
266- make_t_prefix=" $no_svn_tests $make_t_prefix "
267-
268- ls //localhost/c$ > /dev/null 2>&1 || {
269- echo " Administrative shares unavailable; skipping t5580" >&2
270- export GIT_SKIP_TESTS=" ${GIT_SKIP_TESTS: +$GIT_SKIP_TESTS } t5580"
271- }
272-
273- ensure_valid_login_shell 64 &&
274- GIT_CONFIG_PARAMETERS= \
275- " $sdk64 /git-cmd" --command=usr\\ bin\\ sh.exe -l -c '
276- : make sure that the .dll files are correctly resolved: &&
277- cd $PWD &&
278- rm -f t/test-results/*.{counts,tee} &&
279- printf "\nBuilding Git...\n" >&2 &&
280- if ! make -j5 -k DEVELOPER=1
281- then
282- echo "Re-running build (to show failures)" >&2
283- make -k DEVELOPER=1 || {
284- echo "Build failed!" >&2
285- exit 1
286- }
287- fi &&
288- printf "\nTesting Git...\n" >&2 &&
289- if ' " $( if test -z " $skip_tests "
290- then
291- printf ' ! %smake -C t -j5 -k%s\n' \
292- " $make_t_prefix " " $filter_make_test "
293- else
294- echo ' false'
295- fi) " '
296- then
297- cd t &&
298- failed_tests="$(cd test-results &&
299- grep -l "^failed [1-9]" t[0-9]*.counts)" || {
300- echo "No failed tests ?!?" >&2
301- exit 1
302- }
303- still_failing="$(git rev-parse --git-dir)/failing.txt"
304- rm -f "$still_failing"
305- for t in $failed_tests
306- do
307- t=${t%*.counts}
308- test -f "$t.sh" || {
309- t=${t%*-[1-9]*}
310- test -f "$t.sh" ||
311- echo "Cannot find script for $t" >&2
312- exit 1
313- }
314- echo "Re-running $t" >&2
315- time bash $t.sh -i -v -x ||
316- echo "$t.sh" >>"$still_failing"
317- done
318- test ! -s "$still_failing" || {
319- printf "Still failing:\n\n%s\n" \
320- "$(cat "$still_failing")" >&2
321- exit 1
322- }
323- fi'
324- }
325-
326205pacman_helper () {
327206 " $sdk64 /git-cmd.exe" --command=usr\\ bin\\ bash.exe -l \
328207 " $sdk64 /usr/src/build-extra/pacman-helper.sh" " $@ "
0 commit comments