# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = "The Chromium OS Authors"
NAME = "platform_PrinterPpds.all_outputs"
TIME = "LENGTHY"
TEST_TYPE = "client"
CRITERIA = """
The test fails in case of malfunctioning of CUPS printing stack (cupsd,
cupstestppd, cups filters) for at least one of tested PPD files.
"""
TEST_CATEGORY = "Functional"
TEST_CLASS = "platform"
#ATTRIBUTES = ""
JOB_RETRIES = 0

DOC = """
This is a test that for all available PPD files runs the following procedure:
1. Add an Generic printer to CUPS server (user-provided ppd file).
2. Print test PDF documents (from docs directory).
3. Remove the printer.
When printing the PDF, the printing request sent to a printer is caught by
a fake printer. All output documents are saved in the directory
/tmp/PrinterPpds_outputs on the device. This test calculates also digests
files and saves them in the same directory.
When the CUPS server is patched and dumps executed pipelines in the /tmp
directory, this test reruns the pipeline and saves also output from every
step.
See readme.txt for details.
"""

job.run_test(
        'platform_PrinterPpds',
        path_docs='docs',
        path_ppds='ppds_all',
        path_outputs='/tmp/PrinterPpds_outputs')
