#!/bin/csh -f

# GRAPE-9 functionality test program (check)

cat << DESC_END
-----------------------------------------------------------------
 GRAPE-9 functionality test program
   usage: check
-----------------------------------------------------------------
DESC_END

set cmdname  = $0:t;
set rootpath = $0:h/../..
pushd $rootpath > /dev/null
set rootpath = `pwd`
popd > /dev/null

if ( $?GDEVICE ) then
    # set the device ID of the 1st card to 'devid'.
    set devid = `echo $GDEVICE | sed 's/\([0-9]\).*$/\1/g'`
    set devs = ($GDEVICE)
else
    set devid = 0
    set ndev = `${rootpath}/hibutil/lsgrape | grep GRAPE-9 | wc -l`  # num of dev + 1
    @ ndev--
    set devs = ()
    set i = 0
    while (${i} < ${ndev})
        set devs = (${devs} ${i})
        @ i++
    end
endif

set model = `${rootpath}/hibutil/lsgrape -d ${devid} | \
             grep -v devid | sed 's/.*model\([0-9]\+\).*$/\1/g' | \
             sed 's/\s*\([0-9]\+\).*$/\1/' `

set backend = `${rootpath}/hibutil/lsgrape -d ${devid} | \
               grep -v devid | sed 's/.*\(G5.*\|G6.*\)$/\1/g' `

echo "backend:${backend}"

switch (${backend})
  case G5*:
    ${rootpath}/g9/test/check_g5 ${argv}
    breaksw

  case G6*:
    ${rootpath}/g9/test/check_g6 ${argv}
    breaksw

  case *:
    echo "No valid pipeline logic found in device${devid}."
    exit 1
    breaksw
endsw
