#!/bin/sh

. debian/tests/create_test_deb

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

# Create test .deb file
# After running create_test_deb, CWD is $AUTOPKGTEST_TMP
create_test_deb

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

# Create member without an underscore
echo "Modifying .deb to create member with invalid name"

echo "Test member before control.tar" > $AUTOPKGTEST_TMP/test1 2>&1
ar ra debian-binary $AUTOPKGTEST_TMP/deb-gview-test.deb $AUTOPKGTEST_TMP/test1

echo "Done creating .deb with invalid member name"

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

pidcheck=`pgrep -f "/usr/bin/deb-gview $AUTOPKGTEST_TMP/deb-gview-test.deb" | head -n 1`
pidret=`pgrep -f "/usr/bin/deb-gview $AUTOPKGTEST_TMP/deb-gview-test.deb"`

if [ ! $pidcheck ]; 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 -gt 0 ]; then
  err=`cat $AUTOPKGTEST_TMP/err.txt`
  errexp="Not a valid member name"
  case "$err" in
    *"$errexp"*)
    echo "Correct error found"
    exit 0
    ;;

    *)
    echo "Incorrect error found"
    exit 1
    ;;
  esac
else
  echo "No errors found"
  exit 1
fi