git-commit-vandalism/t/helper
Johannes Schindelin af9912efaf tests: include detailed trace logs with --write-junit-xml upon failure
The JUnit XML format lends itself to be presented in a powerful UI,
where you can drill down to the information you are interested in very
quickly.

For test failures, this usually means that you want to see the detailed
trace of the failing tests.

With Travis CI, we passed the `--verbose-log` option to get those
traces. However, that seems excessive, as we do not need/use the logs in
almost all of those cases: only when a test fails do we have a way to
include the trace.

So let's do something different when using Azure DevOps: let's run all
the tests with `--quiet` first, and only if a failure is encountered,
try to trace the commands as they are executed.

Of course, we cannot turn on `--verbose-log` after the fact. So let's
just re-run the test with all the same options, adding `--verbose-log`.
And then munging the output file into the JUnit XML on the fly.

Note: there is an off chance that re-running the test in verbose mode
"fixes" the failures (and this does happen from time to time!). That is
a possibility we should be able to live with. Ideally, we would label
this as "Passed upon rerun", and Azure Pipelines even know about that
outcome, but it is not available when using the JUnit XML format for
now:
https://github.com/Microsoft/azure-pipelines-agent/blob/master/src/Agent.Worker/TestResults/JunitResultReader.cs

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-01-29 09:26:47 -08:00
..
.gitignore
test-chmtime.c Merge branch 'ps/test-chmtime-get' 2018-04-25 13:29:00 +09:00
test-config.c
test-ctype.c
test-date.c test-date: add a subcommand to measure times in shell scripts 2019-01-28 10:34:28 -08:00
test-delta.c test-delta: read input into a heap buffer 2018-08-30 10:30:21 -07:00
test-drop-caches.c handle lower case drive letters on Windows 2018-07-12 12:11:05 -07:00
test-dump-cache-tree.c convert "oidcmp() != 0" to "!oideq()" 2018-08-29 11:32:49 -07:00
test-dump-fsmonitor.c t/helper: merge test-dump-fsmonitor into test-tool 2018-09-11 10:54:19 -07:00
test-dump-split-index.c Update struct index_state to use struct object_id 2018-05-02 13:59:50 +09:00
test-dump-untracked-cache.c t/helper: merge test-dump-untracked-cache into test-tool 2018-09-11 10:54:19 -07:00
test-example-decorate.c Replace all die("BUG: ...") calls by BUG() ones 2018-05-06 19:06:13 +09:00
test-fake-ssh.c
test-genrandom.c
test-hashmap.c
test-index-version.c
test-json-writer.c json_writer: new routines to create JSON data 2018-07-16 13:55:39 -07:00
test-lazy-init-name-hash.c
test-line-buffer.c
test-match-trees.c t/helper: merge (unused) test-match-trees into test-tool 2018-03-27 08:45:47 -07:00
test-mergesort.c t/helper: merge (unused) test-mergesort into test-tool 2018-03-27 08:45:47 -07:00
test-mktemp.c t/helper: merge test-mktemp into test-tool 2018-03-27 08:45:47 -07:00
test-online-cpus.c t/helper: merge test-online-cpus into test-tool 2018-03-27 08:45:47 -07:00
test-parse-options.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
test-path-utils.c tests: include detailed trace logs with --write-junit-xml upon failure 2019-01-29 09:26:47 -08:00
test-pkt-line.c t/helper: merge test-pkt-line into test-tool 2018-09-11 10:54:19 -07:00
test-prio-queue.c prio-queue: add 'peek' operation 2018-11-02 12:14:21 +09:00
test-reach.c test-reach: test get_reachable_subset 2018-11-03 00:12:06 +09:00
test-read-cache.c t/helper: merge test-read-cache into test-tool 2018-03-27 08:45:47 -07:00
test-read-midx.c multi-pack-index: store local property 2018-08-20 15:31:39 -07:00
test-ref-store.c refs: add repository argument to get_main_ref_store 2018-04-12 11:38:56 +09:00
test-regex.c t/helper: merge test-regex into test-tool 2018-03-27 08:45:47 -07:00
test-repository.c test-repository: properly init repo 2018-08-21 10:22:50 -07:00
test-revision-walking.c revision.c: remove implicit dependency on the_index 2018-09-21 09:51:19 -07:00
test-run-command.c t/helper: merge test-run-command into test-tool 2018-03-27 08:45:47 -07:00
test-scrap-cache-tree.c Merge branch 'ma/lockfile-cleanup' 2018-05-30 14:04:05 +09:00
test-sha1-array.c t/helper: merge test-sha1-array into test-tool 2018-03-27 08:45:47 -07:00
test-sha1.c
test-sha1.sh
test-sigchain.c style: the opening '{' of a function is in a separate line 2018-12-10 15:41:09 +09:00
test-strcmp-offset.c t/helper: merge test-strcmp-offset into test-tool 2018-03-27 08:45:47 -07:00
test-string-list.c t/helper: merge test-string-list into test-tool 2018-03-27 08:45:47 -07:00
test-submodule-config.c Merge branch 'sb/submodule-move-nested' 2018-05-08 15:59:17 +09:00
test-submodule-nested-repo-config.c t/helper: add test-submodule-nested-repo-config 2018-10-31 15:01:30 +09:00
test-subprocess.c t/helper: merge test-subprocess into test-tool 2018-03-27 08:45:47 -07:00
test-svn-fe.c
test-tool.c tests: optionally write results as JUnit-style .xml 2019-01-29 09:26:46 -08:00
test-tool.h tests: optionally write results as JUnit-style .xml 2019-01-29 09:26:46 -08:00
test-urlmatch-normalization.c t/helper: merge test-urlmatch-normalization into test-tool 2018-03-27 08:45:47 -07:00
test-wildmatch.c t/helper: merge test-wildmatch into test-tool 2018-03-27 08:45:47 -07:00
test-windows-named-pipe.c t0051: test GIT_TRACE to a windows named pipe 2018-09-11 13:54:25 -07:00
test-write-cache.c Merge branch 'ma/lockfile-cleanup' 2018-05-30 14:04:05 +09:00
test-xml-encode.c tests: optionally write results as JUnit-style .xml 2019-01-29 09:26:46 -08:00