changed healthcheck printing

refactored printing removed wrong tests

Change-Id: I9b108ee87800bbce1830b1da22b0d1371b05a3d5
This commit is contained in:
Alexandr Notchenko 2013-11-06 16:25:21 +04:00
parent 8c5fa2bb46
commit 2171700e3c

View File

@ -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):