Blame tests/run_tests.sh

Packit 3ff1e7
#!/bin/sh
Packit 3ff1e7
#
Packit 3ff1e7
# libquvi
Packit 3ff1e7
# Copyright (C) 2012  Toni Gundogdu <legatvs@gmail.com>
Packit 3ff1e7
#
Packit 3ff1e7
# This file is part of libquvi <http://quvi.sourceforge.net/>.
Packit 3ff1e7
#
Packit 3ff1e7
# This program is free software: you can redistribute it and/or
Packit 3ff1e7
# modify it under the terms of the GNU Affero General Public
Packit 3ff1e7
# License as published by the Free Software Foundation, either
Packit 3ff1e7
# version 3 of the License, or (at your option) any later version.
Packit 3ff1e7
#
Packit 3ff1e7
# This program is distributed in the hope that it will be useful,
Packit 3ff1e7
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 3ff1e7
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 3ff1e7
# GNU Affero General Public License for more details.
Packit 3ff1e7
#
Packit 3ff1e7
# You should have received a copy of the GNU Affero General
Packit 3ff1e7
# Public License along with this program.  If not, see
Packit 3ff1e7
# <http://www.gnu.org/licenses/>.
Packit 3ff1e7
#
Packit 3ff1e7
set -e
Packit 3ff1e7
Packit 3ff1e7
# cmds
Packit 3ff1e7
Z='zenity'
Packit 3ff1e7
# flags
Packit 3ff1e7
M= # run mem tests
Packit 3ff1e7
# arrays 
Packit 3ff1e7
T= # tests
Packit 3ff1e7
Packit 3ff1e7
find_tests()
Packit 3ff1e7
{
Packit 3ff1e7
  f="`dirname $0`/find_tests.sh"
Packit 3ff1e7
  T=`$f | sort -hr` || {
Packit 3ff1e7
    echo "error: $! ($?)"
Packit 3ff1e7
    exit 1
Packit 3ff1e7
  }
Packit 3ff1e7
  [ -n "$T" ] || {
Packit 3ff1e7
    echo "error: tests not found"
Packit 3ff1e7
    exit 1
Packit 3ff1e7
  }
Packit 3ff1e7
}
Packit 3ff1e7
Packit 3ff1e7
choose_skipped_tests()
Packit 3ff1e7
{
Packit 3ff1e7
  a=; for t in $T; do
Packit 3ff1e7
    a="FALSE $t $a"
Packit 3ff1e7
  done
Packit 3ff1e7
  o='--list --width 320 --height 480 --separator=,'
Packit 3ff1e7
  o="$o --column Skip --column Test"
Packit 3ff1e7
  T=`$Z $o --checklist $a`
Packit 3ff1e7
  export TEST_SKIP="$T"
Packit 3ff1e7
#  echo "TEST_SKIP=$TEST_SKIP"
Packit 3ff1e7
  return 0
Packit 3ff1e7
}
Packit 3ff1e7
Packit 3ff1e7
choose_test_opts()
Packit 3ff1e7
{
Packit 3ff1e7
  c='--column Enable --column Test'
Packit 3ff1e7
  a='false TEST_INTERNET false TEST_VERBOSE'
Packit 3ff1e7
  r=`$Z --width 320 --height 240 --list --checklist $c $a`
Packit 3ff1e7
  expr "$r" : ".*INTERNET.*" >/dev/null && export TEST_INTERNET=1
Packit 3ff1e7
  expr "$r" : ".*VERBOSE.*" >/dev/null && export TEST_VERBOSE=1
Packit 3ff1e7
  return 0
Packit 3ff1e7
}
Packit 3ff1e7
Packit 3ff1e7
run_tests()
Packit 3ff1e7
{
Packit 3ff1e7
  echo "TEST_INTERNET=$TEST_INTERNET"
Packit 3ff1e7
  echo "TEST_VERBOSE=$TEST_VERBOSE"
Packit 3ff1e7
  make test
Packit 3ff1e7
  return 0
Packit 3ff1e7
}
Packit 3ff1e7
Packit 3ff1e7
run_tests_mem()
Packit 3ff1e7
{
Packit 3ff1e7
  echo "TODO: run_tests_mem"
Packit 3ff1e7
  exit 0
Packit 3ff1e7
}
Packit 3ff1e7
Packit 3ff1e7
help()
Packit 3ff1e7
{
Packit 3ff1e7
  echo "Usage: $0 [OPTIONS]
Packit 3ff1e7
Packit 3ff1e7
$0 is a convenience script for running the tests.
Packit 3ff1e7
Packit 3ff1e7
OPTIONS
Packit 3ff1e7
  -h  Show this help and exit
Packit 3ff1e7
  -m  Run target 'test-mem'
Packit 3ff1e7
Packit 3ff1e7
NOTE: Run 'configure' script first
Packit 3ff1e7
Packit 3ff1e7
  Example:
Packit 3ff1e7
    cd \$top_srcdir ; mkdir tmp ; cd tmp
Packit 3ff1e7
    ../configure && make && ../$0
Packit 3ff1e7
Packit 3ff1e7
$0 sets the following environment variables before
Packit 3ff1e7
running the tests:
Packit 3ff1e7
  TEST_INTERNET
Packit 3ff1e7
  TEST_VERBOSE
Packit 3ff1e7
  TEST_SKIP
Packit 3ff1e7
Packit 3ff1e7
Refer to the curl(1) manual for a complete list of proxy environment
Packit 3ff1e7
variables. The testsuite does not set any by default."
Packit 3ff1e7
  exit 0
Packit 3ff1e7
}
Packit 3ff1e7
Packit 3ff1e7
while [ $# -gt 0 ]
Packit 3ff1e7
do
Packit 3ff1e7
  case "$1" in
Packit 3ff1e7
    -h) help;;
Packit 3ff1e7
    -m) M=1;;
Packit 3ff1e7
    *) break;;
Packit 3ff1e7
  esac
Packit 3ff1e7
  shift
Packit 3ff1e7
done
Packit 3ff1e7
Packit 3ff1e7
[ -f "config.log" ] || {
Packit 3ff1e7
  echo "error: config.log not found: have you run configure?"
Packit 3ff1e7
  exit 1
Packit 3ff1e7
}
Packit 3ff1e7
Packit 3ff1e7
find_tests
Packit 3ff1e7
choose_skipped_tests
Packit 3ff1e7
choose_test_opts
Packit 3ff1e7
Packit 3ff1e7
if [ -z "$M" ]; then
Packit 3ff1e7
  run_tests
Packit 3ff1e7
else
Packit 3ff1e7
  run_tests_mem
Packit 3ff1e7
fi
Packit 3ff1e7
Packit 3ff1e7
# vim: set ts=2 sw=2 tw=72 expandtab: