• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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