#!/bin/sh
#
# A simple shell script to demonstrate usage of VSATEST utility on Unix systems
#

# Command line options for VSATEST
CMD_OPT="-info -v $*"

# XML files for smoke testing
CFG_XML_32="etc/vsa-smoke.xml"
CFG_XML_64="etc/vsa-smoke.xml"

# XML files for certification 
#CFG_XML_32="etc/vsa-cert.xml"
#CFG_XML_64="etc/vsa-cert.xml"

#
# Map machine type to SAP internal machine identification
#
case `uname` in
    Linux)
      case `uname -m` in
        ia64)
          PLATFORM=linuxia64
	  CFG_XML=$CFG_XML_64
          ;;
        x86_64)
          PLATFORM=linuxx86_64
	  CFG_XML=$CFG_XML_64
          ;;
        s390x)
          PLATFORM=linuxs390x
	  CFG_XML=$CFG_XML_64
          ;;
        ppc64)
          PLATFORM=linuxppc64
 	  CFG_XML=$CFG_XML_64
          ;;
        i686|i386)
          PLATFORM=linuxintel
	  CFG_XML=$CFG_XML_32
          ;;
        *)
          PLATFORM=linux
	  CFG_XML=$CFG_XML_32
          ;;
      esac
      ;;

    AIX*)
      PLATFORM=rs6000_64
      CFG_XML=$CFG_XML_32
      ;;

    Sun*)
      case `uname -m` in
        sun4u*)
          PLATFORM=sun_64
          CFG_XML=$CFG_XML_64
          ;;
        i86pc)
          PLATFORM=sunx86_64
          CFG_XML=$CFG_XML_64
          ;;
        *)
          PLATFORM=sun
          CFG_XML=$CFG_XML_64
          ;;
      esac
      ;;

    HP*)
      case `uname -m` in
        ia64)
          PLATFORM=hpia64
          CFG_XML=$CFG_XML_64
          ;;
        *)
          PLATFORM=hp_64
          CFG_XML=$CFG_XML_64
          ;;
      esac
      ;;

    OSF*)
      PLATFORM=alphaosf
      CFG_XML=$CFG_XML_32
      ;;

    OS/390*)
      PLATFORM=os390
      CFG_XML=$CFG_XML_64
      ;;

    *)
      PLATFORM="empty"
      ;;

esac


# Assemble path to VSATEST binary
VSATEST="vsatest/opt/$PLATFORM/vsatest"
if [ ! -x $VSATEST ]; then
	echo "ERROR: Unable to find VSATEST utility at $VSATEST"
	exit 0
fi

# Check and assemble path to VSA_LIB
if [ ! -z "$VSA_LIB" ]; then
        VSSAP=$VSA_LIB
else
        VSSAP="vssap/opt/$PLATFORM/vssap.so"
fi

# Assemble path to VSSAP library
if [ ! -r $VSSAP ]; then
        echo "ERROR: Unable to find VSSAP utility at $VSSAP"
        exit 0
fi

# Prepare and run the command
$VSATEST testdata -D data -cfg $CFG_XML > out/stdout.log
$VSATEST -cfg $CFG_XML -V $VSSAP $CMD_OPT > out/stdout.log
rc=$?
if [[ $rc == 0 ]] ; then
    CFG_XML="etc/vsa-cert.xml"
    $VSATEST -cfg etc/vsa-cert.xml -V $VSSAP $CMD_OPT >> out/stdout.log
fi
CMD="$VSATEST -cfg $CFG_XML -V $VSSAP $CMD_OPT"
# Show last entries of output with errors and warnings
less +GE out/stdout.log
echo "OS Platform     : `uname -s -i`"
echo "SAP Platform    : $PLATFORM"
echo "Command line    : $CMD"
echo "Result of run   : out/stdout.log"


