tree 84ac3078dafe2de7b1098c4fe793e515e33b3f73
parent 7629fdaca7eb18f391d5848a3bf6f82f47408eee
author Svetoslav <svetoslavganov@google.com> 1387571692 -0800
committer Svetoslav <svetoslavganov@google.com> 1389225268 -0800

Adding printing CTS tests and some tests.

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
