xref: /aosp_15_r20/external/libcups/cups/testpwg.c (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker /*
2*5e7646d2SAndroid Build Coastguard Worker  * PWG unit test program for CUPS.
3*5e7646d2SAndroid Build Coastguard Worker  *
4*5e7646d2SAndroid Build Coastguard Worker  * Copyright 2009-2016 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Worker  *
6*5e7646d2SAndroid Build Coastguard Worker  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
7*5e7646d2SAndroid Build Coastguard Worker  */
8*5e7646d2SAndroid Build Coastguard Worker 
9*5e7646d2SAndroid Build Coastguard Worker /*
10*5e7646d2SAndroid Build Coastguard Worker  * Include necessary headers...
11*5e7646d2SAndroid Build Coastguard Worker  */
12*5e7646d2SAndroid Build Coastguard Worker 
13*5e7646d2SAndroid Build Coastguard Worker #include "ppd-private.h"
14*5e7646d2SAndroid Build Coastguard Worker #include "file-private.h"
15*5e7646d2SAndroid Build Coastguard Worker 
16*5e7646d2SAndroid Build Coastguard Worker 
17*5e7646d2SAndroid Build Coastguard Worker /*
18*5e7646d2SAndroid Build Coastguard Worker  * Local functions...
19*5e7646d2SAndroid Build Coastguard Worker  */
20*5e7646d2SAndroid Build Coastguard Worker 
21*5e7646d2SAndroid Build Coastguard Worker static int	test_pagesize(_ppd_cache_t *pc, ppd_file_t *ppd,
22*5e7646d2SAndroid Build Coastguard Worker 		              const char *ppdsize);
23*5e7646d2SAndroid Build Coastguard Worker static int	test_ppd_cache(_ppd_cache_t *pc, ppd_file_t *ppd);
24*5e7646d2SAndroid Build Coastguard Worker 
25*5e7646d2SAndroid Build Coastguard Worker 
26*5e7646d2SAndroid Build Coastguard Worker /*
27*5e7646d2SAndroid Build Coastguard Worker  * 'main()' - Main entry.
28*5e7646d2SAndroid Build Coastguard Worker  */
29*5e7646d2SAndroid Build Coastguard Worker 
30*5e7646d2SAndroid Build Coastguard Worker int					/* O - Exit status */
main(int argc,char * argv[])31*5e7646d2SAndroid Build Coastguard Worker main(int  argc,				/* I - Number of command-line args */
32*5e7646d2SAndroid Build Coastguard Worker      char *argv[])			/* I - Command-line arguments */
33*5e7646d2SAndroid Build Coastguard Worker {
34*5e7646d2SAndroid Build Coastguard Worker   int			status;		/* Status of tests (0 = success, 1 = fail) */
35*5e7646d2SAndroid Build Coastguard Worker   const char		*ppdfile;	/* PPD filename */
36*5e7646d2SAndroid Build Coastguard Worker   ppd_file_t		*ppd;		/* PPD file */
37*5e7646d2SAndroid Build Coastguard Worker   _ppd_cache_t		*pc;		/* PPD cache and PWG mapping data */
38*5e7646d2SAndroid Build Coastguard Worker   const pwg_media_t	*pwgmedia;	/* PWG media size */
39*5e7646d2SAndroid Build Coastguard Worker   size_t		i,		/* Looping var */
40*5e7646d2SAndroid Build Coastguard Worker 			num_media;	/* Number of media sizes */
41*5e7646d2SAndroid Build Coastguard Worker   const pwg_media_t	*mediatable;	/* Media size table */
42*5e7646d2SAndroid Build Coastguard Worker   int			dupmedia = 0;	/* Duplicate media sizes? */
43*5e7646d2SAndroid Build Coastguard Worker 
44*5e7646d2SAndroid Build Coastguard Worker 
45*5e7646d2SAndroid Build Coastguard Worker   status = 0;
46*5e7646d2SAndroid Build Coastguard Worker 
47*5e7646d2SAndroid Build Coastguard Worker   if (argc < 2 || argc > 3)
48*5e7646d2SAndroid Build Coastguard Worker   {
49*5e7646d2SAndroid Build Coastguard Worker     puts("Usage: ./testpwg filename.ppd [jobfile]");
50*5e7646d2SAndroid Build Coastguard Worker     return (1);
51*5e7646d2SAndroid Build Coastguard Worker   }
52*5e7646d2SAndroid Build Coastguard Worker 
53*5e7646d2SAndroid Build Coastguard Worker   ppdfile = argv[1];
54*5e7646d2SAndroid Build Coastguard Worker 
55*5e7646d2SAndroid Build Coastguard Worker   printf("ppdOpenFile(%s): ", ppdfile);
56*5e7646d2SAndroid Build Coastguard Worker   if ((ppd = ppdOpenFile(ppdfile)) == NULL)
57*5e7646d2SAndroid Build Coastguard Worker   {
58*5e7646d2SAndroid Build Coastguard Worker     ppd_status_t err;			/* Last error in file */
59*5e7646d2SAndroid Build Coastguard Worker     int		line;			/* Line number in file */
60*5e7646d2SAndroid Build Coastguard Worker 
61*5e7646d2SAndroid Build Coastguard Worker 
62*5e7646d2SAndroid Build Coastguard Worker     err = ppdLastError(&line);
63*5e7646d2SAndroid Build Coastguard Worker 
64*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%s on line %d)\n", ppdErrorString(err), line);
65*5e7646d2SAndroid Build Coastguard Worker 
66*5e7646d2SAndroid Build Coastguard Worker     return (1);
67*5e7646d2SAndroid Build Coastguard Worker   }
68*5e7646d2SAndroid Build Coastguard Worker   else
69*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
70*5e7646d2SAndroid Build Coastguard Worker 
71*5e7646d2SAndroid Build Coastguard Worker   fputs("_ppdCacheCreateWithPPD(ppd): ", stdout);
72*5e7646d2SAndroid Build Coastguard Worker   if ((pc = _ppdCacheCreateWithPPD(ppd)) == NULL)
73*5e7646d2SAndroid Build Coastguard Worker   {
74*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL");
75*5e7646d2SAndroid Build Coastguard Worker     status ++;
76*5e7646d2SAndroid Build Coastguard Worker   }
77*5e7646d2SAndroid Build Coastguard Worker   else
78*5e7646d2SAndroid Build Coastguard Worker   {
79*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
80*5e7646d2SAndroid Build Coastguard Worker     status += test_ppd_cache(pc, ppd);
81*5e7646d2SAndroid Build Coastguard Worker 
82*5e7646d2SAndroid Build Coastguard Worker     if (argc == 3)
83*5e7646d2SAndroid Build Coastguard Worker     {
84*5e7646d2SAndroid Build Coastguard Worker      /*
85*5e7646d2SAndroid Build Coastguard Worker       * Test PageSize mapping code.
86*5e7646d2SAndroid Build Coastguard Worker       */
87*5e7646d2SAndroid Build Coastguard Worker 
88*5e7646d2SAndroid Build Coastguard Worker       int		fd;		/* Job file descriptor */
89*5e7646d2SAndroid Build Coastguard Worker       const char	*pagesize;	/* PageSize value */
90*5e7646d2SAndroid Build Coastguard Worker       ipp_t		*job;		/* Job attributes */
91*5e7646d2SAndroid Build Coastguard Worker       ipp_attribute_t	*media;		/* Media attribute */
92*5e7646d2SAndroid Build Coastguard Worker 
93*5e7646d2SAndroid Build Coastguard Worker       if ((fd = open(argv[2], O_RDONLY)) >= 0)
94*5e7646d2SAndroid Build Coastguard Worker       {
95*5e7646d2SAndroid Build Coastguard Worker 	job = ippNew();
96*5e7646d2SAndroid Build Coastguard Worker 	ippReadFile(fd, job);
97*5e7646d2SAndroid Build Coastguard Worker 	close(fd);
98*5e7646d2SAndroid Build Coastguard Worker 
99*5e7646d2SAndroid Build Coastguard Worker         if ((media = ippFindAttribute(job, "media", IPP_TAG_ZERO)) != NULL &&
100*5e7646d2SAndroid Build Coastguard Worker 	    media->value_tag != IPP_TAG_NAME &&
101*5e7646d2SAndroid Build Coastguard Worker 	    media->value_tag != IPP_TAG_KEYWORD)
102*5e7646d2SAndroid Build Coastguard Worker 	  media = NULL;
103*5e7646d2SAndroid Build Coastguard Worker 
104*5e7646d2SAndroid Build Coastguard Worker 	if (media)
105*5e7646d2SAndroid Build Coastguard Worker 	  printf("_ppdCacheGetPageSize(media=%s): ",
106*5e7646d2SAndroid Build Coastguard Worker 	         media->values[0].string.text);
107*5e7646d2SAndroid Build Coastguard Worker 	else
108*5e7646d2SAndroid Build Coastguard Worker 	  fputs("_ppdCacheGetPageSize(media-col): ", stdout);
109*5e7646d2SAndroid Build Coastguard Worker 
110*5e7646d2SAndroid Build Coastguard Worker         fflush(stdout);
111*5e7646d2SAndroid Build Coastguard Worker 
112*5e7646d2SAndroid Build Coastguard Worker 	if ((pagesize = _ppdCacheGetPageSize(pc, job, NULL, NULL)) == NULL)
113*5e7646d2SAndroid Build Coastguard Worker 	{
114*5e7646d2SAndroid Build Coastguard Worker 	  puts("FAIL (Not Found)");
115*5e7646d2SAndroid Build Coastguard Worker 	  status = 1;
116*5e7646d2SAndroid Build Coastguard Worker 	}
117*5e7646d2SAndroid Build Coastguard Worker 	else if (media && _cups_strcasecmp(pagesize, media->values[0].string.text))
118*5e7646d2SAndroid Build Coastguard Worker 	{
119*5e7646d2SAndroid Build Coastguard Worker 	  printf("FAIL (Got \"%s\", Expected \"%s\")\n", pagesize,
120*5e7646d2SAndroid Build Coastguard Worker 		 media->values[0].string.text);
121*5e7646d2SAndroid Build Coastguard Worker 	  status = 1;
122*5e7646d2SAndroid Build Coastguard Worker 	}
123*5e7646d2SAndroid Build Coastguard Worker 	else
124*5e7646d2SAndroid Build Coastguard Worker 	  printf("PASS (%s)\n", pagesize);
125*5e7646d2SAndroid Build Coastguard Worker 
126*5e7646d2SAndroid Build Coastguard Worker 	ippDelete(job);
127*5e7646d2SAndroid Build Coastguard Worker       }
128*5e7646d2SAndroid Build Coastguard Worker       else
129*5e7646d2SAndroid Build Coastguard Worker       {
130*5e7646d2SAndroid Build Coastguard Worker         perror(argv[2]);
131*5e7646d2SAndroid Build Coastguard Worker 	status = 1;
132*5e7646d2SAndroid Build Coastguard Worker       }
133*5e7646d2SAndroid Build Coastguard Worker     }
134*5e7646d2SAndroid Build Coastguard Worker 
135*5e7646d2SAndroid Build Coastguard Worker    /*
136*5e7646d2SAndroid Build Coastguard Worker     * _ppdCacheDestroy should never fail...
137*5e7646d2SAndroid Build Coastguard Worker     */
138*5e7646d2SAndroid Build Coastguard Worker 
139*5e7646d2SAndroid Build Coastguard Worker     fputs("_ppdCacheDestroy(pc): ", stdout);
140*5e7646d2SAndroid Build Coastguard Worker     _ppdCacheDestroy(pc);
141*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
142*5e7646d2SAndroid Build Coastguard Worker   }
143*5e7646d2SAndroid Build Coastguard Worker 
144*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForPWG(\"iso_a4_210x297mm\"): ", stdout);
145*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForPWG("iso_a4_210x297mm")) == NULL)
146*5e7646d2SAndroid Build Coastguard Worker   {
147*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
148*5e7646d2SAndroid Build Coastguard Worker     status ++;
149*5e7646d2SAndroid Build Coastguard Worker   }
150*5e7646d2SAndroid Build Coastguard Worker   else if (strcmp(pwgmedia->pwg, "iso_a4_210x297mm"))
151*5e7646d2SAndroid Build Coastguard Worker   {
152*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%s)\n", pwgmedia->pwg);
153*5e7646d2SAndroid Build Coastguard Worker     status ++;
154*5e7646d2SAndroid Build Coastguard Worker   }
155*5e7646d2SAndroid Build Coastguard Worker   else if (pwgmedia->width != 21000 || pwgmedia->length != 29700)
156*5e7646d2SAndroid Build Coastguard Worker   {
157*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%dx%d)\n", pwgmedia->width, pwgmedia->length);
158*5e7646d2SAndroid Build Coastguard Worker     status ++;
159*5e7646d2SAndroid Build Coastguard Worker   }
160*5e7646d2SAndroid Build Coastguard Worker   else
161*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
162*5e7646d2SAndroid Build Coastguard Worker 
163*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForPWG(\"roll_max_36.1025x3622.0472in\"): ", stdout);
164*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForPWG("roll_max_36.1025x3622.0472in")) == NULL)
165*5e7646d2SAndroid Build Coastguard Worker   {
166*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
167*5e7646d2SAndroid Build Coastguard Worker     status ++;
168*5e7646d2SAndroid Build Coastguard Worker   }
169*5e7646d2SAndroid Build Coastguard Worker   else if (pwgmedia->width != 91700 || pwgmedia->length != 9199999)
170*5e7646d2SAndroid Build Coastguard Worker   {
171*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%dx%d)\n", pwgmedia->width, pwgmedia->length);
172*5e7646d2SAndroid Build Coastguard Worker     status ++;
173*5e7646d2SAndroid Build Coastguard Worker   }
174*5e7646d2SAndroid Build Coastguard Worker   else
175*5e7646d2SAndroid Build Coastguard Worker     printf("PASS (%dx%d)\n", pwgmedia->width, pwgmedia->length);
176*5e7646d2SAndroid Build Coastguard Worker 
177*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForPWG(\"disc_test_10x100mm\"): ", stdout);
178*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForPWG("disc_test_10x100mm")) == NULL)
179*5e7646d2SAndroid Build Coastguard Worker   {
180*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
181*5e7646d2SAndroid Build Coastguard Worker     status ++;
182*5e7646d2SAndroid Build Coastguard Worker   }
183*5e7646d2SAndroid Build Coastguard Worker   else if (pwgmedia->width != 10000 || pwgmedia->length != 10000)
184*5e7646d2SAndroid Build Coastguard Worker   {
185*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%dx%d)\n", pwgmedia->width, pwgmedia->length);
186*5e7646d2SAndroid Build Coastguard Worker     status ++;
187*5e7646d2SAndroid Build Coastguard Worker   }
188*5e7646d2SAndroid Build Coastguard Worker   else
189*5e7646d2SAndroid Build Coastguard Worker     printf("PASS (%dx%d)\n", pwgmedia->width, pwgmedia->length);
190*5e7646d2SAndroid Build Coastguard Worker 
191*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForLegacy(\"na-letter\"): ", stdout);
192*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForLegacy("na-letter")) == NULL)
193*5e7646d2SAndroid Build Coastguard Worker   {
194*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
195*5e7646d2SAndroid Build Coastguard Worker     status ++;
196*5e7646d2SAndroid Build Coastguard Worker   }
197*5e7646d2SAndroid Build Coastguard Worker   else if (strcmp(pwgmedia->pwg, "na_letter_8.5x11in"))
198*5e7646d2SAndroid Build Coastguard Worker   {
199*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%s)\n", pwgmedia->pwg);
200*5e7646d2SAndroid Build Coastguard Worker     status ++;
201*5e7646d2SAndroid Build Coastguard Worker   }
202*5e7646d2SAndroid Build Coastguard Worker   else if (pwgmedia->width != 21590 || pwgmedia->length != 27940)
203*5e7646d2SAndroid Build Coastguard Worker   {
204*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%dx%d)\n", pwgmedia->width, pwgmedia->length);
205*5e7646d2SAndroid Build Coastguard Worker     status ++;
206*5e7646d2SAndroid Build Coastguard Worker   }
207*5e7646d2SAndroid Build Coastguard Worker   else
208*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
209*5e7646d2SAndroid Build Coastguard Worker 
210*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForPPD(\"4x6\"): ", stdout);
211*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForPPD("4x6")) == NULL)
212*5e7646d2SAndroid Build Coastguard Worker   {
213*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
214*5e7646d2SAndroid Build Coastguard Worker     status ++;
215*5e7646d2SAndroid Build Coastguard Worker   }
216*5e7646d2SAndroid Build Coastguard Worker   else if (strcmp(pwgmedia->pwg, "na_index-4x6_4x6in"))
217*5e7646d2SAndroid Build Coastguard Worker   {
218*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%s)\n", pwgmedia->pwg);
219*5e7646d2SAndroid Build Coastguard Worker     status ++;
220*5e7646d2SAndroid Build Coastguard Worker   }
221*5e7646d2SAndroid Build Coastguard Worker   else if (pwgmedia->width != 10160 || pwgmedia->length != 15240)
222*5e7646d2SAndroid Build Coastguard Worker   {
223*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%dx%d)\n", pwgmedia->width, pwgmedia->length);
224*5e7646d2SAndroid Build Coastguard Worker     status ++;
225*5e7646d2SAndroid Build Coastguard Worker   }
226*5e7646d2SAndroid Build Coastguard Worker   else
227*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
228*5e7646d2SAndroid Build Coastguard Worker 
229*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForPPD(\"10x15cm\"): ", stdout);
230*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForPPD("10x15cm")) == NULL)
231*5e7646d2SAndroid Build Coastguard Worker   {
232*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
233*5e7646d2SAndroid Build Coastguard Worker     status ++;
234*5e7646d2SAndroid Build Coastguard Worker   }
235*5e7646d2SAndroid Build Coastguard Worker   else if (strcmp(pwgmedia->pwg, "om_100x150mm_100x150mm"))
236*5e7646d2SAndroid Build Coastguard Worker   {
237*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%s)\n", pwgmedia->pwg);
238*5e7646d2SAndroid Build Coastguard Worker     status ++;
239*5e7646d2SAndroid Build Coastguard Worker   }
240*5e7646d2SAndroid Build Coastguard Worker   else if (pwgmedia->width != 10000 || pwgmedia->length != 15000)
241*5e7646d2SAndroid Build Coastguard Worker   {
242*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%dx%d)\n", pwgmedia->width, pwgmedia->length);
243*5e7646d2SAndroid Build Coastguard Worker     status ++;
244*5e7646d2SAndroid Build Coastguard Worker   }
245*5e7646d2SAndroid Build Coastguard Worker   else
246*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
247*5e7646d2SAndroid Build Coastguard Worker 
248*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForPPD(\"Custom.10x15cm\"): ", stdout);
249*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForPPD("Custom.10x15cm")) == NULL)
250*5e7646d2SAndroid Build Coastguard Worker   {
251*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
252*5e7646d2SAndroid Build Coastguard Worker     status ++;
253*5e7646d2SAndroid Build Coastguard Worker   }
254*5e7646d2SAndroid Build Coastguard Worker   else if (strcmp(pwgmedia->pwg, "custom_10x15cm_100x150mm"))
255*5e7646d2SAndroid Build Coastguard Worker   {
256*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%s)\n", pwgmedia->pwg);
257*5e7646d2SAndroid Build Coastguard Worker     status ++;
258*5e7646d2SAndroid Build Coastguard Worker   }
259*5e7646d2SAndroid Build Coastguard Worker   else if (pwgmedia->width != 10000 || pwgmedia->length != 15000)
260*5e7646d2SAndroid Build Coastguard Worker   {
261*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%dx%d)\n", pwgmedia->width, pwgmedia->length);
262*5e7646d2SAndroid Build Coastguard Worker     status ++;
263*5e7646d2SAndroid Build Coastguard Worker   }
264*5e7646d2SAndroid Build Coastguard Worker   else
265*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
266*5e7646d2SAndroid Build Coastguard Worker 
267*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForSize(29700, 42000): ", stdout);
268*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForSize(29700, 42000)) == NULL)
269*5e7646d2SAndroid Build Coastguard Worker   {
270*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
271*5e7646d2SAndroid Build Coastguard Worker     status ++;
272*5e7646d2SAndroid Build Coastguard Worker   }
273*5e7646d2SAndroid Build Coastguard Worker   else if (strcmp(pwgmedia->pwg, "iso_a3_297x420mm"))
274*5e7646d2SAndroid Build Coastguard Worker   {
275*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%s)\n", pwgmedia->pwg);
276*5e7646d2SAndroid Build Coastguard Worker     status ++;
277*5e7646d2SAndroid Build Coastguard Worker   }
278*5e7646d2SAndroid Build Coastguard Worker   else
279*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
280*5e7646d2SAndroid Build Coastguard Worker 
281*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForSize(9842, 19050): ", stdout);
282*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForSize(9842, 19050)) == NULL)
283*5e7646d2SAndroid Build Coastguard Worker   {
284*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
285*5e7646d2SAndroid Build Coastguard Worker     status ++;
286*5e7646d2SAndroid Build Coastguard Worker   }
287*5e7646d2SAndroid Build Coastguard Worker   else if (strcmp(pwgmedia->pwg, "na_monarch_3.875x7.5in"))
288*5e7646d2SAndroid Build Coastguard Worker   {
289*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%s)\n", pwgmedia->pwg);
290*5e7646d2SAndroid Build Coastguard Worker     status ++;
291*5e7646d2SAndroid Build Coastguard Worker   }
292*5e7646d2SAndroid Build Coastguard Worker   else
293*5e7646d2SAndroid Build Coastguard Worker     printf("PASS (%s)\n", pwgmedia->pwg);
294*5e7646d2SAndroid Build Coastguard Worker 
295*5e7646d2SAndroid Build Coastguard Worker   fputs("pwgMediaForSize(9800, 19000): ", stdout);
296*5e7646d2SAndroid Build Coastguard Worker   if ((pwgmedia = pwgMediaForSize(9800, 19000)) == NULL)
297*5e7646d2SAndroid Build Coastguard Worker   {
298*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL (not found)");
299*5e7646d2SAndroid Build Coastguard Worker     status ++;
300*5e7646d2SAndroid Build Coastguard Worker   }
301*5e7646d2SAndroid Build Coastguard Worker   else if (strcmp(pwgmedia->pwg, "jpn_you6_98x190mm"))
302*5e7646d2SAndroid Build Coastguard Worker   {
303*5e7646d2SAndroid Build Coastguard Worker     printf("FAIL (%s)\n", pwgmedia->pwg);
304*5e7646d2SAndroid Build Coastguard Worker     status ++;
305*5e7646d2SAndroid Build Coastguard Worker   }
306*5e7646d2SAndroid Build Coastguard Worker   else
307*5e7646d2SAndroid Build Coastguard Worker     printf("PASS (%s)\n", pwgmedia->pwg);
308*5e7646d2SAndroid Build Coastguard Worker 
309*5e7646d2SAndroid Build Coastguard Worker   fputs("Duplicate size test: ", stdout);
310*5e7646d2SAndroid Build Coastguard Worker   for (mediatable = _pwgMediaTable(&num_media);
311*5e7646d2SAndroid Build Coastguard Worker        num_media > 1;
312*5e7646d2SAndroid Build Coastguard Worker        num_media --, mediatable ++)
313*5e7646d2SAndroid Build Coastguard Worker   {
314*5e7646d2SAndroid Build Coastguard Worker     for (i = num_media - 1, pwgmedia = mediatable + 1; i > 0; i --, pwgmedia ++)
315*5e7646d2SAndroid Build Coastguard Worker     {
316*5e7646d2SAndroid Build Coastguard Worker       if (pwgmedia->width == mediatable->width &&
317*5e7646d2SAndroid Build Coastguard Worker           pwgmedia->length == mediatable->length)
318*5e7646d2SAndroid Build Coastguard Worker       {
319*5e7646d2SAndroid Build Coastguard Worker         if (!dupmedia)
320*5e7646d2SAndroid Build Coastguard Worker         {
321*5e7646d2SAndroid Build Coastguard Worker           dupmedia = 1;
322*5e7646d2SAndroid Build Coastguard Worker           status ++;
323*5e7646d2SAndroid Build Coastguard Worker           puts("FAIL");
324*5e7646d2SAndroid Build Coastguard Worker         }
325*5e7646d2SAndroid Build Coastguard Worker 
326*5e7646d2SAndroid Build Coastguard Worker         printf("    %s and %s have the same dimensions (%dx%d)\n",
327*5e7646d2SAndroid Build Coastguard Worker                pwgmedia->pwg, mediatable->pwg, pwgmedia->width,
328*5e7646d2SAndroid Build Coastguard Worker                pwgmedia->length);
329*5e7646d2SAndroid Build Coastguard Worker       }
330*5e7646d2SAndroid Build Coastguard Worker     }
331*5e7646d2SAndroid Build Coastguard Worker   }
332*5e7646d2SAndroid Build Coastguard Worker   if (!dupmedia)
333*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
334*5e7646d2SAndroid Build Coastguard Worker 
335*5e7646d2SAndroid Build Coastguard Worker 
336*5e7646d2SAndroid Build Coastguard Worker   return (status);
337*5e7646d2SAndroid Build Coastguard Worker }
338*5e7646d2SAndroid Build Coastguard Worker 
339*5e7646d2SAndroid Build Coastguard Worker 
340*5e7646d2SAndroid Build Coastguard Worker /*
341*5e7646d2SAndroid Build Coastguard Worker  * 'test_pagesize()' - Test the PWG mapping functions.
342*5e7646d2SAndroid Build Coastguard Worker  */
343*5e7646d2SAndroid Build Coastguard Worker 
344*5e7646d2SAndroid Build Coastguard Worker static int				/* O - 1 on failure, 0 on success */
test_pagesize(_ppd_cache_t * pc,ppd_file_t * ppd,const char * ppdsize)345*5e7646d2SAndroid Build Coastguard Worker test_pagesize(_ppd_cache_t *pc,		/* I - PWG mapping data */
346*5e7646d2SAndroid Build Coastguard Worker               ppd_file_t   *ppd,	/* I - PPD file */
347*5e7646d2SAndroid Build Coastguard Worker 	      const char   *ppdsize)	/* I - PPD page size */
348*5e7646d2SAndroid Build Coastguard Worker {
349*5e7646d2SAndroid Build Coastguard Worker   int		status = 0;		/* Return status */
350*5e7646d2SAndroid Build Coastguard Worker   ipp_t		*job;			/* Job attributes */
351*5e7646d2SAndroid Build Coastguard Worker   const char	*pagesize;		/* PageSize value */
352*5e7646d2SAndroid Build Coastguard Worker 
353*5e7646d2SAndroid Build Coastguard Worker 
354*5e7646d2SAndroid Build Coastguard Worker   if (ppdPageSize(ppd, ppdsize))
355*5e7646d2SAndroid Build Coastguard Worker   {
356*5e7646d2SAndroid Build Coastguard Worker     printf("_ppdCacheGetPageSize(keyword=%s): ", ppdsize);
357*5e7646d2SAndroid Build Coastguard Worker     fflush(stdout);
358*5e7646d2SAndroid Build Coastguard Worker 
359*5e7646d2SAndroid Build Coastguard Worker     if ((pagesize = _ppdCacheGetPageSize(pc, NULL, ppdsize, NULL)) == NULL)
360*5e7646d2SAndroid Build Coastguard Worker     {
361*5e7646d2SAndroid Build Coastguard Worker       puts("FAIL (Not Found)");
362*5e7646d2SAndroid Build Coastguard Worker       status = 1;
363*5e7646d2SAndroid Build Coastguard Worker     }
364*5e7646d2SAndroid Build Coastguard Worker     else if (_cups_strcasecmp(pagesize, ppdsize))
365*5e7646d2SAndroid Build Coastguard Worker     {
366*5e7646d2SAndroid Build Coastguard Worker       printf("FAIL (Got \"%s\", Expected \"%s\")\n", pagesize, ppdsize);
367*5e7646d2SAndroid Build Coastguard Worker       status = 1;
368*5e7646d2SAndroid Build Coastguard Worker     }
369*5e7646d2SAndroid Build Coastguard Worker     else
370*5e7646d2SAndroid Build Coastguard Worker       puts("PASS");
371*5e7646d2SAndroid Build Coastguard Worker 
372*5e7646d2SAndroid Build Coastguard Worker     job = ippNew();
373*5e7646d2SAndroid Build Coastguard Worker     ippAddString(job, IPP_TAG_JOB, IPP_TAG_KEYWORD, "media", NULL, ppdsize);
374*5e7646d2SAndroid Build Coastguard Worker 
375*5e7646d2SAndroid Build Coastguard Worker     printf("_ppdCacheGetPageSize(media=%s): ", ppdsize);
376*5e7646d2SAndroid Build Coastguard Worker     fflush(stdout);
377*5e7646d2SAndroid Build Coastguard Worker 
378*5e7646d2SAndroid Build Coastguard Worker     if ((pagesize = _ppdCacheGetPageSize(pc, job, NULL, NULL)) == NULL)
379*5e7646d2SAndroid Build Coastguard Worker     {
380*5e7646d2SAndroid Build Coastguard Worker       puts("FAIL (Not Found)");
381*5e7646d2SAndroid Build Coastguard Worker       status = 1;
382*5e7646d2SAndroid Build Coastguard Worker     }
383*5e7646d2SAndroid Build Coastguard Worker     else if (_cups_strcasecmp(pagesize, ppdsize))
384*5e7646d2SAndroid Build Coastguard Worker     {
385*5e7646d2SAndroid Build Coastguard Worker       printf("FAIL (Got \"%s\", Expected \"%s\")\n", pagesize, ppdsize);
386*5e7646d2SAndroid Build Coastguard Worker       status = 1;
387*5e7646d2SAndroid Build Coastguard Worker     }
388*5e7646d2SAndroid Build Coastguard Worker     else
389*5e7646d2SAndroid Build Coastguard Worker       puts("PASS");
390*5e7646d2SAndroid Build Coastguard Worker 
391*5e7646d2SAndroid Build Coastguard Worker     ippDelete(job);
392*5e7646d2SAndroid Build Coastguard Worker   }
393*5e7646d2SAndroid Build Coastguard Worker 
394*5e7646d2SAndroid Build Coastguard Worker   return (status);
395*5e7646d2SAndroid Build Coastguard Worker }
396*5e7646d2SAndroid Build Coastguard Worker 
397*5e7646d2SAndroid Build Coastguard Worker 
398*5e7646d2SAndroid Build Coastguard Worker /*
399*5e7646d2SAndroid Build Coastguard Worker  * 'test_ppd_cache()' - Test the PPD cache functions.
400*5e7646d2SAndroid Build Coastguard Worker  */
401*5e7646d2SAndroid Build Coastguard Worker 
402*5e7646d2SAndroid Build Coastguard Worker static int				/* O - 1 on failure, 0 on success */
test_ppd_cache(_ppd_cache_t * pc,ppd_file_t * ppd)403*5e7646d2SAndroid Build Coastguard Worker test_ppd_cache(_ppd_cache_t *pc,	/* I - PWG mapping data */
404*5e7646d2SAndroid Build Coastguard Worker                ppd_file_t   *ppd)	/* I - PPD file */
405*5e7646d2SAndroid Build Coastguard Worker {
406*5e7646d2SAndroid Build Coastguard Worker   int		i,			/* Looping var */
407*5e7646d2SAndroid Build Coastguard Worker 		status = 0;		/* Return status */
408*5e7646d2SAndroid Build Coastguard Worker   _ppd_cache_t	*pc2;			/* Loaded data */
409*5e7646d2SAndroid Build Coastguard Worker   pwg_size_t	*size,			/* Size from original */
410*5e7646d2SAndroid Build Coastguard Worker 		*size2;			/* Size from saved */
411*5e7646d2SAndroid Build Coastguard Worker   pwg_map_t	*map,			/* Map from original */
412*5e7646d2SAndroid Build Coastguard Worker 		*map2;			/* Map from saved */
413*5e7646d2SAndroid Build Coastguard Worker 
414*5e7646d2SAndroid Build Coastguard Worker 
415*5e7646d2SAndroid Build Coastguard Worker  /*
416*5e7646d2SAndroid Build Coastguard Worker   * Verify that we can write and read back the same data...
417*5e7646d2SAndroid Build Coastguard Worker   */
418*5e7646d2SAndroid Build Coastguard Worker 
419*5e7646d2SAndroid Build Coastguard Worker   fputs("_ppdCacheWriteFile(test.pwg): ", stdout);
420*5e7646d2SAndroid Build Coastguard Worker   if (!_ppdCacheWriteFile(pc, "test.pwg", NULL))
421*5e7646d2SAndroid Build Coastguard Worker   {
422*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL");
423*5e7646d2SAndroid Build Coastguard Worker     status ++;
424*5e7646d2SAndroid Build Coastguard Worker   }
425*5e7646d2SAndroid Build Coastguard Worker   else
426*5e7646d2SAndroid Build Coastguard Worker     puts("PASS");
427*5e7646d2SAndroid Build Coastguard Worker 
428*5e7646d2SAndroid Build Coastguard Worker   fputs("_ppdCacheCreateWithFile(test.pwg): ", stdout);
429*5e7646d2SAndroid Build Coastguard Worker   if ((pc2 = _ppdCacheCreateWithFile("test.pwg", NULL)) == NULL)
430*5e7646d2SAndroid Build Coastguard Worker   {
431*5e7646d2SAndroid Build Coastguard Worker     puts("FAIL");
432*5e7646d2SAndroid Build Coastguard Worker     status ++;
433*5e7646d2SAndroid Build Coastguard Worker   }
434*5e7646d2SAndroid Build Coastguard Worker   else
435*5e7646d2SAndroid Build Coastguard Worker   {
436*5e7646d2SAndroid Build Coastguard Worker     // TODO: FINISH ADDING ALL VALUES IN STRUCTURE
437*5e7646d2SAndroid Build Coastguard Worker     if (pc2->num_sizes != pc->num_sizes)
438*5e7646d2SAndroid Build Coastguard Worker     {
439*5e7646d2SAndroid Build Coastguard Worker       if (!status)
440*5e7646d2SAndroid Build Coastguard Worker         puts("FAIL");
441*5e7646d2SAndroid Build Coastguard Worker 
442*5e7646d2SAndroid Build Coastguard Worker       printf("    SAVED num_sizes=%d, ORIG num_sizes=%d\n", pc2->num_sizes,
443*5e7646d2SAndroid Build Coastguard Worker              pc->num_sizes);
444*5e7646d2SAndroid Build Coastguard Worker 
445*5e7646d2SAndroid Build Coastguard Worker       status ++;
446*5e7646d2SAndroid Build Coastguard Worker     }
447*5e7646d2SAndroid Build Coastguard Worker     else
448*5e7646d2SAndroid Build Coastguard Worker     {
449*5e7646d2SAndroid Build Coastguard Worker       for (i = pc->num_sizes, size = pc->sizes, size2 = pc2->sizes;
450*5e7646d2SAndroid Build Coastguard Worker            i > 0;
451*5e7646d2SAndroid Build Coastguard Worker 	   i --, size ++, size2 ++)
452*5e7646d2SAndroid Build Coastguard Worker       {
453*5e7646d2SAndroid Build Coastguard Worker         if (strcmp(size2->map.pwg, size->map.pwg) ||
454*5e7646d2SAndroid Build Coastguard Worker 	    strcmp(size2->map.ppd, size->map.ppd) ||
455*5e7646d2SAndroid Build Coastguard Worker 	    size2->width != size->width ||
456*5e7646d2SAndroid Build Coastguard Worker 	    size2->length != size->length ||
457*5e7646d2SAndroid Build Coastguard Worker 	    size2->left != size->left ||
458*5e7646d2SAndroid Build Coastguard Worker 	    size2->bottom != size->bottom ||
459*5e7646d2SAndroid Build Coastguard Worker 	    size2->right != size->right ||
460*5e7646d2SAndroid Build Coastguard Worker 	    size2->top != size->top)
461*5e7646d2SAndroid Build Coastguard Worker 	{
462*5e7646d2SAndroid Build Coastguard Worker 	  if (!status)
463*5e7646d2SAndroid Build Coastguard Worker 	    puts("FAIL");
464*5e7646d2SAndroid Build Coastguard Worker 
465*5e7646d2SAndroid Build Coastguard Worker 	  if (strcmp(size->map.pwg, size2->map.pwg))
466*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED size->map.pwg=\"%s\", ORIG "
467*5e7646d2SAndroid Build Coastguard Worker 	           "size->map.pwg=\"%s\"\n", size2->map.pwg, size->map.pwg);
468*5e7646d2SAndroid Build Coastguard Worker 
469*5e7646d2SAndroid Build Coastguard Worker 	  if (strcmp(size2->map.ppd, size->map.ppd))
470*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED size->map.ppd=\"%s\", ORIG "
471*5e7646d2SAndroid Build Coastguard Worker 	           "size->map.ppd=\"%s\"\n", size2->map.ppd, size->map.ppd);
472*5e7646d2SAndroid Build Coastguard Worker 
473*5e7646d2SAndroid Build Coastguard Worker 	  if (size2->width != size->width)
474*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED size->width=%d, ORIG size->width=%d\n",
475*5e7646d2SAndroid Build Coastguard Worker 		   size2->width, size->width);
476*5e7646d2SAndroid Build Coastguard Worker 
477*5e7646d2SAndroid Build Coastguard Worker 	  if (size2->length != size->length)
478*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED size->length=%d, ORIG size->length=%d\n",
479*5e7646d2SAndroid Build Coastguard Worker 		   size2->length, size->length);
480*5e7646d2SAndroid Build Coastguard Worker 
481*5e7646d2SAndroid Build Coastguard Worker 	  if (size2->left != size->left)
482*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED size->left=%d, ORIG size->left=%d\n",
483*5e7646d2SAndroid Build Coastguard Worker 		   size2->left, size->left);
484*5e7646d2SAndroid Build Coastguard Worker 
485*5e7646d2SAndroid Build Coastguard Worker 	  if (size2->bottom != size->bottom)
486*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED size->bottom=%d, ORIG size->bottom=%d\n",
487*5e7646d2SAndroid Build Coastguard Worker 		   size2->bottom, size->bottom);
488*5e7646d2SAndroid Build Coastguard Worker 
489*5e7646d2SAndroid Build Coastguard Worker 	  if (size2->right != size->right)
490*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED size->right=%d, ORIG size->right=%d\n",
491*5e7646d2SAndroid Build Coastguard Worker 		   size2->right, size->right);
492*5e7646d2SAndroid Build Coastguard Worker 
493*5e7646d2SAndroid Build Coastguard Worker 	  if (size2->top != size->top)
494*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED size->top=%d, ORIG size->top=%d\n",
495*5e7646d2SAndroid Build Coastguard Worker 		   size2->top, size->top);
496*5e7646d2SAndroid Build Coastguard Worker 
497*5e7646d2SAndroid Build Coastguard Worker 	  status ++;
498*5e7646d2SAndroid Build Coastguard Worker 	  break;
499*5e7646d2SAndroid Build Coastguard Worker 	}
500*5e7646d2SAndroid Build Coastguard Worker       }
501*5e7646d2SAndroid Build Coastguard Worker 
502*5e7646d2SAndroid Build Coastguard Worker       for (i = pc->num_sources, map = pc->sources, map2 = pc2->sources;
503*5e7646d2SAndroid Build Coastguard Worker            i > 0;
504*5e7646d2SAndroid Build Coastguard Worker 	   i --, map ++, map2 ++)
505*5e7646d2SAndroid Build Coastguard Worker       {
506*5e7646d2SAndroid Build Coastguard Worker         if (strcmp(map2->pwg, map->pwg) ||
507*5e7646d2SAndroid Build Coastguard Worker 	    strcmp(map2->ppd, map->ppd))
508*5e7646d2SAndroid Build Coastguard Worker 	{
509*5e7646d2SAndroid Build Coastguard Worker 	  if (!status)
510*5e7646d2SAndroid Build Coastguard Worker 	    puts("FAIL");
511*5e7646d2SAndroid Build Coastguard Worker 
512*5e7646d2SAndroid Build Coastguard Worker 	  if (strcmp(map->pwg, map2->pwg))
513*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED source->pwg=\"%s\", ORIG source->pwg=\"%s\"\n",
514*5e7646d2SAndroid Build Coastguard Worker 	           map2->pwg, map->pwg);
515*5e7646d2SAndroid Build Coastguard Worker 
516*5e7646d2SAndroid Build Coastguard Worker 	  if (strcmp(map2->ppd, map->ppd))
517*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED source->ppd=\"%s\", ORIG source->ppd=\"%s\"\n",
518*5e7646d2SAndroid Build Coastguard Worker 	           map2->ppd, map->ppd);
519*5e7646d2SAndroid Build Coastguard Worker 
520*5e7646d2SAndroid Build Coastguard Worker 	  status ++;
521*5e7646d2SAndroid Build Coastguard Worker 	  break;
522*5e7646d2SAndroid Build Coastguard Worker 	}
523*5e7646d2SAndroid Build Coastguard Worker       }
524*5e7646d2SAndroid Build Coastguard Worker 
525*5e7646d2SAndroid Build Coastguard Worker       for (i = pc->num_types, map = pc->types, map2 = pc2->types;
526*5e7646d2SAndroid Build Coastguard Worker            i > 0;
527*5e7646d2SAndroid Build Coastguard Worker 	   i --, map ++, map2 ++)
528*5e7646d2SAndroid Build Coastguard Worker       {
529*5e7646d2SAndroid Build Coastguard Worker         if (strcmp(map2->pwg, map->pwg) ||
530*5e7646d2SAndroid Build Coastguard Worker 	    strcmp(map2->ppd, map->ppd))
531*5e7646d2SAndroid Build Coastguard Worker 	{
532*5e7646d2SAndroid Build Coastguard Worker 	  if (!status)
533*5e7646d2SAndroid Build Coastguard Worker 	    puts("FAIL");
534*5e7646d2SAndroid Build Coastguard Worker 
535*5e7646d2SAndroid Build Coastguard Worker 	  if (strcmp(map->pwg, map2->pwg))
536*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED type->pwg=\"%s\", ORIG type->pwg=\"%s\"\n",
537*5e7646d2SAndroid Build Coastguard Worker 	           map2->pwg, map->pwg);
538*5e7646d2SAndroid Build Coastguard Worker 
539*5e7646d2SAndroid Build Coastguard Worker 	  if (strcmp(map2->ppd, map->ppd))
540*5e7646d2SAndroid Build Coastguard Worker 	    printf("    SAVED type->ppd=\"%s\", ORIG type->ppd=\"%s\"\n",
541*5e7646d2SAndroid Build Coastguard Worker 	           map2->ppd, map->ppd);
542*5e7646d2SAndroid Build Coastguard Worker 
543*5e7646d2SAndroid Build Coastguard Worker 	  status ++;
544*5e7646d2SAndroid Build Coastguard Worker 	  break;
545*5e7646d2SAndroid Build Coastguard Worker 	}
546*5e7646d2SAndroid Build Coastguard Worker       }
547*5e7646d2SAndroid Build Coastguard Worker     }
548*5e7646d2SAndroid Build Coastguard Worker 
549*5e7646d2SAndroid Build Coastguard Worker     if (!status)
550*5e7646d2SAndroid Build Coastguard Worker       puts("PASS");
551*5e7646d2SAndroid Build Coastguard Worker 
552*5e7646d2SAndroid Build Coastguard Worker     _ppdCacheDestroy(pc2);
553*5e7646d2SAndroid Build Coastguard Worker   }
554*5e7646d2SAndroid Build Coastguard Worker 
555*5e7646d2SAndroid Build Coastguard Worker  /*
556*5e7646d2SAndroid Build Coastguard Worker   * Test PageSize mapping code...
557*5e7646d2SAndroid Build Coastguard Worker   */
558*5e7646d2SAndroid Build Coastguard Worker 
559*5e7646d2SAndroid Build Coastguard Worker   status += test_pagesize(pc, ppd, "Letter");
560*5e7646d2SAndroid Build Coastguard Worker   status += test_pagesize(pc, ppd, "na-letter");
561*5e7646d2SAndroid Build Coastguard Worker   status += test_pagesize(pc, ppd, "A4");
562*5e7646d2SAndroid Build Coastguard Worker   status += test_pagesize(pc, ppd, "iso-a4");
563*5e7646d2SAndroid Build Coastguard Worker 
564*5e7646d2SAndroid Build Coastguard Worker   return (status);
565*5e7646d2SAndroid Build Coastguard Worker }
566