changed healthcheck printing
refactored printing removed wrong tests Change-Id: I9b108ee87800bbce1830b1da22b0d1371b05a3d5
This commit is contained in:
parent
8c5fa2bb46
commit
2171700e3c
@ -959,7 +959,10 @@ def healthcheck(params):
|
||||
test_sets = json_ostf_get_request(
|
||||
'testsets/{0}'.format(params.env)
|
||||
)
|
||||
if params.check:
|
||||
if params.list:
|
||||
print_to_output(test_sets, format_table(test_sets))
|
||||
else:
|
||||
params.check = params.check or set(ts["id"] for ts in test_sets)
|
||||
tests_data = map(
|
||||
lambda testset: {
|
||||
"testset": testset,
|
||||
@ -978,43 +981,51 @@ def healthcheck(params):
|
||||
"testruns/last/{0}".format(params.env)
|
||||
)
|
||||
print_to_output(tests_state, params, print_method=print_health_check)
|
||||
else:
|
||||
print_to_output(test_sets, format_table(test_sets))
|
||||
|
||||
|
||||
def print_health_check(params):
|
||||
acceptable_keys = ["status", "taken", "step", "testset",
|
||||
"name", "duration", "message"]
|
||||
stdscr = curses.initscr()
|
||||
curses.noecho()
|
||||
curses.cbreak()
|
||||
tests_states = [{"status": "not finished"}]
|
||||
try:
|
||||
while not all(map(
|
||||
lambda t: t["status"] == "finished",
|
||||
finished_tests = set()
|
||||
test_counter, total_tests_count = 1, None
|
||||
while not all(map(
|
||||
lambda t: t["status"] == "finished",
|
||||
tests_states
|
||||
)):
|
||||
tests_states = json_ostf_get_request(
|
||||
"testruns/last/{0}".format(params.env)
|
||||
)
|
||||
all_tests = list(chain(*map(
|
||||
itemgetter("tests"),
|
||||
filter(
|
||||
lambda x: x["testset"] in params.check,
|
||||
tests_states
|
||||
)):
|
||||
tests_states = json_ostf_get_request(
|
||||
"testruns/last/{0}".format(params.env)
|
||||
))))
|
||||
if total_tests_count is None:
|
||||
total_tests_count = len(all_tests)
|
||||
all_finished_tests = filter(
|
||||
lambda t: "running" not in t["status"],
|
||||
all_tests
|
||||
)
|
||||
new_finished_tests = filter(
|
||||
lambda t: t["name"] not in finished_tests,
|
||||
all_finished_tests
|
||||
)
|
||||
finished_tests.update(
|
||||
map(
|
||||
itemgetter("name"),
|
||||
new_finished_tests
|
||||
)
|
||||
all_tests = chain(
|
||||
*map(
|
||||
itemgetter("tests"),
|
||||
filter(
|
||||
lambda x: x["testset"] in params.check,
|
||||
tests_states
|
||||
)
|
||||
)
|
||||
for test in new_finished_tests:
|
||||
print(
|
||||
"[{0:2} of {1}] [{status}] '{name}' ({taken:.4} s) {message}".format(
|
||||
test_counter,
|
||||
total_tests_count,
|
||||
**test
|
||||
)
|
||||
)
|
||||
ft = format_table(all_tests, acceptable_keys=acceptable_keys)
|
||||
try:
|
||||
stdscr.addstr(0, 0, ft)
|
||||
except curses.error:
|
||||
pass
|
||||
sleep(1)
|
||||
stdscr.refresh()
|
||||
finally:
|
||||
close_curses()
|
||||
test_counter += 1
|
||||
sleep(1)
|
||||
|
||||
|
||||
def prepare_path(path):
|
||||
|
Loading…
Reference in New Issue
Block a user