Skip to content

Commit

Permalink
Colorize the Github test output
Browse files Browse the repository at this point in the history
Let's color our workflow test output for better readability.

Reviewed by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
Closes openzfs#13000
  • Loading branch information
rincebrain authored and andrewc12 committed Aug 30, 2022
1 parent 59cf9dd commit fe82bc3
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 3 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/zfs-tests-functional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@ jobs:
df -h /
- name: Tests
run: |
/usr/share/zfs/zfs-tests.sh -vR -s 3G
set -o pipefail
/usr/share/zfs/zfs-tests.sh -vR -s 3G | scripts/zfs-tests-color.sh
shell: bash
timeout-minutes: 330
- name: Prepare artifacts
if: failure()
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/zfs-tests-sanity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ jobs:
df -h /
- name: Tests
run: |
/usr/share/zfs/zfs-tests.sh -vR -s 3G -r sanity
set -o pipefail
/usr/share/zfs/zfs-tests.sh -vR -s 3G -r sanity | scripts/zfs-tests-color.sh
shell: bash
timeout-minutes: 330
- name: Prepare artifacts
if: failure()
Expand Down
3 changes: 2 additions & 1 deletion scripts/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ EXTRA_SCRIPTS = \
make_gitrev.sh \
man-dates.sh \
paxcheck.sh \
mancheck.sh
mancheck.sh \
zfs-tests-color.sh

EXTRA_DIST = \
cstyle.pl \
Expand Down
27 changes: 27 additions & 0 deletions scripts/zfs-tests-color.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/sh
# A large mass of sed for coloring zfs-tests.sh output
# Version 2, thanks to наб.
# Just pipe zfs-tests.sh output into this, and watch.

exec "$(command -v gsed || echo sed)" \
-e 's/\] \[PASS\]$/] [\x1b[92mPASS\x1b[0m]/' \
-e 's/\] \[FAIL\]$/] [\x1b[1;91mFAIL\x1b[0m]/' \
-e 's/\] \[KILLED\]$/] [\x1b[1;101mKILLED\x1b[0m]/' \
-e 's/\] \[SKIP\]$/] [\x1b[1mSKIP\x1b[0m]/' \
-e 's/\] \[RERAN\]$/] [\x1b[1;93mRERAN\x1b[0m]/' \
-e 's/^\(PASS\W\)/\x1b[92m\1\x1b[0m/' \
-e 's/^\(FAIL\W\)/\x1b[1;91m\1\x1b[0m/' \
-e 's/^\(KILLED\W\)/\x1b[1;101m\1\x1b[0m/' \
-e 's/^\(SKIP\W\)/\x1b[1m\1\x1b[0m/' \
-e 's/^\(RERAN\W\)/\x1b[1;93m\1\x1b[0m/' \
-e 's/^Tests with result\(.\+\)PASS\(.\+\)$/Tests with result\1\x1b[92mPASS\x1b[0m\2/' \
-e 's/^\(\W\+\)\(KILLED\)\(\W\)/\1\x1b[1;101m\2\x1b[0m\3/g' \
-e 's/^\(\W\+\)\(FAIL\)\(\W\)/\1\x1b[1;91m\2\x1b[0m\3/g' \
-e 's/^\(\W\+\)\(RERUN\)\(\W\)/\1\x1b[1;93m\2\x1b[0m\3/g' \
-e 's/^\(\W\+\)\(SKIP\)\(\W\)/\1\x1b[1m\2\x1b[0m\3/g' \
-e 's/expected \(PASS\))$/expected \x1b[92m\1\x1b[0m)/' \
-e 's/expected \(KILLED\))$/expected \x1b[1;101m\1\x1b[0m)/' \
-e 's/expected \(FAIL\))$/expected \x1b[1;91m\1\x1b[0m)/' \
-e 's/expected \(RERUN\))$/expected \x1b[1;93m\1\x1b[0m)/' \
-e 's/expected \(SKIP\))$/expected \x1b[1m\1\x1b[0m)/' \
-e 's/^Test\( ([[:alnum:] ]\+)\)\?: \(.\+\) (run as \(.\+\)) \[\([0-9]\+:[0-9]\+\)\] \[\(.\+\)\]$/\x1b[1mTest\1: \x1b[0m\2 (run as \x1b[1m\3\x1b[0m) [\x1b[1m\4\x1b[0m\] [\5\]/'

0 comments on commit fe82bc3

Please sign in to comment.