Drop six
[functest-xtesting.git] / xtesting / core / feature.py
index 2730179..f92858b 100644 (file)
@@ -20,15 +20,13 @@ import subprocess
 import sys
 import time
 
-import six
 from xtesting.core import testcase
 
 __author__ = ("Serena Feng <feng.xiaowei@zte.com.cn>, "
               "Cedric Ollivier <cedric.ollivier@orange.com>")
 
 
-@six.add_metaclass(abc.ABCMeta)
-class Feature(testcase.TestCase):
+class Feature(testcase.TestCase, metaclass=abc.ABCMeta):
     """Base model for single feature."""
 
     __logger = logging.getLogger(__name__)
@@ -88,7 +86,6 @@ class BashFeature(Feature):
 
     def __init__(self, **kwargs):
         super(BashFeature, self).__init__(**kwargs)
-        self.res_dir = "/var/lib/xtesting/results/{}".format(self.case_name)
         self.result_file = "{}/{}.log".format(self.res_dir, self.case_name)
 
     def execute(self, **kwargs):
@@ -111,10 +108,10 @@ class BashFeature(Feature):
                 process = subprocess.Popen(
                     cmd, shell=True, stdout=subprocess.PIPE,
                     stderr=subprocess.STDOUT)
-                for line in iter(process.stdout.readline, ''):
+                for line in iter(process.stdout.readline, b''):
                     if console:
-                        sys.stdout.write(line)
-                    f_stdout.write(line)
+                        sys.stdout.write(line.decode("utf-8"))
+                    f_stdout.write(line.decode("utf-8"))
                 process.wait()
             with open(self.result_file, 'r') as f_stdin:
                 self.__logger.debug("$ %s\n%s", cmd, f_stdin.read().rstrip())