Skip to content
This repository was archived by the owner on Feb 2, 2024. It is now read-only.

Commit 54705e9

Browse files
PokhodenkoSAshssf
authored andcommitted
Improvements for benchmark results in CSV (#377)
* Small improvement in ResultsDriver.__init__() * Small improvements in ResultDrivers * Improve TestResult loading. Try all drivers for load prev results.
1 parent 050f2e5 commit 54705e9

1 file changed

Lines changed: 24 additions & 23 deletions

File tree

sdc/tests/tests_perf/test_perf_utils.py

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ class ResultsDriver:
200200

201201
def __init__(self, file_name, raw_file_name=None):
202202
self.file_name = file_name
203-
self.raw_file_name = raw_file_name if raw_file_name else f'raw_{file_name}'
203+
self.raw_file_name = raw_file_name or f'raw_{file_name}'
204204

205205

206206
class ExcelResultsDriver(ResultsDriver):
@@ -226,15 +226,16 @@ def dump_test_results_data(self, test_results_data, logger=None):
226226

227227
def load(self, logger=None):
228228
raw_perf_results_xlsx = Path(self.raw_file_name)
229-
if raw_perf_results_xlsx.exists():
230-
with raw_perf_results_xlsx.open('rb') as fd:
231-
# xlrd need to be installed
232-
try:
233-
return pandas.read_excel(fd)
234-
except ModuleNotFoundError as e:
235-
if logger:
236-
msg = 'Could not load previous results from %s: %s'
237-
logger.warning(msg, self.raw_file_name, e)
229+
if not raw_perf_results_xlsx.exists():
230+
return
231+
with raw_perf_results_xlsx.open('rb') as fd:
232+
# xlrd need to be installed
233+
try:
234+
return pandas.read_excel(fd)
235+
except ModuleNotFoundError as e:
236+
if logger:
237+
msg = 'Could not load previous results from %s: %s'
238+
logger.warning(msg, self.raw_file_name, e)
238239

239240

240241
class CSVResultsDriver(ResultsDriver):
@@ -247,15 +248,15 @@ def dump_test_results_data(self, test_results_data, logger=None):
247248

248249
def load(self, logger=None):
249250
raw_perf_results_csv = Path(self.raw_file_name)
250-
if raw_perf_results_csv.exists():
251-
with raw_perf_results_csv.open('rb') as fd:
252-
# xlrd need to be installed
253-
try:
254-
return pandas.read_csv(fd)
255-
except ModuleNotFoundError as e:
256-
if logger:
257-
msg = 'Could not load previous results from %s: %s'
258-
logger.warning(msg, self.raw_file_name, e)
251+
if not raw_perf_results_csv.exists():
252+
return
253+
with raw_perf_results_csv.open('rb') as fd:
254+
try:
255+
return pandas.read_csv(fd)
256+
except ModuleNotFoundError as e:
257+
if logger:
258+
msg = 'Could not load previous results from %s: %s'
259+
logger.warning(msg, self.raw_file_name, e)
259260

260261

261262
class TestResults:
@@ -265,7 +266,6 @@ class TestResults:
265266

266267
def __init__(self, drivers=None):
267268
self.drivers = drivers or []
268-
self.default_driver = drivers[0] if drivers else None
269269

270270
@property
271271
def grouped_data(self):
@@ -345,10 +345,11 @@ def load(self):
345345
"""
346346
Load existing performance testing results from excel to global data storage
347347
"""
348-
if self.default_driver:
349-
test_results_data = self.default_driver.load(self.logger)
350-
if test_results_data is not None:
348+
for d in self.drivers:
349+
test_results_data = d.load(self.logger)
350+
if test_results_data:
351351
self.test_results_data = test_results_data
352+
break
352353

353354

354355
class TestResultsStr(TestResults):

0 commit comments

Comments
 (0)