def run_test(self, settings, output_path, print_datafile_loc=False): settings = settings.copy() settings.load_test() res = resultset.new(settings) record_metadata(res, settings.EXTENDED_METADATA, settings.REMOTE_METADATA) if not settings.HOSTS: raise RuntimeError("Must specify host (-H option).") logger.info("Starting %s test. Expected run time: %d seconds.", settings.NAME, settings.TOTAL_LENGTH) self.agg = aggregators.new(settings) res = self.agg.postprocess(self.agg.aggregate(res)) if self.killed: return record_postrun_metadata(res, settings.EXTENDED_METADATA, settings.REMOTE_METADATA) res.dump_dir(output_path) logger.log(loggers.INFO if print_datafile_loc else loggers.DEBUG, "Data file written to %s.", res.dump_filename) formatter = formatters.new(settings) formatter.format([res]) self.tests_run += 1
def load_input(self, settings): settings = settings.copy() results = [] test_name = None for i, filename in enumerate(settings.INPUT): r = resultset.load(filename, settings.ABSOLUTE_TIME) if test_name is not None and test_name != r.meta("NAME") and \ not settings.GUI: logger.warning( "Result sets are not from the same " "test (found %s/%s).", test_name, r.meta("NAME")) test_name = r.meta("NAME") if results and settings.CONCATENATE: results[0].concatenate(r) else: if len(settings.OVERRIDE_LABELS) > i: r.set_label(settings.OVERRIDE_LABELS[i]) results.append(r) settings.update(results[0].meta()) settings.load_test(informational=True) # Look for missing data series, and if they are computed from other # values, try to compute them. for res in results: settings.compute_missing_results(res) formatter = formatters.new(settings) formatter.format(results)
def load_input(self, settings): settings = settings.copy() results = [] test_name = None for filename in settings.INPUT: r = resultset.load(filename, settings.ABSOLUTE_TIME) if test_name is not None and test_name != r.meta( "NAME") and not settings.GUI: raise RuntimeError( "Result sets must be from same test (found %s/%s)" % (test_name, r.meta("NAME"))) test_name = r.meta("NAME") if results and settings.CONCATENATE: results[0].concatenate(r) else: results.append(r) if settings.GUI: load_gui(settings) settings.update(results[0].meta()) settings.load_test(informational=True) # Look for missing data series, and if they are computed from other # values, try to compute them. for res in results: settings.compute_missing_results(res) formatter = formatters.new(settings) formatter.format(results)
def runTest(self): r = resultset.load(self.filename) self.settings.update(r.meta()) self.settings.load_test(informational=True) self.settings.compute_missing_results(r) self.settings.FORMAT = 'plot' for p in self.settings.PLOTS.keys(): try: self.settings.PLOT = p self.settings.OUTPUT = os.path.join( self.output_dir, "%s.%s" % (p, self.fmt)) formatter = formatters.new(self.settings) formatter.format([r]) res, plen = formatter.verify() if not res and p not in PLOTS_MAY_FAIL: raise self.failureException( "Verification of plot '%s' failed: %s" % (p, plen)) except self.failureException: raise except Exception as e: tb = traceback.format_exc() new_exc = Exception("Error creating plot '%s'" % p) new_exc.orig_tb = tb raise new_exc
def load_input(self, settings): settings = settings.copy() results = [] test_name = None for i, filename in enumerate(settings.INPUT): r = resultset.load(filename, settings.ABSOLUTE_TIME) if test_name is not None and test_name != r.meta("NAME") and \ not settings.GUI: logger.warning("Result sets are not from the same " "test (found %s/%s).", test_name, r.meta("NAME")) test_name = r.meta("NAME") if results and settings.CONCATENATE: results[0].concatenate(r) else: if len(settings.OVERRIDE_LABELS) > i: r.set_label(settings.OVERRIDE_LABELS[i]) results.append(r) settings.update(results[0].meta()) settings.load_test(informational=True) # Look for missing data series, and if they are computed from other # values, try to compute them. for res in results: settings.compute_missing_results(res) formatter = formatters.new(settings) formatter.format(results)
def run_test(self, settings, output_path, print_datafile_loc=False): settings = settings.copy() settings.load_test() res = resultset.new(settings) if settings.LOG_FILE is _LOG_DEFER: settings.LOG_FILE = res.dump_filename.replace(res.SUFFIX, ".log") loggers.setup_logfile(settings.LOG_FILE) record_metadata(res, settings.EXTENDED_METADATA, settings.REMOTE_METADATA) if not settings.HOSTS: raise RuntimeError("Must specify host (-H option).") logger.info("Starting %s test. Expected run time: %d seconds.", settings.NAME, settings.TOTAL_LENGTH) self.agg = aggregators.new(settings) res = self.agg.postprocess(self.agg.aggregate(res)) if self.killed: return record_postrun_metadata(res, settings.EXTENDED_METADATA, settings.REMOTE_METADATA) res.dump_dir(output_path) logger.log(loggers.INFO if print_datafile_loc else loggers.DEBUG, "Data file written to %s.", res.dump_filename) formatter = formatters.new(settings) formatter.format([res]) self.tests_run += 1
def load_input(self, settings): settings = settings.copy() results = [] test_name = None for filename in settings.INPUT: r = resultset.load(filename, settings.ABSOLUTE_TIME) if test_name is not None and test_name != r.meta("NAME") and not settings.GUI: sys.stderr.write("Warning: result sets are not from the same test (found %s/%s).\n" % (test_name, r.meta("NAME"))) test_name = r.meta("NAME") if results and settings.CONCATENATE: results[0].concatenate(r) else: results.append(r) if settings.GUI: load_gui(settings) settings.update(results[0].meta()) settings.load_test(informational=True) # Look for missing data series, and if they are computed from other # values, try to compute them. for res in results: settings.compute_missing_results(res) formatter = formatters.new(settings) formatter.format(results)
def runTest(self): r = resultset.load(self.filename) self.settings.update(r.meta()) self.settings.load_test(informational=True) self.settings.compute_missing_results(r) self.settings.FORMAT = 'metadata' for f in TEST_FORMATTERS: try: self.settings.FORMAT = f self.settings.OUTPUT = os.path.join(self.output_dir, "%s.txt" % f) formatter = formatters.new(self.settings) formatter.format([r]) res, _ = formatter.verify() if not res: raise self.failureException( "Verification of formatter '%s' failed" % f) except self.failureException: raise except Exception: tb = traceback.format_exc() new_exc = Exception("Error creating formatter '%s'" % f) new_exc.orig_tb = tb raise new_exc
def runTest(self): r = resultset.load(self.filename) self.settings.update(r.meta()) self.settings.load_test(informational=True) self.settings.compute_missing_results(r) self.settings.FORMAT='plot' for p in self.settings.PLOTS.keys(): self.settings.PLOT = p self.settings.OUTPUT = os.path.join(self.output_dir, "%s.%s" % (p,self.fmt)) formatter = formatters.new(self.settings) formatter.format([r])
def runTest(self): r = resultset.load(self.filename) self.settings.update(r.meta()) self.settings.load_test(informational=True) self.settings.compute_missing_results(r) self.settings.FORMAT = 'plot' for p in self.settings.PLOTS.keys(): self.settings.PLOT = p self.settings.OUTPUT = os.path.join(self.output_dir, "%s.%s" % (p, self.fmt)) formatter = formatters.new(self.settings) formatter.format([r])
def runTest(self): r = resultset.load(self.filename) self.settings.update(r.meta()) self.settings.load_test(informational=True) self.settings.compute_missing_results(r) self.settings.FORMAT = 'plot' for p in self.settings.PLOTS.keys(): try: self.settings.PLOT = p self.settings.OUTPUT = os.path.join( self.output_dir, "%s.%s" % (p, self.fmt)) formatter = formatters.new(self.settings) formatter.format([r]) if not formatter.verify() and p not in PLOTS_MAY_FAIL: raise self.failureException( "Verification of plot '%s' failed" % p) except self.failureException: raise except Exception as e: tb = traceback.format_exc() new_exc = Exception("Error creating plot '%s'" % p) new_exc.orig_tb = tb raise new_exc
def run_test(self, settings, output_path, print_datafile_loc=False): settings = settings.copy() settings.load_test() res = resultset.new(settings) if settings.EXTENDED_METADATA: record_extended_metadata(res, settings.REMOTE_METADATA) if not settings.HOSTS: raise RuntimeError("Must specify host (-H option).") self.agg = aggregators.new(settings) res = self.agg.postprocess(self.agg.aggregate(res)) if self.killed: return if settings.EXTENDED_METADATA: record_postrun_metadata(res, settings.REMOTE_METADATA) res.dump_dir(output_path) if print_datafile_loc: sys.stderr.write("Data file written to %s.\n" % res.dump_file) formatter = formatters.new(settings) formatter.format([res]) self.tests_run += 1
def run_test(self, settings, output_path, print_datafile_loc=False): settings = settings.copy() settings.load_test() res = resultset.new(settings) if settings.EXTENDED_METADATA: record_extended_metadata(res, settings.REMOTE_METADATA) if not settings.HOSTS: raise RuntimeError("Must specify host (-H option).") self.agg = aggregators.new(settings) res = self.agg.postprocess(self.agg.aggregate(res)) if self.killed: return if settings.EXTENDED_METADATA: record_postrun_metadata(res, settings.REMOTE_METADATA) res.dump_dir(output_path) if print_datafile_loc: sys.stderr.write("Data file written to %s.\n" % res.dump_filename) formatter = formatters.new(settings) formatter.format([res]) self.tests_run += 1