summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola' <g.rodola@gmail.com>2012-08-16 16:32:03 +0000
committerGiampaolo Rodola' <g.rodola@gmail.com>2012-08-16 16:32:03 +0000
commit27b87d4f2318ff58df49302394c6538f05371bb2 (patch)
treee7b24ac4dfa57e031bc9f4b7efabfc0e6763eefc
parent0b0479af46689c579b644d19bebb96583dd68c82 (diff)
downloadpsutil-release-0.6.1.tar.gz
Further fix to restore compatibility with python 2.4 and 3.2 on Windows.release-0.6.1
-rw-r--r--psutil/__init__.py2
-rw-r--r--psutil/_psutil_mswindows.c4
-rw-r--r--test/test_psutil.py17
3 files changed, 15 insertions, 8 deletions
diff --git a/psutil/__init__.py b/psutil/__init__.py
index b01c4534..d5d47615 100644
--- a/psutil/__init__.py
+++ b/psutil/__init__.py
@@ -48,7 +48,7 @@ except ImportError:
pwd = None
from psutil.error import Error, NoSuchProcess, AccessDenied, TimeoutExpired
-from psutil._compat import property, defaultdict
+from psutil._compat import property, callable, defaultdict
from psutil._common import cached_property
from psutil._common import (deprecated as _deprecated,
nt_disk_iostat as _nt_disk_iostat,
diff --git a/psutil/_psutil_mswindows.c b/psutil/_psutil_mswindows.c
index d113c6e0..4da96c89 100644
--- a/psutil/_psutil_mswindows.c
+++ b/psutil/_psutil_mswindows.c
@@ -2683,8 +2683,8 @@ get_process_memory_maps(PyObject* self, PyObject* args)
if (GetMappedFileNameA(hProcess, baseAddress, mappedFileName,
sizeof(mappedFileName)))
{
- py_tuple = Py_BuildValue("(nssI)",
- (ULONG_PTR)baseAddress,
+ py_tuple = Py_BuildValue("(kssI)",
+ (unsigned long)baseAddress,
get_region_protection_string(basicInfo.Protect),
mappedFileName,
basicInfo.RegionSize
diff --git a/test/test_psutil.py b/test/test_psutil.py
index 4022cc01..ba350420 100644
--- a/test/test_psutil.py
+++ b/test/test_psutil.py
@@ -67,10 +67,13 @@ def get_test_subprocess(cmd=None, stdout=DEVNULL, stderr=DEVNULL, stdin=None,
sproc = subprocess.Popen(cmd_, stdout=stdout, stderr=stderr, stdin=stdin)
if wait:
if cmd is None:
- while 1:
+ stop_at = time.time() + 3
+ while time.time() > stop_at:
if os.path.exists(TESTFN):
break
time.sleep(0.001)
+ else:
+ warn("couldn't make sure test file was actually created")
else:
wait_for_pid(sproc.pid)
_subprocesses_started.add(sproc.pid)
@@ -986,7 +989,7 @@ class TestCase(unittest.TestCase):
# "/usr/local/bin/python"
# We do not want to consider this difference in accuracy
# an error.
- ver = "%s.%s" % (sys.version_info.major, sys.version_info.minor)
+ ver = "%s.%s" % (sys.version_info[0], sys.version_info[1])
self.assertEqual(exe.replace(ver, ''), PYTHON.replace(ver, ''))
def test_cmdline(self):
@@ -1659,9 +1662,13 @@ class TestFetchAllProcesses(unittest.TestCase):
assert ret == ''
else:
assert os.path.isabs(ret), ret
- assert os.path.isfile(ret), ret
- if hasattr(os, 'access') and hasattr(os, "X_OK"):
- self.assertTrue(os.access(ret, os.X_OK))
+ # Note: os.stat() may return False even if the file is there
+ # hence we skip the test, see:
+ # http://stackoverflow.com/questions/3112546/os-path-exists-lies
+ if POSIX:
+ assert os.path.isfile(ret), ret
+ if hasattr(os, 'access') and hasattr(os, "X_OK"):
+ self.assertTrue(os.access(ret, os.X_OK))
def ppid(self, ret):
self.assertTrue(ret >= 0)