@@ -39,6 +39,68 @@ test_expect_success 'reload resource with monitor-force-up' '
3939test_expect_success ' flux resource eventlog works' '
4040 flux resource eventlog -f json --wait=resource-define >forcelog
4141'
42+ test_expect_success ' flux resource eventlog formats as text by default' '
43+ flux resource eventlog | grep method=
44+ '
45+ test_expect_success ' flux resource eventlog --time-format=raw works' '
46+ flux resource eventlog --time-format=raw > out.raw &&
47+ test_debug "cat out.raw" &&
48+ grep resource-define out.raw | awk "{print \$1}" \
49+ | grep "^[^.]*\.[^.]*$"
50+ '
51+ test_expect_success ' flux resource eventlog --time-format=iso works' '
52+ TZ=UTC flux resource eventlog --time-format=iso > out.iso &&
53+ test_debug "cat out.iso" &&
54+ grep resource-define out.iso | awk "{print \$1}" | grep "Z$"
55+ '
56+ test_expect_success ' flux resource eventlog --time-format=offset works' '
57+ TZ=UTC flux resource eventlog --time-format=offset > out.offset &&
58+ test_debug "cat out.offset" &&
59+ head -n1 out.offset | awk "{print \$1}" | grep "^ *0\.0"
60+ '
61+ test_expect_success ' flux resource eventlog --time-format=human works' '
62+ TZ=UTC flux resource eventlog --time-format=human > out.Thuman &&
63+ test_debug "cat out.Thuman" &&
64+ head -n1 out.Thuman | grep "^\[...[0-9][0-9] [0-9][0-9]:[0-9][0-9]\]"
65+ '
66+ test_expect_success ' flux resource eventlog --human works' '
67+ TZ=UTC flux resource eventlog --human > out.human &&
68+ test_debug "cat out.human" &&
69+ head -n1 out.human | grep "^\[...[0-9][0-9] [0-9][0-9]:[0-9][0-9]\]"
70+ '
71+ has_color () {
72+ # To grep for ansi escape we need the help of the non-shell builtin
73+ # printf(1), so run under env(1) so we don't get shell builtin:
74+ grep " $( env printf " \x1b\[" ) " $1 > /dev/null
75+ }
76+ for opt in " -HL" " -L" " -Lalways" " --color" " --color=always" ; do
77+ test_expect_success " flux resource eventlog $opt forces color on" '
78+ name=notty${opt##--color=} &&
79+ outfile=color-${name:-default}.out &&
80+ flux resource eventlog ${opt} >$outfile &&
81+ test_debug "cat $outfile" &&
82+ has_color $outfile
83+ '
84+ done
85+ for opt in " " " --color" " --color=always" " --color=auto" " -H" ; do
86+ test_expect_success " flux resource eventlog $opt shows color on tty" '
87+ name=${opt##--color=} &&
88+ outfile=color-${name:-default}.out &&
89+ runpty.py flux resource eventlog ${opt} $jobid >$outfile &&
90+ test_debug "cat $outfile" &&
91+ has_color $outfile
92+ '
93+ done
94+ for opt in " -HLnever" " -Lnever" " --color=never" ; do
95+ test_expect_success " flux resource eventlog $opt disables color on tty" '
96+ name=${opt##--color=} &&
97+ outfile=color-${name:-default}.out &&
98+ runpty.py flux resource eventlog ${opt} >$outfile &&
99+ test_debug "cat $outfile" &&
100+ test_must_fail has_color $outfile
101+ '
102+ done
103+
42104test_expect_success ' 1st event: restart online=0-1' '
43105 head -1 forcelog >forcelog.1 &&
44106 jq -e ".name == \"restart\"" forcelog.1 &&
0 commit comments