#!/bin/sh
#
# "$Id: run-stp-tests.sh,v 1.1.1.3 2002/06/06 22:13:26 jlovell Exp $"
#
# Perform the complete set of IPP compliance tests specified in the
# CUPS Software Test Plan.
#
# Copyright 1997-2002 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
# property of Easy Software Products and are protected by Federal
# copyright law. Distribution and use rights are outlined in the file
# "LICENSE.txt" which should have been included with this file. If this
# file is missing or damaged please contact Easy Software Products
# at:
#
# Attn: CUPS Licensing Information
# Easy Software Products
# 44141 Airport View Drive, Suite 204
# Hollywood, Maryland 20636-3111 USA
#
# Voice: (301) 373-9603
# EMail: cups-info@cups.org
# WWW: http://www.cups.org
#
#
# Make the IPP test program...
#
make
#
# Information for the server/tests...
#
user=`whoami`
port=8631
cwd=`pwd`
root=`dirname $cwd`
#
# Start by creating temporary directories for the tests...
#
rm -rf /tmp/$user
mkdir /tmp/$user
mkdir /tmp/$user/bin
mkdir /tmp/$user/bin/backend
mkdir /tmp/$user/bin/filter
mkdir /tmp/$user/certs
mkdir /tmp/$user/share
mkdir /tmp/$user/share/banners
mkdir /tmp/$user/share/model
mkdir /tmp/$user/interfaces
mkdir /tmp/$user/log
mkdir /tmp/$user/ppd
mkdir /tmp/$user/spool
mkdir /tmp/$user/spool/temp
mkdir /tmp/$user/ssl
ln -s $root/backend/http /tmp/$user/bin/backend
ln -s $root/backend/ipp /tmp/$user/bin/backend
ln -s $root/backend/lpd /tmp/$user/bin/backend
ln -s $root/backend/parallel /tmp/$user/bin/backend
ln -s $root/backend/serial /tmp/$user/bin/backend
ln -s $root/backend/socket /tmp/$user/bin/backend
ln -s $root/backend/usb /tmp/$user/bin/backend
ln -s $root/cgi-bin /tmp/$user/bin
ln -s $root/filter/hpgltops /tmp/$user/bin/filter
ln -s $root/filter/imagetops /tmp/$user/bin/filter
ln -s $root/filter/imagetoraster /tmp/$user/bin/filter
ln -s $root/filter/pstops /tmp/$user/bin/filter
ln -s $root/filter/rastertoepson /tmp/$user/bin/filter
ln -s $root/filter/rastertohp /tmp/$user/bin/filter
ln -s $root/filter/texttops /tmp/$user/bin/filter
ln -s $root/pdftops/pdftops /tmp/$user/bin/filter
ln -s $root/pstoraster/pstoraster /tmp/$user/bin/filter
ln -s $root/data/classified /tmp/$user/share/banners
ln -s $root/data/confidential /tmp/$user/share/banners
ln -s $root/data/secret /tmp/$user/share/banners
ln -s $root/data/standard /tmp/$user/share/banners
ln -s $root/data/topsecret /tmp/$user/share/banners
ln -s $root/data/unclassified /tmp/$user/share/banners
ln -s $root/data /tmp/$user/share/charsets
ln -s $root/data /tmp/$user/share
ln -s $root/fonts /tmp/$user/share
ln -s $root/ppd/*.ppd /tmp/$user/share/model
ln -s $root/pstoraster /tmp/$user/share
ln -s $root/templates /tmp/$user/share
#
# Then create the necessary config files...
#
cat >/tmp/$user/cupsd.conf <
This section provides the results to the IPP compliance tests" >>$strfile echo "outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile echo `date "+%Y-%m-%d"` by `whoami` on `hostname`. >>$strfile echo "
" >>$strfile fail=0 for file in 4*.test; do echo "Performing $file..." echo "" >>$strfile ./ipptest ipp://localhost:$port/printers $file >>$strfile status=$? if test $status != 0; then echo Test failed. fail=`expr $fail + 1` fi done echo "" >>$strfile # # Run the command tests... # echo "Running command tests..." echo "
This section provides the results to the command tests" >>$strfile echo "outlined in the CUPS Software Test Plan. These tests were run on" >>$strfile echo `date "+%Y-%m-%d"` by `whoami` on `hostname`. >>$strfile echo "
" >>$strfile for file in 5*.sh; do echo "Performing $file..." echo "" >>$strfile echo "\"$file\":" >>$strfile sh $file >>$strfile status=$? if test $status != 0; then echo Test failed. fail=`expr $fail + 1` fi done echo "" >>$strfile # # Wait for jobs to complete... # while true; do jobs=`../systemv/lpstat 2>/dev/null` if test "x$jobs" = "x"; then break fi echo "Waiting for jobs to complete..." sleep 10 done # # Stop the server... # kill $cupsd # # Append the log files for post-mortim... # echo "
" >>$strfile cat /tmp/$user/log/access_log >>$strfile echo "" >>$strfile echo "
" >>$strfile cat /tmp/$user/log/error_log >>$strfile echo "" >>$strfile echo "
" >>$strfile cat /tmp/$user/log/page_log >>$strfile echo "" >>$strfile # # Format the reports and tell the user where to find them... # echo "Formatting reports..." cat str-trailer.html >>$strfile htmlfile=`basename $strfile .shtml`.html pdffile=`basename $strfile .shtml`.pdf htmldoc --numbered --verbose --titleimage ../doc/images/cups-large.gif \ -f $htmlfile $strfile htmldoc --numbered --verbose --titleimage ../doc/images/cups-large.gif \ -f $pdffile $strfile echo "" if test $fail != 0; then echo "$fail tests failed." else echo "All tests were successful." fi echo "" echo "See the following files for details:" echo "" echo " $htmlfile" echo " $pdffile" echo "" # # End of "$Id: run-stp-tests.sh,v 1.1.1.3 2002/06/06 22:13:26 jlovell Exp $" #