#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2017 Red Hat, Inc.  All Rights Reserved.
#
# Compare test failures across runs
#
# Takes multiple "results" files as arguments, comprised of the
# stdout from a ./check run, each containing a Failures: line.
#
# Outputs a table of failures for comparison across runs
#
filter_names() {
	sed -e s/btrfs/b/ \
	    -e s/cifs/c/g \
	    -e s/f2fs/f/g \
	    -e s/generic/g/g \
	    -e s/overlay/o/g \
	    -e s/shared/s/g \
	    -e s/udf/u/g \
	    -e s/xfs/x/g
}

# ALLFAILURES:   A B C D E F G
# THESEFAILURES: A   C D     G

# We want to print the header (ALLFAILURES) and then
# if a run didn't fail a particular test, print spaces instead

# All tests that failed in any run, all on one line, unique
ALLFAILURES=`grep -h ^Failures: $* \
		| tr " " "\n" \
		| sort | uniq \
		| filter_names \
		| tr "\n" " " \
		| sed -e "s/^Failures: //g"`

# Header
echo "Failures:"
echo $ALLFAILURES
echo $ALLFAILURES | sed -e "s/./-/g"

# Per-file failures
for FILE in $*; do
	THESEFAILURES=`grep ^Failures: $FILE | filter_names`
	for FAILURE in $ALLFAILURES; do
		CELL=`echo $THESEFAILURES \
		      | grep -wo "$FAILURE" || echo $FAILURE | sed -e "s/./ /g"`
		echo -n "$CELL "
	done
	echo $FILE
done
