The two tests pass when a timestamp is not preserved after the remount,
because "cmp -s" does not print to the output file, and status is set to
0 regardless of the return value of cmp. So, use "diff" instead to
correctly fail the test and flag the error case in the output file.
Also, as the tests are focused on timestamps, don't print file contents
so the tests can still pass if only the file contents differ.
Signed-off-by: Joanne Chang <joannechien@google.com>
Reviewed-by: Zorro Lang <zlang@kernel.org>
Signed-off-by: Zorro Lang <zlang@kernel.org>
report() {
local files=($SCRATCH_MNT/t_*)
for file in "${files[@]}"; do
- echo "${file}: $(cat "${file}")"
+ echo "${file}:"
TZ=UTC stat -c '%y %Y %n' "${file}"
test $test_statx -gt 0 && \
$XFS_IO_PROG -c 'statx -r' "${file}" | grep 'stat.mtime'
cat $tmp.after_remount >> $seqres.full
# Did they match?
-cmp -s $tmp.before_remount $tmp.after_remount
+diff $tmp.before_remount $tmp.after_remount
# success, all done
echo Silence is golden.
report() {
local files=($SCRATCH_MNT/t_*)
for file in "${files[@]}"; do
- echo "${file}: $(cat "${file}")"
+ echo "${file}:"
TZ=UTC stat -c '%y %Y %n' "${file}"
test $test_statx -gt 0 && \
$XFS_IO_PROG -c 'statx -r' "${file}" | grep 'stat.mtime'
cat $tmp.after_crash >> $seqres.full
# Did they match?
-cmp -s $tmp.before_crash $tmp.after_crash
+diff $tmp.before_crash $tmp.after_crash
# success, all done
status=0