mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-12-17 05:44:22 -05:00
Print complement failure results last (#13639)
Since github always scrolls to the bottom of any test output, let's put the failed tests last and hide any successful packages.
This commit is contained in:
parent
c4e29b6908
commit
4f6de33f41
@ -27,10 +27,10 @@ which is under the Unlicense licence.
|
|||||||
{{- . -}}{{- "\n" -}}
|
{{- . -}}{{- "\n" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- with .TestCases -}}
|
{{- with .TestCases -}}
|
||||||
{{- /* Failing tests are first */ -}}
|
{{- /* Passing tests are first */ -}}
|
||||||
{{- range . -}}
|
{{- range . -}}
|
||||||
{{- if and (ne .Result "PASS") (ne .Result "SKIP") -}}
|
{{- if eq .Result "PASS" -}}
|
||||||
::group::{{ "\033" }}[0;31m❌{{ " " }}{{- .Name -}}
|
::group::{{ "\033" }}[0;32m✅{{ " " }}{{- .Name -}}
|
||||||
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
|
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
|
||||||
{{- with .Coverage -}}
|
{{- with .Coverage -}}
|
||||||
, coverage: {{ . }}%
|
, coverage: {{ . }}%
|
||||||
@ -47,7 +47,6 @@ which is under the Unlicense licence.
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
{{- /* Then skipped tests are second */ -}}
|
{{- /* Then skipped tests are second */ -}}
|
||||||
{{- range . -}}
|
{{- range . -}}
|
||||||
{{- if eq .Result "SKIP" -}}
|
{{- if eq .Result "SKIP" -}}
|
||||||
@ -68,11 +67,10 @@ which is under the Unlicense licence.
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- /* and failing tests are last */ -}}
|
||||||
{{- /* Then passing tests are last */ -}}
|
|
||||||
{{- range . -}}
|
{{- range . -}}
|
||||||
{{- if eq .Result "PASS" -}}
|
{{- if and (ne .Result "PASS") (ne .Result "SKIP") -}}
|
||||||
::group::{{ "\033" }}[0;32m✅{{ " " }}{{- .Name -}}
|
::group::{{ "\033" }}[0;31m❌{{ " " }}{{- .Name -}}
|
||||||
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
|
{{- "\033" -}}[0;37m ({{if $settings.ShowTestStatus}}{{.Result}}; {{end}}{{ .Duration -}}
|
||||||
{{- with .Coverage -}}
|
{{- with .Coverage -}}
|
||||||
, coverage: {{ . }}%
|
, coverage: {{ . }}%
|
||||||
|
21
.ci/scripts/gotestfmt
Executable file
21
.ci/scripts/gotestfmt
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# wraps `gotestfmt`, hiding output from successful packages unless
|
||||||
|
# all tests passed.
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# tee the test results to a log, whilst also piping them into gotestfmt,
|
||||||
|
# telling it to hide successful results, so that we can clearly see
|
||||||
|
# unsuccessful results.
|
||||||
|
tee complement.log | gotestfmt -hide successful-packages
|
||||||
|
|
||||||
|
# gotestfmt will exit non-zero if there were any failures, so if we got to this
|
||||||
|
# point, we must have had a successful result.
|
||||||
|
echo "All tests successful; showing all test results"
|
||||||
|
|
||||||
|
# Pipe the test results back through gotestfmt, showing all results.
|
||||||
|
# The log file consists of JSON lines giving the test results, interspersed
|
||||||
|
# with regular stdout lines (including reports of downloaded packages).
|
||||||
|
grep '^{"Time":' complement.log | gotestfmt
|
2
.github/workflows/latest_deps.yml
vendored
2
.github/workflows/latest_deps.yml
vendored
@ -163,7 +163,7 @@ jobs:
|
|||||||
|
|
||||||
- run: |
|
- run: |
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
TEST_ONLY_IGNORE_POETRY_LOCKFILE=1 POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
|
TEST_ONLY_IGNORE_POETRY_LOCKFILE=1 POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | synapse/.ci/scripts/gotestfmt
|
||||||
shell: bash
|
shell: bash
|
||||||
name: Run Complement Tests
|
name: Run Complement Tests
|
||||||
|
|
||||||
|
2
.github/workflows/tests.yml
vendored
2
.github/workflows/tests.yml
vendored
@ -354,7 +354,7 @@ jobs:
|
|||||||
|
|
||||||
- run: |
|
- run: |
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
|
POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | synapse/.ci/scripts/gotestfmt
|
||||||
shell: bash
|
shell: bash
|
||||||
name: Run Complement Tests
|
name: Run Complement Tests
|
||||||
|
|
||||||
|
2
.github/workflows/twisted_trunk.yml
vendored
2
.github/workflows/twisted_trunk.yml
vendored
@ -137,7 +137,7 @@ jobs:
|
|||||||
|
|
||||||
- run: |
|
- run: |
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
TEST_ONLY_SKIP_DEP_HASH_VERIFICATION=1 POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | gotestfmt
|
TEST_ONLY_SKIP_DEP_HASH_VERIFICATION=1 POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -json 2>&1 | synapse/.ci/scripts/gotestfmt
|
||||||
shell: bash
|
shell: bash
|
||||||
name: Run Complement Tests
|
name: Run Complement Tests
|
||||||
|
|
||||||
|
1
changelog.d/13639.misc
Normal file
1
changelog.d/13639.misc
Normal file
@ -0,0 +1 @@
|
|||||||
|
Improve readability of Complement CI logs by printing failure results last.
|
Loading…
Reference in New Issue
Block a user