diff --git a/scripts/mr_unit.py b/scripts/mr_unit.py index 79964984d7e7..0fe317f049d5 100644 --- a/scripts/mr_unit.py +++ b/scripts/mr_unit.py @@ -2,23 +2,30 @@ import csv import MySQLdb import traceback +import os.path def add_perf_results_to_mr_unit(args): mr_unit = MySQLdb.connect(host='mr-0x8', user='root', passwd=args[1], db='mr_unit') mr_unit.autocommit(False) cursor = mr_unit.cursor() try: - for row in csv.reader(file(os.path.join(args[2], "perf.csv"))): - row = [r.strip() for r in row] - row[3] = row[3].split("/")[-1] - cursor.execute('INSERT INTO perf(date, build_id, git_hash, git_branch, machine_ip, test_name, start_time, ' - 'end_time, pass, ncpu, os, job_name) VALUES("{0}", "{1}", "{2}", "{3}", "{4}", "{5}", "{6}"' - ', "{7}", "{8}", "{9}", "{10}", "{11}")'.format(*row)) - mr_unit.commit() + perf_csv_name = os.path.join(args[2], "perf.csv") + if os.path.isfile(perf_csv_name): + for row in csv.reader(file(perf_csv_name)): + row = [r.strip() for r in row] + row[3] = row[3].split("/")[-1] + cursor.execute('INSERT INTO perf(date, build_id, git_hash, git_branch, machine_ip, test_name, ' + 'start_time, end_time, pass, ncpu, os, job_name) VALUES("{0}", "{1}", "{2}", "{3}", ' + '"{4}", "{5}", "{6}", "{7}", "{8}", "{9}", "{10}", "{11}")'.format(*row)) + mr_unit.commit() + else: + print "perf.csv does not exist in {0}, so mr_unit.py has nothing to do here. Maybe run.py failed before " \ + "it created this file".format(perf_csv_name) except: traceback.print_exc() mr_unit.rollback() - assert False, "Failed to add performance results to mr_unit!" + print "Failed to add performance results to perf table in mr_unit database!" + raise if __name__ == '__main__': add_perf_results_to_mr_unit(sys.argv) \ No newline at end of file