#!/bin/bash

# Copy deb file into $AUTOPKGTEST_TMP folder for testing
cp /tmp/autopkgtest.output*/binaries/deb-gview.deb $AUTOPKGTEST_TMP/.

if [[ ! -e /usr/bin/deb-gview ]]; then
  echo "deb-gview binary not found in /usr/bin/"
  exit 1
fi

if [[ ! -e $AUTOPKGTEST_TMP/deb-gview.deb ]]; then
  echo ".deb file not found"
  exit 1
fi

# Create member without an underscore
echo "Test member before control.tar" >& $AUTOPKGTEST_TMP/test1

ar ra debian-binary $AUTOPKGTEST_TMP/deb-gview.deb $AUTOPKGTEST_TMP/test1

# deb-gview should throw an error for a bad member name
/usr/bin/xvfb-run -a /usr/bin/deb-gview $AUTOPKGTEST_TMP/deb-gview.deb 2>$AUTOPKGTEST_TMP/err.txt &
sleep 5

pidret=`pgrep -f "/usr/bin/deb-gview $AUTOPKGTEST_TMP/deb-gview.deb"`

if [[ ! $pidret ]]; then
  echo "/usr/bin/deb-gview process not found"
  exit 1
fi

# Kill processes
kill -9 $pidret

# Check for output to stderr
sizeerr=`wc $AUTOPKGTEST_TMP/err.txt -c | awk '{print $1}'`
if [[ $sizeerr > 0 ]]; then
  err=`cat $AUTOPKGTEST_TMP/err.txt`
  if [[ $err == *"Not a valid member name"* ]]; then
    echo "Correct error found"
    exit 0
  else
    echo "Incorrect error found"
    exit 1
  fi
else
  echo "No errors found"
  exit 1
fi