git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
	Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: [PATCH v2 04/13] tests: optionally write results as JUnit-style .xml
Date: Mon, 15 Oct 2018 03:12:04 -0700 (PDT)	[thread overview]
Message-ID: <cf4c5ae47007651a95cbfc56f126326429e17999.1539598316.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.31.v2.git.gitgitgadget@gmail.com>

From: Johannes Schindelin <johannes.schindelin@gmx.de>

This will come in handy when publishing the results of Git's test suite
during an automated Azure DevOps run.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 t/.gitignore  |  1 +
 t/test-lib.sh | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+)

diff --git a/t/.gitignore b/t/.gitignore
index 348715f0e4..91cf5772fe 100644
--- a/t/.gitignore
+++ b/t/.gitignore
@@ -2,3 +2,4 @@
 /test-results
 /.prove
 /chainlinttmp
+/out/
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 3f95bfda60..7ed0013f6d 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -288,6 +288,9 @@ do
 	--verbose-log)
 		verbose_log=t
 		shift ;;
+	--write-junit-xml)
+		write_junit_xml=t
+		shift ;;
 	*)
 		echo "error: unknown test option '$1'" >&2; exit 1 ;;
 	esac
@@ -431,11 +434,24 @@ trap 'exit $?' INT
 # the test_expect_* functions instead.
 
 test_ok_ () {
+	if test -n "$write_junit_xml"
+	then
+		write_junit_xml_testcase "$*"
+	fi
 	test_success=$(($test_success + 1))
 	say_color "" "ok $test_count - $@"
 }
 
 test_failure_ () {
+	if test -n "$write_junit_xml"
+	then
+		junit_insert="<failure message=\"not ok $test_count -"
+		junit_insert="$junit_insert $(xml_attr_encode "$1")\">"
+		junit_insert="$junit_insert $(xml_attr_encode \
+			"$(printf '%s\n' "$@" | sed 1d)")"
+		junit_insert="$junit_insert</failure>"
+		write_junit_xml_testcase "$1" "      $junit_insert"
+	fi
 	test_failure=$(($test_failure + 1))
 	say_color error "not ok $test_count - $1"
 	shift
@@ -444,11 +460,19 @@ test_failure_ () {
 }
 
 test_known_broken_ok_ () {
+	if test -n "$write_junit_xml"
+	then
+		write_junit_xml_testcase "$* (breakage fixed)"
+	fi
 	test_fixed=$(($test_fixed+1))
 	say_color error "ok $test_count - $@ # TODO known breakage vanished"
 }
 
 test_known_broken_failure_ () {
+	if test -n "$write_junit_xml"
+	then
+		write_junit_xml_testcase "$* (known breakage)"
+	fi
 	test_broken=$(($test_broken+1))
 	say_color warn "not ok $test_count - $@ # TODO known breakage"
 }
@@ -706,6 +730,10 @@ test_start_ () {
 	test_count=$(($test_count+1))
 	maybe_setup_verbose
 	maybe_setup_valgrind
+	if test -n "$write_junit_xml"
+	then
+		junit_start=$(test-tool date getnanos)
+	fi
 }
 
 test_finish_ () {
@@ -743,6 +771,13 @@ test_skip () {
 
 	case "$to_skip" in
 	t)
+		if test -n "$write_junit_xml"
+		then
+			message="$(xml_attr_encode "$skipped_reason")"
+			write_junit_xml_testcase "$1" \
+				"      <skipped message=\"$message\" />"
+		fi
+
 		say_color skip >&3 "skipping test: $@"
 		say_color skip "ok $test_count # skip $1 ($skipped_reason)"
 		: true
@@ -758,9 +793,58 @@ test_at_end_hook_ () {
 	:
 }
 
+write_junit_xml () {
+	case "$1" in
+	--truncate)
+		>"$junit_xml_path"
+		junit_have_testcase=
+		shift
+		;;
+	esac
+	printf '%s\n' "$@" >>"$junit_xml_path"
+}
+
+xml_attr_encode () {
+	# We do not translate CR to &#x0d; because BSD sed does not handle
+	# \r in the regex. In practice, the output should not even have any
+	# carriage returns.
+	printf '%s\n' "$@" |
+	sed -e 's/&/\&amp;/g' -e "s/'/\&apos;/g" -e 's/"/\&quot;/g' \
+		-e 's/</\&lt;/g' -e 's/>/\&gt;/g' \
+		-e 's/	/\&#x09;/g' -e 's/$/\&#x0a;/' -e '$s/&#x0a;$//' |
+	tr -d '\012\015'
+}
+
+write_junit_xml_testcase () {
+	junit_attrs="name=\"$(xml_attr_encode "$this_test.$test_count $1")\""
+	shift
+	junit_attrs="$junit_attrs classname=\"$this_test\""
+	junit_attrs="$junit_attrs time=\"$(test-tool \
+		date getnanos $junit_start)\""
+	write_junit_xml "$(printf '%s\n' \
+		"    <testcase $junit_attrs>" "$@" "    </testcase>")"
+	junit_have_testcase=t
+}
+
 test_done () {
 	GIT_EXIT_OK=t
 
+	if test -n "$write_junit_xml" && test -n "$junit_xml_path"
+	then
+		test -n "$junit_have_testcase" || {
+			junit_start=$(test-tool date getnanos)
+			write_junit_xml_testcase "all tests skipped"
+		}
+
+		# adjust the overall time
+		junit_time=$(test-tool date getnanos $junit_suite_start)
+		sed "s/<testsuite [^>]*/& time=\"$junit_time\"/" \
+			<"$junit_xml_path" >"$junit_xml_path.new"
+		mv "$junit_xml_path.new" "$junit_xml_path"
+
+		write_junit_xml "  </testsuite>" "</testsuites>"
+	fi
+
 	if test -z "$HARNESS_ACTIVE"
 	then
 		test_results_dir="$TEST_OUTPUT_DIRECTORY/test-results"
@@ -996,6 +1080,7 @@ then
 else
 	mkdir -p "$TRASH_DIRECTORY"
 fi
+
 # Use -P to resolve symlinks in our working directory so that the cwd
 # in subprocesses like git equals our $PWD (for pathname comparisons).
 cd -P "$TRASH_DIRECTORY" || exit 1
@@ -1009,6 +1094,19 @@ then
 	test_done
 fi
 
+if test -n "$write_junit_xml"
+then
+	junit_xml_dir="$TEST_OUTPUT_DIRECTORY/out"
+	mkdir -p "$junit_xml_dir"
+	junit_xml_base=${0##*/}
+	junit_xml_path="$junit_xml_dir/TEST-${junit_xml_base%.sh}.xml"
+	junit_attrs="name=\"${junit_xml_base%.sh}\""
+	junit_attrs="$junit_attrs timestamp=\"$(TZ=UTC \
+		date +%Y-%m-%dT%H:%M:%S)\""
+	write_junit_xml --truncate "<testsuites>" "  <testsuite $junit_attrs>"
+	junit_suite_start=$(test-tool date getnanos)
+fi
+
 # Provide an implementation of the 'yes' utility
 yes () {
 	if test $# = 0
-- 
gitgitgadget


  parent reply	other threads:[~2018-10-15 10:12 UTC|newest]

Thread overview: 225+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-03 21:10 [PATCH 0/9] Offer to run CI/PR builds in Visual Studio Team Services Johannes Schindelin via GitGitGadget
2018-09-03 21:10 ` [PATCH 1/9] ci: rename the library of common functions Johannes Schindelin via GitGitGadget
2018-09-03 21:10 ` [PATCH 2/9] ci/lib.sh: encapsulate Travis-specific things Johannes Schindelin via GitGitGadget
2018-09-03 23:43   ` Eric Sunshine
2018-09-04 11:04     ` Johannes Schindelin
2018-09-05 18:57   ` Sebastian Schuberth
2018-09-14 19:07     ` Johannes Schindelin
2018-09-03 21:10 ` [PATCH 3/9] test-date: add a subcommand to measure times in shell scripts Johannes Schindelin via GitGitGadget
2018-09-03 21:10 ` [PATCH 4/9] tests: optionally write results as JUnit-style .xml Johannes Schindelin via GitGitGadget
2018-09-04  0:43   ` Eric Sunshine
2018-09-04 10:59     ` Johannes Schindelin
2018-09-03 21:10 ` [PATCH 5/9] ci/lib.sh: add support for VSTS CI Johannes Schindelin via GitGitGadget
2018-09-03 21:10 ` [PATCH 6/9] Add a build definition for VSTS Johannes Schindelin via GitGitGadget
2018-09-03 21:10 ` [PATCH 7/9] tests: include detailed trace logs with --write-junit-xml upon failure Johannes Schindelin via GitGitGadget
2018-09-04  4:30   ` Eric Sunshine
2018-09-04 11:09     ` Johannes Schindelin
2018-09-05  5:32       ` Luke Diamand
2018-09-05 12:39         ` Johannes Schindelin
2018-09-05 13:03           ` Luke Diamand
2018-09-14 18:46             ` Johannes Schindelin
2018-09-05 18:38           ` Eric Sunshine
2018-09-05 20:24             ` Jeff King
2018-09-14 19:04               ` Johannes Schindelin
2018-09-14 18:51             ` Johannes Schindelin
2018-09-03 21:10 ` [PATCH 8/9] tests: record more stderr with --write-junit-xml in case of failure Johannes Schindelin via GitGitGadget
2018-09-03 21:10 ` [PATCH 9/9] README: add a build badge (status of the VSTS build) Johannes Schindelin via GitGitGadget
2018-09-05 19:01 ` [PATCH 0/9] Offer to run CI/PR builds in Visual Studio Team Services Sebastian Schuberth
2018-09-05 19:08   ` Stefan Beller
2018-10-15 10:11 ` [PATCH v2 00/13] Offer to run CI/PR builds in Azure Pipelines Johannes Schindelin via GitGitGadget
2018-10-15 10:11   ` [PATCH v2 01/13] ci: rename the library of common functions Johannes Schindelin via GitGitGadget
2018-10-16  5:26     ` Junio C Hamano
2018-10-15 10:12   ` [PATCH v2 02/13] ci/lib.sh: encapsulate Travis-specific things Johannes Schindelin via GitGitGadget
2018-10-18 22:01     ` SZEDER Gábor
2018-10-19  2:06       ` Junio C Hamano
2018-10-19  8:25         ` SZEDER Gábor
2018-10-19  8:35           ` Junio C Hamano
2018-10-15 10:12   ` [PATCH v2 03/13] test-date: add a subcommand to measure times in shell scripts Johannes Schindelin via GitGitGadget
2018-10-15 10:12   ` Johannes Schindelin via GitGitGadget [this message]
2018-10-15 10:12   ` [PATCH v2 05/13] ci/lib.sh: add support for Azure Pipelines Johannes Schindelin via GitGitGadget
2018-10-16  9:43     ` SZEDER Gábor
2018-10-16 12:53       ` Johannes Schindelin
2018-10-15 10:12   ` [PATCH v2 06/13] Add a build definition for Azure DevOps Johannes Schindelin via GitGitGadget
2018-10-16  5:35     ` Junio C Hamano
2018-10-16  9:58       ` Johannes Schindelin
2018-10-16 19:12     ` SZEDER Gábor
2018-10-17 14:58       ` Johannes Schindelin
2018-10-15 10:12   ` [PATCH v2 07/13] tests: introduce `test_atexit` Johannes Schindelin via GitGitGadget
2018-10-21 11:20     ` SZEDER Gábor
2018-10-15 10:12   ` [PATCH v2 08/13] git-daemon: use `test_atexit` in the tests Johannes Schindelin via GitGitGadget
2018-10-15 10:12   ` [PATCH v2 09/13] git-p4: use `test_atexit` to kill the daemon Johannes Schindelin via GitGitGadget
2018-10-15 11:00     ` Luke Diamand
2018-10-15 15:02       ` Johannes Schindelin
2018-10-15 20:19         ` Luke Diamand
2018-10-16  9:39           ` Johannes Schindelin
2018-10-16  3:34     ` Eric Sunshine
2018-10-16  8:51       ` Johannes Schindelin
2018-10-17 23:29     ` SZEDER Gábor
2018-10-15 10:12   ` [PATCH v2 10/13] tests: include detailed trace logs with --write-junit-xml upon failure Johannes Schindelin via GitGitGadget
2018-10-16 10:04     ` SZEDER Gábor
2018-10-16 13:02       ` Johannes Schindelin
2018-10-16 16:03         ` SZEDER Gábor
2018-10-16 20:53           ` Johannes Schindelin
2018-10-15 10:12   ` [PATCH v2 11/13] tests: record more stderr with --write-junit-xml in case of failure Johannes Schindelin via GitGitGadget
2018-10-15 10:12   ` [PATCH v2 12/13] README: add a build badge (status of the Azure Pipelines build) Johannes Schindelin via GitGitGadget
2018-10-16  3:44     ` Eric Sunshine
2018-10-16  8:48       ` Johannes Schindelin
2018-10-15 10:12   ` [PATCH v2 13/13] travis: fix skipping tagged releases Johannes Schindelin via GitGitGadget
2018-10-16  9:40     ` SZEDER Gábor
2018-10-16 12:45       ` Johannes Schindelin
2018-10-15 14:22   ` [PATCH v2 00/13] Offer to run CI/PR builds in Azure Pipelines Taylor Blau
2018-10-15 14:55     ` Johannes Schindelin
2018-10-16  2:53       ` Taylor Blau
2018-10-16 11:55         ` Ævar Arnfjörð Bjarmason
2018-10-16 10:30     ` SZEDER Gábor
2018-10-25  8:17   ` Junio C Hamano
2018-10-26  8:37     ` Johannes Schindelin
2019-01-16 14:04     ` Johannes Schindelin
2019-01-17 20:59       ` Junio C Hamano
2019-01-18 11:49         ` Johannes Schindelin
2019-01-16 13:36   ` [PATCH v3 00/21] " Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 01/21] travis: fix skipping tagged releases Johannes Schindelin via GitGitGadget
2019-01-17 20:55       ` Junio C Hamano
2019-01-18 10:05         ` Johannes Schindelin
2019-01-16 13:36     ` [PATCH v3 02/21] ci: rename the library of common functions Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 03/21] ci/lib.sh: encapsulate Travis-specific things Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 04/21] ci: inherit --jobs via MAKEFLAGS in run-build-and-tests Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 05/21] ci: use a junction on Windows instead of a symlink Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 06/21] test-date: add a subcommand to measure times in shell scripts Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 07/21] tests: optionally write results as JUnit-style .xml Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 08/21] ci/lib.sh: add support for Azure Pipelines Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 09/21] Add a build definition for Azure DevOps Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 11/21] ci: use git-sdk-64-minimal build artifact Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 10/21] ci: move the Windows job to the top Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 12/21] mingw: be more generous when wrapping up the setitimer() emulation Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 13/21] README: add a build badge (status of the Azure Pipelines build) Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 14/21] tests: avoid calling Perl just to determine file sizes Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 15/21] tests: include detailed trace logs with --write-junit-xml upon failure Johannes Schindelin via GitGitGadget
2019-01-17 10:18       ` Johannes Schindelin
2019-01-16 13:36     ` [PATCH v3 16/21] mingw: try to work around issues with the test cleanup Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 17/21] tests: add t/helper/ to the PATH with --with-dashes Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 18/21] t0061: fix with --with-dashes and RUNTIME_PREFIX Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 20/21] ci: speed up Windows phase Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 19/21] tests: optionally skip bin-wrappers/ Johannes Schindelin via GitGitGadget
2019-01-16 13:36     ` [PATCH v3 21/21] ci: parallelize testing on Windows Johannes Schindelin via GitGitGadget
2019-01-23 14:40     ` [PATCH v4 00/21] Offer to run CI/PR builds in Azure Pipelines Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 01/21] travis: fix skipping tagged releases Johannes Schindelin via GitGitGadget
2019-01-23 22:00         ` Junio C Hamano
2019-01-23 14:40       ` [PATCH v4 02/21] ci: rename the library of common functions Johannes Schindelin via GitGitGadget
2019-01-23 22:01         ` Junio C Hamano
2019-01-23 14:40       ` [PATCH v4 04/21] ci: inherit --jobs via MAKEFLAGS in run-build-and-tests Johannes Schindelin via GitGitGadget
2019-01-23 22:22         ` Junio C Hamano
2019-01-25 13:25           ` SZEDER Gábor
2019-01-28 16:02             ` Johannes Schindelin
2019-01-26 18:48           ` Johannes Schindelin
2019-01-23 14:40       ` [PATCH v4 03/21] ci/lib.sh: encapsulate Travis-specific things Johannes Schindelin via GitGitGadget
2019-01-23 22:19         ` Junio C Hamano
2019-01-26 18:37           ` Johannes Schindelin
2019-01-27 23:20             ` Junio C Hamano
2019-01-28 23:01               ` Johannes Schindelin
2019-01-28 23:05                 ` Junio C Hamano
2019-01-29  9:54                   ` Johannes Schindelin
2019-01-25 13:51         ` SZEDER Gábor
2019-01-27 21:22           ` Johannes Schindelin
2019-01-23 14:40       ` [PATCH v4 05/21] ci: use a junction on Windows instead of a symlink Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 06/21] test-date: add a subcommand to measure times in shell scripts Johannes Schindelin via GitGitGadget
2019-01-23 22:29         ` Junio C Hamano
2019-01-27 14:54           ` Johannes Schindelin
2019-01-27 23:14           ` Junio C Hamano
2019-01-28 18:49             ` Junio C Hamano
2019-01-23 14:40       ` [PATCH v4 07/21] tests: optionally write results as JUnit-style .xml Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 08/21] ci/lib.sh: add support for Azure Pipelines Johannes Schindelin via GitGitGadget
2019-01-23 22:40         ` Junio C Hamano
2019-01-27 18:26           ` Johannes Schindelin
2019-01-23 14:40       ` [PATCH v4 09/21] Add a build definition for Azure DevOps Johannes Schindelin via GitGitGadget
2019-01-23 22:44         ` Junio C Hamano
2019-01-27 18:30           ` Johannes Schindelin
2019-01-23 14:40       ` [PATCH v4 10/21] ci: move the Windows job to the top Johannes Schindelin via GitGitGadget
2019-01-23 22:59         ` Junio C Hamano
2019-01-27 18:22           ` Johannes Schindelin
2019-01-23 23:07         ` Junio C Hamano
2019-01-27 19:05           ` Johannes Schindelin
2019-01-23 14:40       ` [PATCH v4 11/21] ci: use git-sdk-64-minimal build artifact Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 12/21] mingw: be more generous when wrapping up the setitimer() emulation Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 13/21] README: add a build badge (status of the Azure Pipelines build) Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 14/21] tests: avoid calling Perl just to determine file sizes Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 15/21] tests: include detailed trace logs with --write-junit-xml upon failure Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 16/21] mingw: try to work around issues with the test cleanup Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 17/21] tests: add t/helper/ to the PATH with --with-dashes Johannes Schindelin via GitGitGadget
2019-01-23 23:33         ` Junio C Hamano
2019-01-27 18:40           ` Johannes Schindelin
2019-01-23 14:40       ` [PATCH v4 19/21] tests: optionally skip bin-wrappers/ Johannes Schindelin via GitGitGadget
2019-01-23 14:40       ` [PATCH v4 18/21] t0061: fix with --with-dashes and RUNTIME_PREFIX Johannes Schindelin via GitGitGadget
2019-01-28  2:09         ` Junio C Hamano
2019-01-28 22:44           ` Johannes Schindelin
2019-01-28 23:00             ` Junio C Hamano
2019-01-29  9:55               ` Johannes Schindelin
2019-01-23 14:40       ` [PATCH v4 20/21] ci: speed up Windows phase Johannes Schindelin via GitGitGadget
2019-01-23 23:35         ` Junio C Hamano
2019-01-23 14:40       ` [PATCH v4 21/21] ci: parallelize testing on Windows Johannes Schindelin via GitGitGadget
2019-01-23 16:23       ` Fast CI for all branches in gitster/git, was Re: [PATCH v4 00/21] Offer to run CI/PR builds in Azure Pipelines Johannes Schindelin
2019-01-23 23:39       ` Junio C Hamano
2019-01-27 23:26       ` [PATCH v5 " Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 01/21] travis: fix skipping tagged releases Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 02/21] ci: rename the library of common functions Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 03/21] ci/lib.sh: encapsulate Travis-specific things Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 04/21] ci: inherit --jobs via MAKEFLAGS in run-build-and-tests Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 05/21] ci: use a junction on Windows instead of a symlink Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 06/21] test-date: add a subcommand to measure times in shell scripts Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 07/21] tests: optionally write results as JUnit-style .xml Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 08/21] ci/lib.sh: add support for Azure Pipelines Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 09/21] Add a build definition for Azure DevOps Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 11/21] ci: use git-sdk-64-minimal build artifact Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 10/21] ci: add a Windows job to the Azure Pipelines definition Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 12/21] mingw: be more generous when wrapping up the setitimer() emulation Johannes Schindelin via GitGitGadget
2019-01-27 23:26         ` [PATCH v5 13/21] README: add a build badge (status of the Azure Pipelines build) Johannes Schindelin via GitGitGadget
2019-01-27 23:27         ` [PATCH v5 14/21] tests: avoid calling Perl just to determine file sizes Johannes Schindelin via GitGitGadget
2019-01-27 23:27         ` [PATCH v5 15/21] tests: include detailed trace logs with --write-junit-xml upon failure Johannes Schindelin via GitGitGadget
2019-01-27 23:27         ` [PATCH v5 16/21] mingw: try to work around issues with the test cleanup Johannes Schindelin via GitGitGadget
2019-01-27 23:27         ` [PATCH v5 17/21] tests: add t/helper/ to the PATH with --with-dashes Johannes Schindelin via GitGitGadget
2019-01-27 23:27         ` [PATCH v5 18/21] t0061: fix with --with-dashes and RUNTIME_PREFIX Johannes Schindelin via GitGitGadget
2019-01-27 23:27         ` [PATCH v5 19/21] tests: optionally skip bin-wrappers/ Johannes Schindelin via GitGitGadget
2019-01-27 23:27         ` [PATCH v5 20/21] ci: speed up Windows phase Johannes Schindelin via GitGitGadget
2019-01-27 23:27         ` [PATCH v5 21/21] ci: parallelize testing on Windows Johannes Schindelin via GitGitGadget
2019-01-29 14:19         ` [PATCH v6 00/21] Offer to run CI/PR builds in Azure Pipelines Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 01/21] travis: fix skipping tagged releases Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 02/21] ci: rename the library of common functions Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 03/21] ci/lib.sh: encapsulate Travis-specific things Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 04/21] ci: inherit --jobs via MAKEFLAGS in run-build-and-tests Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 05/21] ci: use a junction on Windows instead of a symlink Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 07/21] tests: optionally write results as JUnit-style .xml Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 06/21] test-date: add a subcommand to measure times in shell scripts Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 08/21] ci/lib.sh: add support for Azure Pipelines Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 09/21] Add a build definition for Azure DevOps Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 10/21] ci: add a Windows job to the Azure Pipelines definition Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 11/21] ci: use git-sdk-64-minimal build artifact Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 12/21] mingw: be more generous when wrapping up the setitimer() emulation Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 13/21] README: add a build badge (status of the Azure Pipelines build) Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 14/21] tests: avoid calling Perl just to determine file sizes Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 15/21] tests: include detailed trace logs with --write-junit-xml upon failure Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 17/21] tests: add t/helper/ to the PATH with --with-dashes Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 16/21] mingw: try to work around issues with the test cleanup Johannes Schindelin via GitGitGadget
2021-03-10 12:40             ` Ævar Arnfjörð Bjarmason
2021-03-19 14:20               ` Johannes Schindelin
2021-03-20 18:12                 ` Ævar Arnfjörð Bjarmason
2021-03-20 20:10                   ` Junio C Hamano
2021-03-24 12:01                   ` Johannes Schindelin
2021-03-24 21:20                     ` SZEDER Gábor
2021-03-24 22:57                       ` Ævar Arnfjörð Bjarmason
2021-03-26 19:54                         ` SZEDER Gábor
2019-01-29 14:19           ` [PATCH v6 18/21] t0061: workaround issues with --with-dashes and RUNTIME_PREFIX Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 19/21] tests: optionally skip bin-wrappers/ Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 20/21] ci: speed up Windows phase Johannes Schindelin via GitGitGadget
2019-01-29 14:19           ` [PATCH v6 21/21] ci: parallelize testing on Windows Johannes Schindelin via GitGitGadget
2018-10-15 15:06 ` [PATCH 0/9] Offer to run CI/PR builds in Visual Studio Team Services Ævar Arnfjörð Bjarmason
2018-10-15 15:42   ` Duy Nguyen
2018-10-15 16:17     ` Christian Couder
2018-10-15 18:33       ` Johannes Schindelin
2018-10-16  0:24         ` Christian Couder
2018-10-16  4:50         ` Junio C Hamano
2018-10-16  9:14           ` Ævar Arnfjörð Bjarmason
2018-10-18  2:03             ` Junio C Hamano
2018-10-19 10:40               ` Mirror of git.git on gitlab.com Ævar Arnfjörð Bjarmason
2018-10-22  5:41                 ` Junio C Hamano
2018-10-25  8:37                   ` Jeff King
2018-10-16  4:47   ` [PATCH 0/9] Offer to run CI/PR builds in Visual Studio Team Services Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cf4c5ae47007651a95cbfc56f126326429e17999.1539598316.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=johannes.schindelin@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).