Exemple #1
0
 def test_lcall():
     """
     lcall()
     """
     log = logging.getLogger()
     ret = lcall(["ls"], log)
     assert ret == 0
     ret = lcall(["sleep", "2"], log, timeout=0.1)
     assert ret == -15
Exemple #2
0
 def lcall(self, *args, **kwargs):
     """
     Wrap lcall, setting the resource logger
     """
     if self.log_outputs:
         kwargs["logger"] = self.log
     else:
         kwargs["logger"] = None
     return lcall(*args, **kwargs)
Exemple #3
0
 def _run_cmd_dedicated_log(self, action, cmd):
     """
     Poll stdout and stderr to log as soon as new lines are available.
     """
     now = datetime.now()
     for lim, val in self.limits.items():
         self.log.info("set limit %s = %s", lim, val)
     kwargs = {
         'timeout': self.get_timeout(action),
         'logger': self.log,
     }
     try:
         kwargs.update(self.common_popen_kwargs(cmd))
     except ValueError as exc:
         self.log.error("%s", exc)
         return 1
     user = kwargs.get("env").get("LOGNAME")
     if isinstance(cmd, list):
         cmd_s = ' '.join(cmd)
     else:
         cmd_s = cmd
     self.log.info('exec %s as user %s', cmd_s, user)
     try:
         ret = lcall(cmd, **kwargs)
     except (KeyboardInterrupt, ex.Signal):
         _len = datetime.now() - now
         self.log.info('%s interrupted after %s - ret %d',
                        action, _len, 1)
         return 0
     _len = datetime.now() - now
     msg = '%s done in %s - ret %d' % (action, _len, ret)
     if ret == 0:
         self.log.info(msg)
     else:
         self.log.error(msg)
     return ret
Exemple #4
0
 def lcall(self, *args, **kwargs):
     """
     Wrap lcall, setting the resource logger
     """
     kwargs["logger"] = self.log
     return lcall(*args, **kwargs)