Due to pagination feature introduced in test API, reporting pages
only considered the first page of results retrieved by the API
the number of pages is now detected to aggregate the results
JIRA: RELENG-259
Change-Id: I0ac90b125baf8c16341c8db22f5602fedd4cdf1b
Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
scenario_results = rp_utils.getScenarios(healthcheck,
installer,
version)
scenario_results = rp_utils.getScenarios(healthcheck,
installer,
version)
# get nb of supported architecture (x86, aarch64)
architectures = rp_utils.getArchitectures(scenario_results)
logger.info("Supported architectures: {}".format(architectures))
# get nb of supported architecture (x86, aarch64)
architectures = rp_utils.getArchitectures(scenario_results)
logger.info("Supported architectures: {}".format(architectures))
url = ("http://" + url_base + "?case=" + case +
"&period=" + str(period) + "&installer=" + installer +
"&version=" + version)
url = ("http://" + url_base + "?case=" + case +
"&period=" + str(period) + "&installer=" + installer +
"&version=" + version)
response = urlopen(request)
k = response.read()
results = json.loads(k)
test_results = results['results']
response = urlopen(request)
k = response.read()
results = json.loads(k)
test_results = results['results']
- except URLError as e:
- print('Got an error code:', e)
+
+ page = results['pagination']['total_pages']
+ if page > 1:
+ test_results = []
+ for i in range(1, page + 1):
+ url_page = url + "&page=" + str(i)
+ request = Request(url_page)
+ response = urlopen(request)
+ k = response.read()
+ results = json.loads(k)
+ test_results += results['results']
+ except URLError as err:
+ print('Got an error code:', err)
if test_results is not None:
test_results.reverse()
if test_results is not None:
test_results.reverse()
scenario_results = {}
for r in test_results:
scenario_results = {}
for r in test_results:
-# TODO convergence with above function getScenarios
def getScenarioStatus(installer, version):
period = get_config('general.period')
url_base = get_config('testapi.url')
def getScenarioStatus(installer, version):
period = get_config('general.period')
url_base = get_config('testapi.url')
k = response.read()
response.close()
results = json.loads(k)['results']
k = response.read()
response.close()
results = json.loads(k)['results']
- except URLError as e:
- print('Got an error code:', e)
+ except URLError as err:
+ print('Got an error code:', err)
result_dict = {}
if results:
result_dict = {}
if results:
"/functest/scenario_history_" +
installer + ".csv")
scenario_installer_file = open(scenario_installer_file_name, "a")
"/functest/scenario_history_" +
installer + ".csv")
scenario_installer_file = open(scenario_installer_file_name, "a")
- with open(scenario_file_name, "r") as f:
+ with open(scenario_file_name, "r") as scenario_file:
scenario_installer_file.write("date,scenario,installer,detail,score\n")
scenario_installer_file.write("date,scenario,installer,detail,score\n")
+ for line in scenario_file:
if installer in line:
scenario_installer_file.write(line)
scenario_installer_file.close
if installer in line:
scenario_installer_file.write(line)
scenario_installer_file.close