diff options
| author | Giampaolo Rodola' <g.rodola@gmail.com> | 2012-08-16 16:32:03 +0000 |
|---|---|---|
| committer | Giampaolo Rodola' <g.rodola@gmail.com> | 2012-08-16 16:32:03 +0000 |
| commit | 27b87d4f2318ff58df49302394c6538f05371bb2 (patch) | |
| tree | e7b24ac4dfa57e031bc9f4b7efabfc0e6763eefc | |
| parent | 0b0479af46689c579b644d19bebb96583dd68c82 (diff) | |
| download | psutil-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__.py | 2 | ||||
| -rw-r--r-- | psutil/_psutil_mswindows.c | 4 | ||||
| -rw-r--r-- | test/test_psutil.py | 17 |
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) |
