1#!/bin/sh 2# 3# Test the lp command. 4# 5# Copyright © 2020-2024 by OpenPrinting. 6# Copyright © 2007-2019 by Apple Inc. 7# Copyright © 1997-2005 by Easy Software Products, all rights reserved. 8# 9# Licensed under Apache License v2.0. See the file "LICENSE" for more 10# information. 11# 12 13echo "LP Default Test" 14echo "" 15echo " lp testfile.pdf" 16$runcups $VALGRIND ../systemv/lp ../examples/testfile.pdf 2>&1 17if test $? != 0; then 18 echo " FAILED" 19 exit 1 20else 21 echo " PASSED" 22fi 23echo "" 24 25echo "LP Destination Test" 26echo "" 27echo " lp -d Test3 -o fit-to-page testfile.jpg" 28$runcups $VALGRIND ../systemv/lp -d Test3 -o fit-to-page ../examples/testfile.jpg 2>&1 29if test $? != 0; then 30 echo " FAILED" 31 exit 1 32else 33 echo " PASSED" 34fi 35echo "" 36 37echo "LP Options Test" 38echo "" 39echo " lp -d Test1 -P 1-4 -o job-sheets=classified,classified testfile.pdf" 40$runcups $VALGRIND ../systemv/lp -d Test1 -P 1-4 -o job-sheets=classified,classified ../examples/testfile.pdf 2>&1 41if test $? != 0; then 42 echo " FAILED" 43 exit 1 44else 45 echo " PASSED" 46fi 47echo "" 48 49echo "LP Page ranges Test - undefined low page limit" 50echo "" 51echo " lp -d Test1 -P -5 testfile.pdf" 52$runcups $VALGRIND ../systemv/lp -d Test1 -P -5 ../examples/testfile.pdf 2>&1 53if test $? != 0; then 54 echo " FAILED" 55 exit 1 56else 57 echo " PASSED" 58fi 59echo "" 60 61echo "LP Page ranges Test - undefined upper page limit" 62echo "" 63echo " lp -d Test1 -P 5- -o job-sheets=classified,classified testfile.pdf" 64$runcups $VALGRIND ../systemv/lp -d Test1 -P 5- ../examples/testfile.pdf 2>&1 65if test $? != 0; then 66 echo " FAILED" 67 exit 1 68else 69 echo " PASSED" 70fi 71echo "" 72 73echo "LP Flood Test ($1 times in parallel)" 74echo "" 75echo " lp -d Test1 testfile.jpg" 76echo " lp -d Test2 testfile.jpg" 77i=0 78pids="" 79while test $i -lt $1; do 80 j=1 81 while test $j -le $2; do 82 $runcups $VALGRIND ../systemv/lp -d test-$j ../examples/testfile.jpg 2>&1 83 j=`expr $j + 1` 84 done 85 86 $runcups $VALGRIND ../systemv/lp -d Test1 ../examples/testfile.jpg 2>&1 & 87 pids="$pids $!" 88 $runcups $VALGRIND ../systemv/lp -d Test2 ../examples/testfile.jpg 2>&1 & 89 pids="$pids $!" 90 91 i=`expr $i + 1` 92done 93wait $pids 94if test $? != 0; then 95 echo " FAILED" 96 exit 1 97else 98 echo " PASSED" 99fi 100echo "" 101 102./waitjobs.sh 103 104echo "LPSTAT Completed Jobs Order Test" 105echo "" 106echo " lpstat -W completed -o" 107$runcups $VALGRIND ../systemv/lpstat -W completed -o | tee $BASE/lpstat-completed.txt 108if test "`uniq -d $BASE/lpstat-completed.txt`" != ""; then 109 echo " FAILED" 110 exit 1 111else 112 echo " PASSED" 113fi 114echo "" 115