19
19
from gettext import gettext as _
21
from checkbox.job import Job, UNINITIATED
21
from checkbox.job import UNINITIATED
22
22
from checkbox.plugin import Plugin
36
36
command = test.get("command")
37
37
status = test.get("status", UNINITIATED)
38
38
if command and status == UNINITIATED:
39
job = Job(command, test.get("environ"),
40
test.get("timeout"), test.get("user"))
41
(status, data, duration) = interface.show_progress(
42
_("Running shell tests..."), job.execute)
44
test["duration"] = duration
45
test["status"] = status
39
# Register temporary handler for message-result events
40
def message_result(status, data, duration):
41
test["status"] = status
43
test["duration"] = duration
45
# Don't fire any other message result
46
self._manager.reactor.stop()
48
event_id = self._manager.reactor.call_on("message-result", message_result, -100)
50
interface.show_progress(
51
_("Running %s..." % test["name"]), self._manager.reactor.fire,
54
self._manager.reactor.cancel_call(event_id)
56
self._manager.reactor.fire("prompt-test", interface, test)
47
58
def report_shell(self, test):
48
59
self._manager.reactor.fire("report-test", test)