Bug: 28606903
What this test does is sends a startService
to a service defined in a new process. That service
then sends a broadcast that it was started, which
is received in the originating process. After
that broadcast is sent it stopSelf()'s and exit(0)'s.
The time it takes from start -> started as well as
the service -> receiver are tracked and reported.
The test does this round trip ping/pong in multiple
configurations. First doing just 1 at a time, then
2 at a time, then 4, then etc... all the way up to
10 active startService/sendBroadcasts at a time
across 10 worker threads in the main process.
There's a ring buffer of 100 services in 100 different
sub processes to ensure that every startService
goes through the entire zygote-fork bringup with
no risk of overlapping with the dying/stopping of a
previous startService.
Change-Id: I4f19e89ae1b14c9d1660d8a546ccbb92ec5127cd