Reindent python files in benchmark suite

Reindented python files in the suite.

Test: None.
Change-Id: I573272982e3788fd5b6b8e909546f2601a5a919b
diff --git a/run.py b/run.py
index e74162b..25c6ebe 100755
--- a/run.py
+++ b/run.py
@@ -24,458 +24,466 @@
 logging.basicConfig(level=logging.INFO)
 
 def _parse_arguments(argv):
-  parser = argparse.ArgumentParser(description='Build and run specific '
-                                   'benchamrk')
-  parser.add_argument(
-      '-b',
-      '--bench',
-      action='append',
-      default=[],
-      help='Select which benchmark to run')
+    parser = argparse.ArgumentParser(description='Build and run specific '
+                                     'benchamrk')
+    parser.add_argument(
+        '-b',
+        '--bench',
+        action='append',
+        default=[],
+        help='Select which benchmark to run')
 
-  # Only one of compiler directory and llvm prebuilts version can be indicated
-  # at the beginning, so set -c and -l into a exclusive group.
-  group = parser.add_mutually_exclusive_group()
+    # Only one of compiler directory and llvm prebuilts version can be indicated
+    # at the beginning, so set -c and -l into a exclusive group.
+    group = parser.add_mutually_exclusive_group()
 
-  # The toolchain setting arguments has action of 'append', so that users
-  # could compare performance with several toolchain settings together.
-  group.add_argument(
-      '-c',
-      '--compiler_dir',
-      metavar='DIR',
-      action='append',
-      default=[],
-      help='Specify path to the compiler\'s bin directory. '
-      'You shall give several paths, each with a -c, to '
-      'compare performance differences in '
-      'each compiler.')
+    # The toolchain setting arguments has action of 'append', so that users
+    # could compare performance with several toolchain settings together.
+    group.add_argument(
+        '-c',
+        '--compiler_dir',
+        metavar='DIR',
+        action='append',
+        default=[],
+        help='Specify path to the compiler\'s bin directory. '
+        'You shall give several paths, each with a -c, to '
+        'compare performance differences in '
+        'each compiler.')
 
-  parser.add_argument(
-      '-o',
-      '--build_os',
-      action='append',
-      default=[],
-      help='Specify the host OS to build the benchmark.')
+    parser.add_argument(
+        '-o',
+        '--build_os',
+        action='append',
+        default=[],
+        help='Specify the host OS to build the benchmark.')
 
-  group.add_argument(
-      '-l',
-      '--llvm_prebuilts_version',
-      action='append',
-      default=[],
-      help='Specify the version of prebuilt LLVM. When '
-      'specific prebuilt version of LLVM already '
-      'exists, no need to pass the path to compiler '
-      'directory.')
+    group.add_argument(
+        '-l',
+        '--llvm_prebuilts_version',
+        action='append',
+        default=[],
+        help='Specify the version of prebuilt LLVM. When '
+        'specific prebuilt version of LLVM already '
+        'exists, no need to pass the path to compiler '
+        'directory.')
 
-  parser.add_argument(
-      '-f',
-      '--cflags',
-      action='append',
-      default=[],
-      help='Specify the cflags options for the toolchain. '
-      'Be sure to quote all the cflags with quotation '
-      'mark("") or use equal(=).')
-  parser.add_argument(
-      '--ldflags',
-      action='append',
-      default=[],
-      help='Specify linker flags for the toolchain.')
+    parser.add_argument(
+        '-f',
+        '--cflags',
+        action='append',
+        default=[],
+        help='Specify the cflags options for the toolchain. '
+        'Be sure to quote all the cflags with quotation '
+        'mark("") or use equal(=).')
+    parser.add_argument(
+        '--ldflags',
+        action='append',
+        default=[],
+        help='Specify linker flags for the toolchain.')
 
-  parser.add_argument(
-      '-i',
-      '--iterations',
-      type=int,
-      default=1,
-      help='Specify how many iterations does the test '
-      'take.')
+    parser.add_argument(
+        '-i',
+        '--iterations',
+        type=int,
+        default=1,
+        help='Specify how many iterations does the test '
+        'take.')
 
-  # Arguments -s and -r are for connecting to DUT.
-  parser.add_argument(
-      '-s',
-      '--serials',
-      help='Comma separate list of device serials under '
-      'test.')
+    # Arguments -s and -r are for connecting to DUT.
+    parser.add_argument(
+        '-s',
+        '--serials',
+        help='Comma separate list of device serials under '
+        'test.')
 
-  parser.add_argument(
-      '-r',
-      '--remote',
-      default='localhost',
-      help='hostname[:port] if the ADB device is connected '
-      'to a remote machine. Ensure this workstation '
-      'is configured for passwordless ssh access as '
-      'users "root" or "adb"')
+    parser.add_argument(
+        '-r',
+        '--remote',
+        default='localhost',
+        help='hostname[:port] if the ADB device is connected '
+        'to a remote machine. Ensure this workstation '
+        'is configured for passwordless ssh access as '
+        'users "root" or "adb"')
 
-  # Arguments -frequency and -m are for device settings
-  parser.add_argument(
-      '--frequency',
-      type=int,
-      default=979200,
-      help='Specify the CPU frequency of the device. The '
-      'unit is KHZ. The available value is defined in'
-      'cpufreq/scaling_available_frequency file in '
-      'device\'s each core directory. '
-      'The default value is 979200, which shows a '
-      'balance in noise and performance. Lower '
-      'frequency will slow down the performance but '
-      'reduce noise.')
+    # Arguments -frequency and -m are for device settings
+    parser.add_argument(
+        '--frequency',
+        type=int,
+        default=979200,
+        help='Specify the CPU frequency of the device. The '
+        'unit is KHZ. The available value is defined in'
+        'cpufreq/scaling_available_frequency file in '
+        'device\'s each core directory. '
+        'The default value is 979200, which shows a '
+        'balance in noise and performance. Lower '
+        'frequency will slow down the performance but '
+        'reduce noise.')
 
-  parser.add_argument(
-      '-m',
-      '--mode',
-      default='little',
-      help='User can specify whether \'little\' or \'big\' '
-      'mode to use. The default one is little mode. '
-      'The little mode runs on a single core of '
-      'Cortex-A53, while big mode runs on single core '
-      'of Cortex-A57.')
+    parser.add_argument(
+        '-m',
+        '--mode',
+        default='little',
+        help='User can specify whether \'little\' or \'big\' '
+        'mode to use. The default one is little mode. '
+        'The little mode runs on a single core of '
+        'Cortex-A53, while big mode runs on single core '
+        'of Cortex-A57.')
 
-  # Configure file for benchmark test
-  parser.add_argument(
-      '-t',
-      '--test',
-      help='Specify the test settings with configuration '
-      'file.')
+    # Configure file for benchmark test
+    parser.add_argument(
+        '-t',
+        '--test',
+        help='Specify the test settings with configuration '
+        'file.')
 
-  # Whether to keep old json result or not
-  parser.add_argument(
-      '-k',
-      '--keep',
-      default='False',
-      help='User can specify whether to keep the old json '
-      'results from last run. This can be useful if you '
-      'want to compare performance differences in two or '
-      'more different runs. Default is False(off).')
+    # Whether to keep old json result or not
+    parser.add_argument(
+        '-k',
+        '--keep',
+        default='False',
+        help='User can specify whether to keep the old json '
+        'results from last run. This can be useful if you '
+        'want to compare performance differences in two or '
+        'more different runs. Default is False(off).')
 
-  return parser.parse_args(argv)
+    return parser.parse_args(argv)
 
 
 # Clear old log files in bench suite directory
 def clear_logs():
-  logging.info('Removing old logfiles...')
-  for f in ['build_log', 'device_log', 'test_log']:
-    logfile = os.path.join(config.bench_suite_dir, f)
-    try:
-      os.remove(logfile)
-    except OSError:
-      logging.info('No logfile %s need to be removed. Ignored.', f)
-  logging.info('Old logfiles been removed.')
+    logging.info('Removing old logfiles...')
+    for f in ['build_log', 'device_log', 'test_log']:
+        logfile = os.path.join(config.bench_suite_dir, f)
+        try:
+            os.remove(logfile)
+        except OSError:
+            logging.info('No logfile %s need to be removed. Ignored.', f)
+    logging.info('Old logfiles been removed.')
 
 
 # Clear old json files in bench suite directory
 def clear_results():
-  logging.info('Clearing old json results...')
-  for bench in config.bench_list:
-    result = os.path.join(config.bench_suite_dir, bench + '.json')
-    try:
-      os.remove(result)
-    except OSError:
-      logging.info('no %s json file need to be removed. Ignored.', bench)
-  logging.info('Old json results been removed.')
+    logging.info('Clearing old json results...')
+    for bench in config.bench_list:
+        result = os.path.join(config.bench_suite_dir, bench + '.json')
+        try:
+            os.remove(result)
+        except OSError:
+            logging.info('no %s json file need to be removed. Ignored.', bench)
+    logging.info('Old json results been removed.')
 
 
 # Use subprocess.check_call to run other script, and put logs to files
 def check_call_with_log(cmd, log_file):
-  log_file = os.path.join(config.bench_suite_dir, log_file)
-  with open(log_file, 'a') as logfile:
-    log_header = 'Log for command: %s\n' % (cmd)
-    logfile.write(log_header)
-    try:
-      subprocess.check_call(cmd, stdout=logfile)
-    except subprocess.CalledProcessError:
-      logging.error('Error running %s, please check %s for more info.', cmd,
-                    log_file)
-      raise
-  logging.info('Logs for %s are written to %s.', cmd, log_file)
+    log_file = os.path.join(config.bench_suite_dir, log_file)
+    with open(log_file, 'a') as logfile:
+        log_header = 'Log for command: %s\n' % (cmd)
+        logfile.write(log_header)
+        try:
+            subprocess.check_call(cmd, stdout=logfile)
+        except subprocess.CalledProcessError:
+            logging.error('Error running %s, please check %s for more info.',
+                          cmd, log_file)
+            raise
+    logging.info('Logs for %s are written to %s.', cmd, log_file)
 
 
 def set_device(serials, remote, frequency):
-  setting_cmd = [
-      os.path.join(
-          os.path.join(config.android_home, config.autotest_dir),
-          'site_utils/set_device.py')
-  ]
-  setting_cmd.append('-r=' + remote)
-  setting_cmd.append('-q=' + str(frequency))
-
-  # Deal with serials.
-  # If there is no serails specified, try to run test on the only device.
-  # If specified, split the serials into a list and run test on each device.
-  if serials:
-    for serial in serials.split(','):
-      setting_cmd.append('-s=' + serial)
-      check_call_with_log(setting_cmd, 'device_log')
-      setting_cmd.pop()
-  else:
-    check_call_with_log(setting_cmd, 'device_log')
-
-  logging.info('CPU mode and frequency set successfully!')
-
-
-def log_ambiguous_args():
-  logging.error('The count of arguments does not match!')
-  raise ValueError('The count of arguments does not match.')
-
-
-# Check if the count of building arguments are log_ambiguous or not.  The
-# number of -c/-l, -f, and -os should be either all 0s or all the same.
-def check_count(compiler, llvm_version, build_os, cflags, ldflags):
-  # Count will be set to 0 if no compiler or llvm_version specified.
-  # Otherwise, one of these two args length should be 0 and count will be
-  # the other one.
-  count = max(len(compiler), len(llvm_version))
-
-  # Check if number of cflags is 0 or the same with before.
-  if len(cflags) != 0:
-    if count != 0 and len(cflags) != count:
-      log_ambiguous_args()
-    count = len(cflags)
-
-  if len(ldflags) != 0:
-    if count != 0 and len(ldflags) != count:
-      log_ambiguous_args()
-    count = len(ldflags)
-
-  if len(build_os) != 0:
-    if count != 0 and len(build_os) != count:
-      log_ambiguous_args()
-    count = len(build_os)
-
-  # If no settings are passed, only run default once.
-  return max(1, count)
-
-
-# Build benchmark binary with toolchain settings
-def build_bench(setting_no, bench, compiler, llvm_version, build_os, cflags,
-                ldflags):
-  # Build benchmark locally
-  build_cmd = ['./build_bench.py', '-b=' + bench]
-  if compiler:
-    build_cmd.append('-c=' + compiler[setting_no])
-  if llvm_version:
-    build_cmd.append('-l=' + llvm_version[setting_no])
-  if build_os:
-    build_cmd.append('-o=' + build_os[setting_no])
-  if cflags:
-    build_cmd.append('-f=' + cflags[setting_no])
-  if ldflags:
-    build_cmd.append('--ldflags=' + ldflags[setting_no])
-
-  logging.info('Building benchmark for toolchain setting No.%d...', setting_no)
-  logging.info('Command: %s', build_cmd)
-
-  try:
-    subprocess.check_call(build_cmd)
-  except:
-    logging.error('Error while building benchmark!')
-    raise
-
-
-def run_and_collect_result(test_cmd, setting_no, i, bench, serial='default'):
-
-  # Run autotest script for benchmark on DUT
-  check_call_with_log(test_cmd, 'test_log')
-
-  logging.info('Benchmark with setting No.%d, iter.%d finished testing on '
-               'device %s.', setting_no, i, serial)
-
-  # Rename results from the bench_result generated in autotest
-  bench_result = os.path.join(config.bench_suite_dir, 'bench_result')
-  if not os.path.exists(bench_result):
-    logging.error('No result found at %s, '
-                  'please check test_log for details.', bench_result)
-    raise OSError('Result file %s not found.' % bench_result)
-
-  new_bench_result = 'bench_result_%s_%s_%d_%d' % (bench, serial, setting_no, i)
-  new_bench_result_path = os.path.join(config.bench_suite_dir, new_bench_result)
-  try:
-    os.rename(bench_result, new_bench_result_path)
-  except OSError:
-    logging.error('Error while renaming raw result %s to %s', bench_result,
-                  new_bench_result_path)
-    raise
-
-  logging.info('Benchmark result saved at %s.', new_bench_result_path)
-
-
-def test_bench(bench, setting_no, iterations, serials, remote, mode):
-  logging.info('Start running benchmark on device...')
-
-  # Run benchmark and tests on DUT
-  for i in xrange(iterations):
-    logging.info('Iteration No.%d:', i)
-    test_cmd = [
+    setting_cmd = [
         os.path.join(
             os.path.join(config.android_home, config.autotest_dir),
-            'site_utils/test_bench.py')
+            'site_utils/set_device.py')
     ]
-    test_cmd.append('-b=' + bench)
-    test_cmd.append('-r=' + remote)
-    test_cmd.append('-m=' + mode)
+    setting_cmd.append('-r=' + remote)
+    setting_cmd.append('-q=' + str(frequency))
 
     # Deal with serials.
     # If there is no serails specified, try to run test on the only device.
     # If specified, split the serials into a list and run test on each device.
     if serials:
-      for serial in serials.split(','):
-        test_cmd.append('-s=' + serial)
-
-        run_and_collect_result(test_cmd, setting_no, i, bench, serial)
-        test_cmd.pop()
+        for serial in serials.split(','):
+            setting_cmd.append('-s=' + serial)
+            check_call_with_log(setting_cmd, 'device_log')
+            setting_cmd.pop()
     else:
-      run_and_collect_result(test_cmd, setting_no, i, bench)
+        check_call_with_log(setting_cmd, 'device_log')
+
+    logging.info('CPU mode and frequency set successfully!')
+
+
+def log_ambiguous_args():
+    logging.error('The count of arguments does not match!')
+    raise ValueError('The count of arguments does not match.')
+
+
+# Check if the count of building arguments are log_ambiguous or not.  The
+# number of -c/-l, -f, and -os should be either all 0s or all the same.
+def check_count(compiler, llvm_version, build_os, cflags, ldflags):
+    # Count will be set to 0 if no compiler or llvm_version specified.
+    # Otherwise, one of these two args length should be 0 and count will be
+    # the other one.
+    count = max(len(compiler), len(llvm_version))
+
+    # Check if number of cflags is 0 or the same with before.
+    if len(cflags) != 0:
+        if count != 0 and len(cflags) != count:
+            log_ambiguous_args()
+        count = len(cflags)
+
+    if len(ldflags) != 0:
+        if count != 0 and len(ldflags) != count:
+            log_ambiguous_args()
+        count = len(ldflags)
+
+    if len(build_os) != 0:
+        if count != 0 and len(build_os) != count:
+            log_ambiguous_args()
+        count = len(build_os)
+
+    # If no settings are passed, only run default once.
+    return max(1, count)
+
+
+# Build benchmark binary with toolchain settings
+def build_bench(setting_no, bench, compiler, llvm_version, build_os, cflags,
+                ldflags):
+    # Build benchmark locally
+    build_cmd = ['./build_bench.py', '-b=' + bench]
+    if compiler:
+        build_cmd.append('-c=' + compiler[setting_no])
+    if llvm_version:
+        build_cmd.append('-l=' + llvm_version[setting_no])
+    if build_os:
+        build_cmd.append('-o=' + build_os[setting_no])
+    if cflags:
+        build_cmd.append('-f=' + cflags[setting_no])
+    if ldflags:
+        build_cmd.append('--ldflags=' + ldflags[setting_no])
+
+    logging.info('Building benchmark for toolchain setting No.%d...',
+                 setting_no)
+    logging.info('Command: %s', build_cmd)
+
+    try:
+        subprocess.check_call(build_cmd)
+    except:
+        logging.error('Error while building benchmark!')
+        raise
+
+
+def run_and_collect_result(test_cmd, setting_no, i, bench, serial='default'):
+
+    # Run autotest script for benchmark on DUT
+    check_call_with_log(test_cmd, 'test_log')
+
+    logging.info('Benchmark with setting No.%d, iter.%d finished testing on '
+                 'device %s.', setting_no, i, serial)
+
+    # Rename results from the bench_result generated in autotest
+    bench_result = os.path.join(config.bench_suite_dir, 'bench_result')
+    if not os.path.exists(bench_result):
+        logging.error('No result found at %s, '
+                      'please check test_log for details.', bench_result)
+        raise OSError('Result file %s not found.' % bench_result)
+
+    new_bench_result = 'bench_result_%s_%s_%d_%d' % (bench, serial,
+                                                     setting_no, i)
+    new_bench_result_path = os.path.join(config.bench_suite_dir,
+                                         new_bench_result)
+    try:
+        os.rename(bench_result, new_bench_result_path)
+    except OSError:
+        logging.error('Error while renaming raw result %s to %s',
+                      bench_result, new_bench_result_path)
+        raise
+
+    logging.info('Benchmark result saved at %s.', new_bench_result_path)
+
+
+def test_bench(bench, setting_no, iterations, serials, remote, mode):
+    logging.info('Start running benchmark on device...')
+
+    # Run benchmark and tests on DUT
+    for i in xrange(iterations):
+        logging.info('Iteration No.%d:', i)
+        test_cmd = [
+            os.path.join(
+                os.path.join(config.android_home, config.autotest_dir),
+                'site_utils/test_bench.py')
+        ]
+        test_cmd.append('-b=' + bench)
+        test_cmd.append('-r=' + remote)
+        test_cmd.append('-m=' + mode)
+
+        # Deal with serials. If there is no serails specified, try to run test
+        # on the only device. If specified, split the serials into a list and
+        # run test on each device.
+        if serials:
+            for serial in serials.split(','):
+                test_cmd.append('-s=' + serial)
+
+                run_and_collect_result(test_cmd, setting_no, i, bench, serial)
+                test_cmd.pop()
+        else:
+            run_and_collect_result(test_cmd, setting_no, i, bench)
 
 
 def gen_json(bench, setting_no, iterations, serials):
-  bench_result = os.path.join(config.bench_suite_dir, 'bench_result')
+    bench_result = os.path.join(config.bench_suite_dir, 'bench_result')
 
-  logging.info('Generating JSON file for Crosperf...')
+    logging.info('Generating JSON file for Crosperf...')
 
-  if not serials:
-    serials = 'default'
+    if not serials:
+        serials = 'default'
 
-  for serial in serials.split(','):
+    for serial in serials.split(','):
 
-    # Platform will be used as device lunch combo instead
-    #experiment = '_'.join([serial, str(setting_no)])
-    experiment = config.product_combo
+        # Platform will be used as device lunch combo instead
+        #experiment = '_'.join([serial, str(setting_no)])
+        experiment = config.product_combo
 
-    # Input format: bench_result_{bench}_{serial}_{setting_no}_
-    input_file = '_'.join([bench_result, bench, serial, str(setting_no), ''])
-    gen_json_cmd = [
-        './gen_json.py', '--input=' + input_file,
-        '--output=%s.json' % os.path.join(config.bench_suite_dir, bench),
-        '--bench=' + bench, '--platform=' + experiment,
-        '--iterations=' + str(iterations)
-    ]
+        # Input format: bench_result_{bench}_{serial}_{setting_no}_
+        input_file = '_'.join([bench_result, bench,
+                               serial, str(setting_no), ''])
+        gen_json_cmd = [
+            './gen_json.py', '--input=' + input_file,
+            '--output=%s.json' % os.path.join(config.bench_suite_dir, bench),
+            '--bench=' + bench, '--platform=' + experiment,
+            '--iterations=' + str(iterations)
+        ]
 
-    logging.info('Command: %s', gen_json_cmd)
-    if subprocess.call(gen_json_cmd):
-      logging.error('Error while generating JSON file, please check raw data'
-                    'of the results at %s.', input_file)
+        logging.info('Command: %s', gen_json_cmd)
+        if subprocess.call(gen_json_cmd):
+            logging.error('Error while generating JSON file, please check raw'
+                          ' data of the results at %s.', input_file)
 
 
 def gen_crosperf(infile, outfile):
-  # Set environment variable for crosperf
-  os.environ['PYTHONPATH'] = os.path.dirname(config.toolchain_utils)
+    # Set environment variable for crosperf
+    os.environ['PYTHONPATH'] = os.path.dirname(config.toolchain_utils)
 
-  logging.info('Generating Crosperf Report...')
-  crosperf_cmd = [
-      os.path.join(config.toolchain_utils, 'generate_report.py'),
-      '-i=' + infile, '-o=' + outfile, '-f'
-  ]
+    logging.info('Generating Crosperf Report...')
+    crosperf_cmd = [
+        os.path.join(config.toolchain_utils, 'generate_report.py'),
+        '-i=' + infile, '-o=' + outfile, '-f'
+    ]
 
-  # Run crosperf generate_report.py
-  logging.info('Command: %s', crosperf_cmd)
-  subprocess.call(crosperf_cmd)
+    # Run crosperf generate_report.py
+    logging.info('Command: %s', crosperf_cmd)
+    subprocess.call(crosperf_cmd)
 
-  logging.info('Report generated successfully!')
-  logging.info('Report Location: ' + outfile + '.html at bench'
-               'suite directory.')
+    logging.info('Report generated successfully!')
+    logging.info('Report Location: ' + outfile + '.html at bench'
+                 'suite directory.')
 
 
 def main(argv):
-  # Set environment variable for the local loacation of benchmark suite.
-  # This is for collecting testing results to benchmark suite directory.
-  os.environ['BENCH_SUITE_DIR'] = config.bench_suite_dir
+    # Set environment variable for the local loacation of benchmark suite.
+    # This is for collecting testing results to benchmark suite directory.
+    os.environ['BENCH_SUITE_DIR'] = config.bench_suite_dir
 
-  # Set Android type, used for the difference part between aosp and internal.
-  os.environ['ANDROID_TYPE'] = config.android_type
+    # Set Android type, used for the difference part between aosp and internal.
+    os.environ['ANDROID_TYPE'] = config.android_type
 
-  # Set ANDROID_HOME for both building and testing.
-  os.environ['ANDROID_HOME'] = config.android_home
+    # Set ANDROID_HOME for both building and testing.
+    os.environ['ANDROID_HOME'] = config.android_home
 
-  # Set environment variable for architecture, this will be used in
-  # autotest.
-  os.environ['PRODUCT'] = config.product
+    # Set environment variable for architecture, this will be used in
+    # autotest.
+    os.environ['PRODUCT'] = config.product
 
-  arguments = _parse_arguments(argv)
+    arguments = _parse_arguments(argv)
 
-  bench_list = arguments.bench
-  if not bench_list:
-    bench_list = config.bench_list
+    bench_list = arguments.bench
+    if not bench_list:
+        bench_list = config.bench_list
 
-  compiler = arguments.compiler_dir
-  build_os = arguments.build_os
-  llvm_version = arguments.llvm_prebuilts_version
-  cflags = arguments.cflags
-  ldflags = arguments.ldflags
-  iterations = arguments.iterations
-  serials = arguments.serials
-  remote = arguments.remote
-  frequency = arguments.frequency
-  mode = arguments.mode
-  keep = arguments.keep
+    compiler = arguments.compiler_dir
+    build_os = arguments.build_os
+    llvm_version = arguments.llvm_prebuilts_version
+    cflags = arguments.cflags
+    ldflags = arguments.ldflags
+    iterations = arguments.iterations
+    serials = arguments.serials
+    remote = arguments.remote
+    frequency = arguments.frequency
+    mode = arguments.mode
+    keep = arguments.keep
 
-  # Clear old logs every time before run script
-  clear_logs()
+    # Clear old logs every time before run script
+    clear_logs()
 
-  if keep == 'False':
-    clear_results()
+    if keep == 'False':
+        clear_results()
 
-  # Set test mode and frequency of CPU on the DUT
-  set_device(serials, remote, frequency)
+    # Set test mode and frequency of CPU on the DUT
+    set_device(serials, remote, frequency)
 
-  test = arguments.test
-  # if test configuration file has been given, use the build settings
-  # in the configuration file and run the test.
-  if test:
-    test_config = ConfigParser.ConfigParser(allow_no_value=True)
-    if not test_config.read(test):
-      logging.error('Error while reading from building '
-                    'configuration file %s.', test)
-      raise RuntimeError('Error while reading configuration file %s.' % test)
+    test = arguments.test
+    # if test configuration file has been given, use the build settings
+    # in the configuration file and run the test.
+    if test:
+        test_config = ConfigParser.ConfigParser(allow_no_value=True)
+        if not test_config.read(test):
+            logging.error('Error while reading from building '
+                          'configuration file %s.', test)
+            raise RuntimeError('Error while reading configuration file %s.'
+                               % test)
 
-    for setting_no, section in enumerate(test_config.sections()):
-      bench = test_config.get(section, 'bench')
-      compiler = [test_config.get(section, 'compiler')]
-      build_os = [test_config.get(section, 'build_os')]
-      llvm_version = [test_config.get(section, 'llvm_version')]
-      cflags = [test_config.get(section, 'cflags')]
-      ldflags = [test_config.get(section, 'ldflags')]
+        for setting_no, section in enumerate(test_config.sections()):
+            bench = test_config.get(section, 'bench')
+            compiler = [test_config.get(section, 'compiler')]
+            build_os = [test_config.get(section, 'build_os')]
+            llvm_version = [test_config.get(section, 'llvm_version')]
+            cflags = [test_config.get(section, 'cflags')]
+            ldflags = [test_config.get(section, 'ldflags')]
 
-      # Set iterations from test_config file, if not exist, use the one from
-      # command line.
-      it = test_config.get(section, 'iterations')
-      if not it:
-        it = iterations
-      it = int(it)
+            # Set iterations from test_config file, if not exist, use the one
+            # from command line.
+            it = test_config.get(section, 'iterations')
+            if not it:
+                it = iterations
+            it = int(it)
 
-      # Build benchmark for each single test configuration
-      build_bench(0, bench, compiler, llvm_version, build_os, cflags, ldflags)
+            # Build benchmark for each single test configuration
+            build_bench(0, bench, compiler, llvm_version,
+                        build_os, cflags, ldflags)
 
-      test_bench(bench, setting_no, it, serials, remote, mode)
+            test_bench(bench, setting_no, it, serials, remote, mode)
 
-      gen_json(bench, setting_no, it, serials)
+            gen_json(bench, setting_no, it, serials)
 
-    for bench in config.bench_list:
-      infile = os.path.join(config.bench_suite_dir, bench + '.json')
-      if os.path.exists(infile):
+        for bench in config.bench_list:
+            infile = os.path.join(config.bench_suite_dir, bench + '.json')
+            if os.path.exists(infile):
+                outfile = os.path.join(config.bench_suite_dir,
+                                       bench + '_report')
+                gen_crosperf(infile, outfile)
+
+        # Stop script if there is only config file provided
+        return 0
+
+    # If no configuration file specified, continue running.
+    # Check if the count of the setting arguments are log_ambiguous.
+    setting_count = check_count(compiler, llvm_version, build_os,
+                                cflags, ldflags)
+
+    for bench in bench_list:
+        logging.info('Start building and running benchmark: [%s]', bench)
+        # Run script for each toolchain settings
+        for setting_no in xrange(setting_count):
+            build_bench(setting_no, bench, compiler, llvm_version,
+                        build_os, cflags, ldflags)
+
+            # Run autotest script for benchmark test on device
+            test_bench(bench, setting_no, iterations, serials, remote, mode)
+
+            gen_json(bench, setting_no, iterations, serials)
+
+        infile = os.path.join(config.bench_suite_dir, bench + '.json')
         outfile = os.path.join(config.bench_suite_dir, bench + '_report')
         gen_crosperf(infile, outfile)
 
-    # Stop script if there is only config file provided
-    return 0
-
-  # If no configuration file specified, continue running.
-  # Check if the count of the setting arguments are log_ambiguous.
-  setting_count = check_count(compiler, llvm_version, build_os, cflags, ldflags)
-
-  for bench in bench_list:
-    logging.info('Start building and running benchmark: [%s]', bench)
-    # Run script for each toolchain settings
-    for setting_no in xrange(setting_count):
-      build_bench(setting_no, bench, compiler, llvm_version, build_os, cflags,
-                  ldflags)
-
-      # Run autotest script for benchmark test on device
-      test_bench(bench, setting_no, iterations, serials, remote, mode)
-
-      gen_json(bench, setting_no, iterations, serials)
-
-    infile = os.path.join(config.bench_suite_dir, bench + '.json')
-    outfile = os.path.join(config.bench_suite_dir, bench + '_report')
-    gen_crosperf(infile, outfile)
-
 
 if __name__ == '__main__':
-  main(sys.argv[1:])
+    main(sys.argv[1:])