#!/bin/sh

prog=$(basename $0)

# Expect to be run from the parent LNT directory.
if [ ! -f README.txt ] || [ ! -d lnt ]; then
    printf 1>&2 "%s: expected to be run from base LNT directory\n" "$prog"
    exit 1
fi

# Check arguments.
if [ $# == "0" ]; then
    printf 1>&2 "usage: %s {lit-arguments}*\n" "$prog"
    exit 1
fi

# First, remove any existing coverage data files.
rm -f tests/.coverage
find tests -name .coverage.\* -exec rm {} \;

# Next, run the tests.
lit -sv --param check-coverage=1 "$@"

# Next, move all the data files from subdirectories up.
find tests -name .coverage.\* -exec mv {} tests \;

# Combine all the data files.
(cd tests && python -m coverage combine)

# Finally, generate the report.
(cd tests && python -m coverage report)

# Generate the HTML report, if requested.
if [ ! -z "$GENERATE_HTML" ]; then
    (cd tests && python -m coverage html)
fi
