IPP Everywhere™ v1.1 Printer Self-Certification Tools
The IPP Everywhere™ Printer self-certification tools are used to test the conformance of printers to PWG Candidate Standard 5100.14-201x: IPP Everywhere™ v1.1. The testing and submission procedures are defined in PWG Candidate Standard 5100.20-201x: IPP Everywhere™ v1.1 Printer Self-Certification Manual.
The IPP Everywhere™ home page provides access to all information relevant to IPP Everywhere™. Sample PWG Raster files (needed for the document tests) can be downloaded from [the PWG FTP server](https://ftp.pwg.org/pub/pwg/ipp/examples].
The "firstname.lastname@example.org" mailing list is used to discuss IPP Everywhere Printer Self-Certification. You can subscribe at https://www.pwg.org/mailman/listinfo/ippeveselfcert.
Issues found in the tools should be reported using the Github issues page.
Note: Tests are intended to be run on an isolated network, or at least when no other users are printing using the target printer. Otherwise the test scripts will fail randomly.
Note: Self-certification results submitted to the PWG IPP Everywhere™ portal MUST be generated using the tools provides on the PWG web site. The following instructions are provided for developers to build and test using unofficial builds.
You'll need the Avahi and GNU TLS developer packages to provide DNS-SD and TLS support, clang or GCC, and GNU make. Packages are targeted for Red Hat Enterprise Linux and Ubuntu. Run the following to compile the tools:
You'll need the current Xcode software and command-line tools to build things. Run the following to compile the tools:
You'll need the current Visual Studio C++ as well as the code signing tools and the PWG code signing certificate (available from the PWG officers for official use only) - without the certificate the build will fail unless you disable the post-build events that add the code signatures.
Open the "ippeveselfcert.sln" file in the "vcnet" subdirectory and build the installer project.
Running/Testing with Local Builds
Linux and macOS
The "runtests.sh" script can be used to run any of the test scripts using the locally-built tools. For example:
./runtests.sh bonjour-tests.sh "Example Test Printer" ./runtests.sh ipp-tests.sh "Example Test Printer" ./runtests.sh document-tests.sh "Example Test Printer"
The corresponding PWG Raster sample files (see link in the introduction) MUST be placed in a subdirectory of the "tests" directory. For example:
cd tests curl http://ftp.pwg.org/pub/pwg/ipp/examples/pwg-raster-samples-300dpi-20150616.zip >temp.zip unzip temp.zip rm temp.zip cd ..
You'll need to manually copy the DLL and EXE files from the "vcnet" directory to the "tests" directory. Then run the corresponding test from that directory, for example:
cd tests bonjour-tests.bat "Example Test Printer" ipp-tests.bat "Example Test Printer" document-tests.bat "Example Test Printer"
The corresponding PWG Raster sample files (see link in the introduction) MUST be placed in a subdirectory of the "tests" directory. After downloading the files just extract them using Windows Explorer.
A tar.gz file will be placed in the current directory.
You'll need the PWG code signing certificate (available from the PWG officers for official use only) or your own certificate loaded into your login keychain. Then run:
CODESIGN_IDENTITY="common name or SHA-1 hash of certificate" make dist
If you built the installer target, you'll find the package in a MSI file in the "vcnet" directory.
These tools are Copyright 2014-2018 by The Printer Working Group and Copyright 2007-2018 by Apple Inc. CUPS and the CUPS logo are trademarks of Apple Inc. PWG and IPP Everywhere are trademarks of the IEEE-ISTO.
The tools are provided under the terms of version 2 of the GNU General Public License and GNU Library General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file "LICENSE.txt" for more information.