summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2016-01-22 16:41:38 +0100
committerGiampaolo Rodola <g.rodola@gmail.com>2016-01-22 16:41:38 +0100
commit7e8f4f490bcc4b19e4194e8ae75984207eb33426 (patch)
tree2eef8906ad0cbbde6100694ad353d5236d303b6e
parent70733eb799fc5b7bca949be55096508d948cb5ad (diff)
downloadpsutil-7e8f4f490bcc4b19e4194e8ae75984207eb33426.tar.gz
fix tests: +x bit was not set on exe test file
-rw-r--r--HISTORY.rst6
-rw-r--r--test/test_psutil.py20
2 files changed, 14 insertions, 12 deletions
diff --git a/HISTORY.rst b/HISTORY.rst
index cdbe95bf..206238f4 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -11,8 +11,10 @@ Bug tracker at https://github.com/giampaolo/psutil/issues
**Bug fixes**
-- #734: [Linux] process name() and exe() can fail on Python 3 if string
- contains non-UTF8 charaters. (patch by Frank Benkstein)
+- #734: [Linux] non unicode data not correctly handled in Python 3 for process
+ name() and exe().
+- #734: [OSX] non unicode data not correctly handled in Python 3 for process
+ cwd(), exe(), open_files().
3.4.2 - 2016-01-20
diff --git a/test/test_psutil.py b/test/test_psutil.py
index 84bccd6b..1bff2064 100644
--- a/test/test_psutil.py
+++ b/test/test_psutil.py
@@ -3282,13 +3282,17 @@ class TestNonUnicode(unittest.TestCase):
tearDown = setUp
+ def copy_file(self, src, dst):
+ # A wrapper around shutil.copy() which is broken on py < 3.4
+ # when passed bytes paths.
+ with open(src, 'rb') as input_:
+ with open(dst, 'wb') as output:
+ output.write(input_.read())
+ shutil.copymode(src, dst)
+
def test_proc_exe(self):
funny_executable = os.path.join(self.temp_directory, b"\xc0\x80")
- # This is broken on py 3.3, hence the manual copy
- # shutil.copy(self.test_executable, funny_executable)
- with open(self.test_executable, 'rb') as input:
- with open(funny_executable, 'wb') as output:
- output.write(input.read())
+ self.copy_file(self.test_executable, funny_executable)
self.addCleanup(safe_remove, funny_executable)
subp = get_test_subprocess(cmd=[decode_path(funny_executable)],
stdin=subprocess.PIPE,
@@ -3302,11 +3306,7 @@ class TestNonUnicode(unittest.TestCase):
def test_proc_name(self):
funny_executable = os.path.join(self.temp_directory, b"\xc0\x80")
- # This is broken on py 3.3, hence the manual copy
- # shutil.copy(self.test_executable, funny_executable)
- with open(self.test_executable, 'rb') as input:
- with open(funny_executable, 'wb') as output:
- output.write(input.read())
+ self.copy_file(self.test_executable, funny_executable)
self.addCleanup(safe_remove, funny_executable)
subp = get_test_subprocess(cmd=[decode_path(funny_executable)],
stdin=subprocess.PIPE,