Bobby R. Bruce has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/53343 )
Change subject: tests,ext: Log test time taken in TestLib verbose output
......................................................................
tests,ext: Log test time taken in TestLib verbose output
With this patch the user can obtain the time taken, in seconds, when
using the `-vv` flag.
Note: These are not _exact_ time measurements as they are taken through
the message handler (not directly when tests are stopped and started),
but they should be accurate enough for most purposes.
Change-Id: I57b92d6be1159f126182e12871ce2b700705617a
---
M ext/testlib/handlers.py
1 file changed, 31 insertions(+), 3 deletions(-)
diff --git a/ext/testlib/handlers.py b/ext/testlib/handlers.py
index fa7aea9..95ac32d 100644
--- a/ext/testlib/handlers.py
+++ b/ext/testlib/handlers.py
@@ -267,6 +267,10 @@
log.LibraryMessage.type_id: self.handle_librarymessage,
}
+ # A Dictionary for storing test start times, used to calculate the
+ # total execution time of a test. Key = test name; value = start
time.
+ self._start_time_dict = {}
+
def _display_outcome(self, name, outcome, reason=None):
print(self.color.Bold
+ SummaryHandler.colormap[outcome]
@@ -283,13 +287,21 @@
def handle_teststatus(self, record):
if record['status'] == state.Status.Running:
+ self._start_time_dict[record['metadata'].name] = time.time()
log.test_log.debug('Starting Test Case: %s' %\
record['metadata'].name)
def handle_testresult(self, record):
- self._display_outcome(
- 'Test: %s' % record['metadata'].name,
- record['result'].value)
+ name = record['metadata'].name
+ self._display_outcome('Test: %s' % name,record['result'].value)
+
+ if name in self._start_time_dict.keys():
+ time_taken = (
+ time.time() -
self._start_time_dict[record['metadata'].name]
+ )
+ log.test_log.debug(
+ f"Test {name} completed in {time_taken:.2f} seconds"
+ )
def handle_suitestatus(self, record):
if record['status'] == state.Status.Running:
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/53343
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I57b92d6be1159f126182e12871ce2b700705617a
Gerrit-Change-Number: 53343
Gerrit-PatchSet: 1
Gerrit-Owner: Bobby R. Bruce <bbr...@ucdavis.edu>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s