Hi Iwase-san,

On Mon,  5 Dec 2016 11:07:23 +0900
IWASE Yusuke <iwase.yusu...@gmail.com> wrote:

> Signed-off-by: IWASE Yusuke <iwase.yusu...@gmail.com>
> ---
>  ryu/tests/integrated/common/docker_base.py | 179 
> ++++++++++++++---------------
>  ryu/tests/integrated/common/quagga.py      |  19 +--
>  ryu/tests/integrated/common/ryubgp.py      |  15 +--
>  3 files changed, 103 insertions(+), 110 deletions(-)
> 

cut some lines

>  class Command(object):
> @@ -107,39 +115,27 @@ class Command(object):
>                                 stdout=p_stdout,
>                                 stderr=p_stderr)
>          __stdout, __stderr = pop.communicate()
> -        try:
> -            if six.PY3 and isinstance(__stdout, six.binary_type):
> -                _stdout = __stdout.decode('ascii')
> -            else:
> -                _stdout = __stdout
> -            if six.PY3 and isinstance(__stderr, six.binary_type):
> -                _stderr = __stderr.decode('ascii')
> -            else:
> -                _stderr = __stderr
> -        except UnicodeError:
> -            _stdout = __stdout
> -            _stderr = __stderr
> -        out = CommandOut(_stdout if _stdout else "")
> -        out.stderr = _stderr if _stderr else ""
> -        out.command = cmd
> -        out.returncode = pop.returncode
> +        _stdout = six.text_type(__stdout, 'utf-8')
> +        _stderr = six.text_type(__stderr, 'utf-8')

If result of command is bynary data, UnicodeError will be raised.
Will you want it?

Thanks,
kakuma

> +        out = CommandOut(_stdout, _stderr, cmd, pop.returncode)
>          return out
>  
>      def execute(self, cmd, capture=True, try_times=1, interval=1):
> +        out = None
>          for i in range(try_times):
>              out = self._execute(cmd, capture=capture)
>              LOG.info(out.command)
>              if out.returncode == 0:
>                  return out
> -            LOG.error("stdout: %s" % out)
> -            LOG.error("stderr: %s" % out.stderr)
> +            LOG.error("stdout: %s", out)
> +            LOG.error("stderr: %s", out.stderr)
>              if i + 1 >= try_times:
>                  break
>              time.sleep(interval)
>          raise CommandError(out)
>  
>      def sudo(self, cmd, capture=True, try_times=1, interval=1):
> -        cmd = 'sudo ' + cmd
> +        cmd = 'sudo %s' % cmd
>          return self.execute(cmd, capture=capture,
>                              try_times=try_times, interval=interval)
>  

-- 
fumihiko kakuma <kak...@valinux.co.jp>


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to