This patch adds get_remaining_time() method to NetTestSlave. It's used to make
a query from the controller to check if a command running in background has
timeouted.
Signed-off-by: Jan Tluka <jtluka(a)redhat.com>
---
lnst/Slave/NetTestSlave.py | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/lnst/Slave/NetTestSlave.py b/lnst/Slave/NetTestSlave.py
index 7819b82..15292b6 100644
--- a/lnst/Slave/NetTestSlave.py
+++ b/lnst/Slave/NetTestSlave.py
@@ -20,7 +20,7 @@ import socket
import dbus
import ctypes
import multiprocessing
-from time import sleep
+from time import sleep, time
from xmlrpclib import Binary
from tempfile import NamedTemporaryFile
from lnst.Common.Logs import log_exc_traceback
@@ -331,9 +331,26 @@ class SlaveMethods:
self._system_config = {}
return True
+ def get_remaining_time(self, bg_id):
+ cmd = self._command_context.get_cmd(bg_id)
+ if "timeout" in cmd._command:
+ cmd_timeout = cmd._command["timeout"]
+ else:
+ cmd_timeout = DEFAULT_TIMEOUT
+
+ start_time = cmd._start_time
+ current_time = time()
+
+ remaining = cmd_timeout - (current_time - start_time)
+ if remaining < 0:
+ remaining = 0
+
+ return int(remaining)
+
def run_command(self, command):
cmd = NetTestCommand(self._command_context, command,
self._resource_table, self._log_ctl)
+ cmd._start_time = time()
self._command_context.add_cmd(cmd)
res = cmd.run()
--
1.9.3