• Svetoslav's avatar
    Adding printing CTS tests and some tests. · 12c82d43
    Svetoslav authored
    1. Added infrastructure for writing print tests.
    
       Print tests require mocking both the print application
       and the print services. Therefore, both the app and the
       services are in the same APK.
    
       Using print services requires that they are enabled by
       the user via the UI which changes a secure setting with
       the enabled services. The test app cannot change these
       settings. Therefore, there is a custom host side test
       driver which sets the enabled services setting before
       running the tests.
    
       The print spooler keeps track of used printers, hence
       running a test changes the state of the spooler potentially
       affecting subsequent tests, i.e. the order of runnings
       tests begins to matter which is fragile as the test
       runner does not guarantee order of execution. However,
       the test APK cannot clear the data of another app, i.e the
       PrintSpooler. To handle this the host side test driver
       installs and calls a shell Java program which creates
       a proxy object which has API for clearing an app's
       user data (the shell user has permissions to do that)
       and passes this proxy to the instrumentation that
       contains the tests. Fun!
    
    2. Added tests for the PrintDocumentAdapter lifecycle.
    
    Change-Id: Ie9929c2e364a43b262667c5198967e01858f4389
    12c82d43
CtsTestCaseList.mk 4.84 KB