def METHOD_NAME(self):
    """Run compiled KFP pipeline."""
    ###### Initialization ######
    self._client = Client(host=self._host)
    ###### Check Input File ######
    utils.add_junit_test(self._test_cases, 'input generated yaml file',
                         os.path.exists(self._input),
                         'yaml file is not generated')
    if not os.path.exists(self._input):
        utils.write_junit_xml(self._test_name, self._result,
                              self._test_cases)
        print('Error: job not found.')
        exit(1)
    ###### Create Experiment ######
    response = self._client.create_experiment(self._experiment_name)
    self._experiment_id = response.experiment_id
    utils.add_junit_test(self._test_cases, 'create experiment', True)
    ###### Create Job ######
    self._job_name = self._testname + '_sample'
    ###### Figure out arguments from associated config files. #######
    self._test_args = {}
    config_schema = yamale.make_schema(SCHEMA_CONFIG)
    try:
        with open(DEFAULT_CONFIG, 'r') as f:
            raw_args = yaml.safe_load(f)
        default_config = yamale.make_data(DEFAULT_CONFIG)
        yamale.validate(
            config_schema,
            default_config)  # If fails, a ValueError will be raised.
    except yaml.YAMLError as yamlerr:
        raise RuntimeError('Illegal default config:{}'.format(yamlerr))
    except OSError as ose:
        raise FileExistsError('Default config not found:{}'.format(ose))
    else:
        self._test_timeout = raw_args['test_timeout']
        self._run_pipeline = raw_args['run_pipeline']
    try:
        config_file = os.path.join(CONFIG_DIR,
                                   '%s.config.yaml' % self._testname)
        with open(config_file, 'r') as f:
            raw_args = yaml.safe_load(f)
        test_config = yamale.make_data(config_file)
        yamale.validate(
            config_schema,
            test_config)  # If fails, a ValueError will be raised.
    except yaml.YAMLError as yamlerr:
        print('No legit yaml config file found, use default args:{}'.format(
            yamlerr))
    except OSError as ose:
        print(
            'Config file with the same name not found, use default args:{}'
            .format(ose))
    else:
        if 'arguments' in raw_args.keys() and raw_args['arguments']:
            self._test_args.update(raw_args['arguments'])
        if 'output' in self._test_args.keys(
        ):  # output is a special param that has to be specified dynamically.
            self._test_args['output'] = self._output
        if 'test_timeout' in raw_args.keys():
            self._test_timeout = raw_args['test_timeout']
        if 'run_pipeline' in raw_args.keys():
            self._run_pipeline = raw_args['run_pipeline']
    # TODO(numerology): Special treatment for TFX::OSS sample
    if self._testname == 'parameterized_tfx_oss':
        self._test_args['pipeline-root'] = os.path.join(
            self._test_args['output'],
            'tfx_taxi_simple_' + kfp.dsl.RUN_ID_PLACEHOLDER)
        del self._test_args['output']
    # Submit for pipeline running.
    if self._run_pipeline:
        response = self._client.run_pipeline(self._experiment_id,
                                             self._job_name, self._input,
                                             self._test_args)
        self._run_id = response.run_id
        utils.add_junit_test(self._test_cases, 'create pipeline run', True)