From 4470c974115e3868d90b42fdfe6b7ab6cc0e6a9d Mon Sep 17 00:00:00 2001 From: ridethepig Date: Sun, 18 Jun 2023 19:02:23 +0800 Subject: [PATCH] add timer to test script --- scripts/mytester.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/scripts/mytester.py b/scripts/mytester.py index 5581259..e034098 100644 --- a/scripts/mytester.py +++ b/scripts/mytester.py @@ -2,6 +2,8 @@ import argparse import re import os import subprocess +import time +from functools import wraps from pretty_print import Print_C # "([1-4]\d|51).*\.sy" @@ -19,7 +21,15 @@ def case_collector(re_selector, dir): testcases.append(os.path.splitext(filename)[0]) return sorted(testcases) - +def func_timer(function): + @wraps(function) + def function_timer(*args, **kwargs): + t0 = time.time() + result = function(*args, **kwargs) + t1 = time.time() + print('[Time elapsed {time:.3f}s]'.format(time=t1 - t0)) + return result + return function_timer class Compiler: def __init__(self, scheme, target_dir, testcases): @@ -145,7 +155,7 @@ class Compiler: if self.count_error >= error_tolerance: Print_C.print_error(f"Test script stopped due to {self.count_error} errors") return - + @func_timer def run_case(self, testcase, kase=0): bin = self.bin_template.format(testcase=testcase) if not os.path.exists(bin):