#!/bin/bash
#///////////////////////////////////////////////////////////////////////////////
#// Copyright (c) 2000-2019 Ericsson Telecom AB                               //
#//                                                                           //
#// All rights reserved. This program and the accompanying materials          //
#// are made available under the terms of the Eclipse Public License v2.0     //
#// which accompanies this distribution, and is available at                  //
#// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html                                 //
#///////////////////////////////////////////////////////////////////////////////
# if no arguments and not piped print info:
if [ ! "$*" -a -t 0 ]
then
echo "ttcn3cov version 1.0"
echo "TTCN3 Coverage info generator tool"
echo "Usage: ttcn3cov <coverageFiles>"
echo ""
echo "Merges output generated by the executable test suite into a single file."
echo "This output can be also processed by this script as input."
echo ""
echo "The coverage measures the number of executed code lines"
echo "with respect to the total code lines (i.e. statements)."
exit
fi

echo "-"
echo "- Coverage info is generated by ttcn3cov version 1.0 on "$(date)" for user "$USER
echo "-"
echo ""
gawk -f $(dirname $0)/MergeResults.awk $*
