Home | History | Annotate | Download | only in test
      1 #!/usr/bin/python
      2 """Reexecute parser in scenario and store the result at specified tag.
      3 """
      4 
      5 import optparse, sys
      6 from os import path
      7 import common
      8 from autotest_lib.tko.parsers.test import scenario_base
      9 
     10 usage = 'usage: %prog [options] scenario_dirpath parser_result_tag'
     11 parser = optparse.OptionParser(usage=usage)
     12 
     13 
     14 def main():
     15     (options, args) = parser.parse_args()
     16     if len(args) < 2:
     17         parser.print_help()
     18         sys.exit(1)
     19 
     20     scenario_dirpath = path.normpath(args[0])
     21     parser_result_tag = args[1]
     22 
     23     if not path.exists(scenario_dirpath) or not path.isdir(scenario_dirpath):
     24         print 'Invalid scenarios_dirpath:', scenario_dirpath
     25         parser.print_help()
     26         sys.exit(1)
     27 
     28     tempdir, results_dirpath = scenario_base.load_results_dir(scenario_dirpath)
     29     harness = scenario_base.new_parser_harness(results_dirpath)
     30     try:
     31         parser_result = harness.execute()
     32     except Exception, e:
     33         parser_result = e
     34     scenario_base.store_parser_result(
     35         scenario_dirpath, parser_result, parser_result_tag)
     36     tempdir.clean()
     37 
     38 
     39 if __name__ == '__main__':
     40     main()
     41