'Prepare a client side job object.
:param control: The control file (pathname of).
:param options: an object which includes:
jobtag: The job tag string (eg "default").
cont: If this is the continuation of this job.
harness_type: An alternative server harness.  [None]
use_external_logging: If true, the enable_external_logging
method will be called during construction.  [False]
:param drop_caches: If true, utils.drop_caches() is called before and
between all tests.  [True]
:param extra_copy_cmdline: list of additional /proc/cmdline arguments to
copy from the running kernel to all the installed kernels with
this job'

def __init__(self, control, options, drop_caches=True, extra_copy_cmdline=None):

    super(base_client_job, self).__init__(options=options)
    self._pre_record_init(control, options)
    try:
        self._post_record_init(control, options, drop_caches, extra_copy_cmdline)
    except Exception as err:
        self.record('ABORT', None, None, ('client.job.__init__    failed:    %s' % str(err)))
        raise
