Move distribute_across_machines and gtest to site extension.

(Patch 11: Simplify how site_server_job.run() inserts gtest_runner
           into the namespace parameter of server_job.run().)

(Patch 10: Update gtest_parser to warn and gracefully exit if the test
           log file does not exist.  This happens in a gtest suite
           throws a test exception before completing and copying the
           test log file back to the server.

           Also updated FailureDescription() to not return the name of
           the test to simplify checking for failure lines.  This
           makes "if failures: then use failures" work instead of
           "if len(failures) >1: then use failures[1:]")

(Patch 9: Code review fixes, clearer comments and one line argument
           parsing.)

(Patch 8: Fix PyAuto parse failure with no error lines.)

To make keeping in step with upstream Autotest moving the
distribute_across_machines and gtest_runner into site extensions.

Clean up the old include, exclude, action test attributes from the old
(test_name, {args}, [include], [exclude], [action]) to a cleaner form
of (test_name, {args}, {attributes} where the attributes dictionary
is keyed to include, exclude, and attributes for the same behavior as
before in a nicer format.

Updated BVT and Regressions to use the new format.

Server_Job:
    Removed unused imports I added for removed functions.
    Move site functions to end of file to enable importing
        base_server_job.
    Removed distribute_across_machines() and record_skipped_test().
    Removed gtest_runner from the default namespace.

Site_Server_Job:
    Added imports and functions removed from server_job.
    Changed distribute_across_machines from using threads that
        launched subprocesses to just using subprocesses.

Site_Server_Job_Utils:
    Fixed test attributes to use a dictionary instead of 3 lists.
    Enabled running server jobs in addition to client jobs.
    Removed base thread class from machine_worker since the instances
        are run by subcommands now.

logging_KernelCrashServer
http://pauldean.kir/afe/#tab_id=view_job&object_id=327

BVT
http://pauldean.kir/afe/#tab_id=view_job&object_id=328

Regression
http://pauldean.kir/afe/#tab_id=view_job&object_id=330

BUG=None.
TEST=Local Runs.

Change-Id: I118ae8bdc2b49d4190051d59a748ecb01d0da33c
Reviewed-on: http://gerrit.chromium.org/gerrit/2698
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Tested-by: Paul Pendlebury <pauldean@chromium.org>
6 files changed