comparison tests/run-tests.py @ 22486:f166e08ece3b

run-tests: added 'cuser', 'csys' time info in report.json file This patch adds up a 'cuser' and 'csys'(cputime) info in report.json file which generated when --json is enabled while testing. Now the new format of report.json file is as below. testreport ={ "test-success.t": { "csys": "1.041", "cuser": "1.041", "result": "success", "time": "2.041" } "test-failure.t": { "csys": "1.041", "cuser": "1.041", "result": "failure", "time": "4.430" } "test-skip.t": { "csys": "1.041", "cuser": "1.041", "result": "skip", "time": "3.754" } }
author anuraggoel <anurag.dsps@gmail.com>
date Fri, 19 Sep 2014 07:23:10 +0530
parents c42e69268f5b
children 9a20f53e436f
comparison
equal deleted inserted replaced
22485:efedda4aed49 22486:f166e08ece3b
1435 jsonpath = os.path.join(self._runner._testdir, 'report.json') 1435 jsonpath = os.path.join(self._runner._testdir, 'report.json')
1436 fp = open(jsonpath, 'w') 1436 fp = open(jsonpath, 'w')
1437 try: 1437 try:
1438 timesd = {} 1438 timesd = {}
1439 for test, cuser, csys, real in result.times: 1439 for test, cuser, csys, real in result.times:
1440 timesd[test] = real 1440 timesd[test] = (real, cuser, csys)
1441 1441
1442 outcome = {} 1442 outcome = {}
1443 for tc in result.successes: 1443 for tc in result.successes:
1444 testresult = {'result': 'success', 1444 testresult = {'result': 'success',
1445 'time': ('%0.3f' % timesd[tc.name])} 1445 'time': ('%0.3f' % timesd[tc.name][0]),
1446 'cuser': ('%0.3f' % timesd[tc.name][1]),
1447 'csys': ('%0.3f' % timesd[tc.name][2])}
1446 outcome[tc.name] = testresult 1448 outcome[tc.name] = testresult
1447 1449
1448 for tc, err in sorted(result.faildata.iteritems()): 1450 for tc, err in sorted(result.faildata.iteritems()):
1449 testresult = {'result': 'failure', 1451 testresult = {'result': 'failure',
1450 'time': ('%0.3f' % timesd[tc])} 1452 'time': ('%0.3f' % timesd[tc][0]),
1453 'cuser': ('%0.3f' % timesd[tc][1]),
1454 'csys': ('%0.3f' % timesd[tc][2])}
1451 outcome[tc] = testresult 1455 outcome[tc] = testresult
1452 1456
1453 for tc, reason in result.skipped: 1457 for tc, reason in result.skipped:
1454 testresult = {'result': 'skip', 1458 testresult = {'result': 'skip',
1455 'time': ('%0.3f' % timesd[tc.name])} 1459 'time': ('%0.3f' % timesd[tc.name][0]),
1460 'cuser': ('%0.3f' % timesd[tc.name][1]),
1461 'csys': ('%0.3f' % timesd[tc.name][2])}
1456 outcome[tc.name] = testresult 1462 outcome[tc.name] = testresult
1457 1463
1458 jsonout = json.dumps(outcome, sort_keys=True, indent=4) 1464 jsonout = json.dumps(outcome, sort_keys=True, indent=4)
1459 fp.writelines(("testreport =", jsonout)) 1465 fp.writelines(("testreport =", jsonout))
1460 finally: 1466 finally: