cupstestppd(1)

πŸ“¦
version 2.4.19 Β· 4 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, centos-stream 10, debian trixie, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ cupstestppd β€” the manual page, but make it cute ✨

okay bestie, welcome to cupstestppd(1) from OpenPrinting πŸ’… this is the vibe check for your PPD files, and yes it's deprecated, we'll get to that, don't @ me yet 🫢


🌸 NAME 🌸

cupstestppd β€” test conformance of ppd files (deprecated)

ngl the "(deprecated)" is right there in the name, so like… emotionally prepare yourself πŸ’€

πŸŽ€ SYNOPSIS πŸŽ€

cupstestppd [ -I category ] [ -R rootdir ] [ -W category ] [ -q ] [ -r ]
[ -v[v] ] filename.ppd[.gz] [ ...  filename.ppd[.gz] ]
cupstestppd [ -R rootdir ] [ -W category ] [ -q ] [ -r ] [ -v[v] ] -

so there's two whole ways to run this, and both are iconic in their own way ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

cupstestppd tests the conformance of PPD files to the Adobe PostScript Printer Description file format specification version 4.3. it can also be used to list the supported options and available fonts in a PPD file. and the results of testing, plus literally any other output, get sent to the standard output πŸ’–

the first form tests one or more PPD files straight up on the command-line. the second form tests the PPD file you hand it on standard input β€” yes, the - at the end is doing all the work there, main character energy fr fr πŸ‘‘


πŸ’… OPTIONS πŸ’…

cupstestppd supports the following options:

  • -I filename β€” ignores all PCFileName warnings. (yes, filename is literally the value here, it's giving "placeholder as a lifestyle") πŸ™ˆ
  • -I filters β€” ignores all filter errors.
  • -I profiles β€” ignores all profile errors.
  • -R rootdir β€” specifies an alternate root directory for the filter, pre-filter, and other support file checks. basically "look over here instead" 🏠
  • -W constraints β€” report all UIConstraint errors as warnings.
  • -W defaults β€” except for size-related options, report all default option errors as warnings.
  • -W filters β€” report all filter errors as warnings.
  • -W profiles β€” report all profile errors as warnings.
  • -W sizes β€” report all media size errors as warnings.
  • -W translations β€” report all translation errors as warnings.
  • -W all β€” report all of the previous errors as warnings. the whole buffet πŸ“
  • -W none β€” report all of the previous errors as errors. no softness, no mercy, we're back to strict mode πŸ’€
  • -q β€” specifies that no information should be displayed. silence. the quiet luxury of it all 🀫
  • -r β€” relaxes the PPD conformance requirements so that common whitespace, control character, and formatting problems are not treated as hard errors. it's the "girl, it's fine" flag 🫢
  • -v β€” specifies that detailed conformance testing results should be displayed rather than the concise PASS/FAIL/ERROR status.
  • -vv β€” specifies that all information in the PPD file should be displayed in addition to the detailed conformance testing results. yes, ALL of it. we're reading the whole thing, cover to cover πŸ“–
⚠️ the -q, -v, and -vv options are mutually exclusive. pick ONE. they cannot coexist. it's giving toxic polycule and the manpage said no πŸ’”

⭐ EXIT STATUS ⭐

cupstestppd returns zero on success and non-zero on error. the error codes are as follows:

  1. Bad command-line arguments or missing PPD filename.
  2. Unable to open or read PPD file.
  3. The PPD file contains format errors that cannot be skipped.
  4. The PPD file does not conform to the Adobe PPD specification.

so like, 0 = slay, 1–4 = the specific flavor of not-slay 😭


🌈 EXAMPLES 🌈

the following command will test all PPD files under the current directory and print the names of each file that does not conform:

find . -name \*.ppd \! -exec cupstestppd -q '{}' \; -print

the next command tests all PPD files under the current directory and print detailed conformance testing results for the files that do not conform:

find . -name \*.ppd \! -exec cupstestppd -q '{}' \; \
    -exec cupstestppd -v '{}' \;

look at that backslash line continuation, so clean, so intentional, we love a well-formatted command 🧚


πŸ’œ NOTES πŸ’œ

PPD files are deprecated and will no longer be supported in a future feature release of CUPS. printers that do not support IPP can be supported using applications such as ippeveprinter(1).

🚨 fr fr bestie, this is the real warning: PPDs are on their way out. if your printer doesn't speak IPP, go look at ippeveprinter(1) before it's too late πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

lpadmin(8), CUPS Online Help (http://localhost:631/help), Adobe PostScript Printer Description File Format Specification, Version 4.3.


Copyright Β© 2020-2024 by OpenPrinting.


and that's the whole page, bestie πŸ’– this was CUPS, dated 2021-02-28, brought to you by OpenPrinting β€” thanks for reading, mwah, periodt βœ¨πŸŽ€πŸ’…

πŸ“¦ where this page comes from