def test_discrard_frist_repetitions(self): """Test discard_first_repetitions().""" ex = self.ex nreps = random.randint(2, 10) vals = [random.randint(1, 1000) for _ in range(nreps)] ex.call = Signature("name")() ex.nreps = nreps rawdata = [[0]] + [[val] for val in vals] + [[1]] report = Report(ex, rawdata) report2 = report.discard_first_repetitions() self.assertEqual(report2.experiment, ex) self.assertEqual(report2.rawdata, report.rawdata) self.assertEqual(len(report2.fulldata[None]), nreps - 1)
def load_report(filename, discard_first_repetitions=False): """Load a Report from a frile.""" def try_eval(expr, *args): try: return eval(expr, *args) except: return expr with open(filename) as fin: experiment = eval(fin.readline()) rawdata = [map(try_eval, line.split()) for line in fin.readlines()] report = Report(experiment, rawdata) if discard_first_repetitions: return report.discard_first_repetitions() errfile = "%s.%s" % (filename[:-4], error_extension) if os.path.isfile(errfile) and os.path.getsize(errfile): report.error = True return report