[pypy-svn] r57997 - in pypy/branch/cross-compilation/pypy/translator/benchmark: . test

fijal at codespeak.net fijal at codespeak.net
Tue Sep 9 12:45:34 CEST 2008


Author: fijal
Date: Tue Sep  9 12:45:32 2008
New Revision: 57997

Modified:
   pypy/branch/cross-compilation/pypy/translator/benchmark/bench_mem.py
   pypy/branch/cross-compilation/pypy/translator/benchmark/test/test_bench_mem.py
Log:
A test and a fix for slightly different /proc/$pid/smaps output.


Modified: pypy/branch/cross-compilation/pypy/translator/benchmark/bench_mem.py
==============================================================================
--- pypy/branch/cross-compilation/pypy/translator/benchmark/bench_mem.py	(original)
+++ pypy/branch/cross-compilation/pypy/translator/benchmark/bench_mem.py	Tue Sep  9 12:45:32 2008
@@ -48,7 +48,9 @@
             priv_map[name]   = priv + priv_map.get(name, 0)
         if shared:
             shared_map[name] = shared + shared_map.get(name, 0)
-        num += 8
+        num += 7
+        if num < len(lines) and lines[num].startswith('Referenced'):
+            num += 1
     return Result(priv_map, shared_map)
 
 class ChildProcess(object):

Modified: pypy/branch/cross-compilation/pypy/translator/benchmark/test/test_bench_mem.py
==============================================================================
--- pypy/branch/cross-compilation/pypy/translator/benchmark/test/test_bench_mem.py	(original)
+++ pypy/branch/cross-compilation/pypy/translator/benchmark/test/test_bench_mem.py	Tue Sep  9 12:45:32 2008
@@ -23,6 +23,19 @@
         '/lib/libncurses.so.5.6' : 60,
        }
 
+def test_parse2():
+    res = bench_mem.parse_smaps_output(example_data2)
+    assert res.private == 796 + 120 + 924
+    assert res.shared == 60
+    assert res.priv_map == {
+        '/usr/bin/python2.5': 796 + 120,
+        '[heap]'            : 924,
+        }
+    assert res.shared_map == {
+        '/lib/libncurses.so.5.6' : 60,
+       }
+    
+
 def test_run_cooperative():
     def f(read, write):
         x = read()
@@ -48,6 +61,37 @@
     measurments = bench_mem.measure(measure, [f1, f1])
     assert measurments == [[42, 42], [42, 42]]
 
+example_data2 = '''
+08048000-0813f000 r-xp 00000000 fd:00 75457      /usr/bin/python2.5
+Size:                988 kB
+Rss:                 796 kB
+Shared_Clean:          0 kB
+Shared_Dirty:          0 kB
+Private_Clean:       796 kB
+Private_Dirty:         0 kB
+0813f000-08164000 rw-p 000f6000 fd:00 75457      /usr/bin/python2.5
+Size:                148 kB
+Rss:                 120 kB
+Shared_Clean:          0 kB
+Shared_Dirty:          0 kB
+Private_Clean:        12 kB
+Private_Dirty:       108 kB
+08164000-0825c000 rw-p 08164000 00:00 0          [heap]
+Size:                992 kB
+Rss:                 924 kB
+Shared_Clean:          0 kB
+Shared_Dirty:          0 kB
+Private_Clean:         0 kB
+Private_Dirty:       924 kB
+b7baf000-b7beb000 r-xp 00000000 08:01 218        /lib/libncurses.so.5.6
+Size:                240 kB
+Rss:                  60 kB
+Shared_Clean:         60 kB
+Shared_Dirty:          0 kB
+Private_Clean:         0 kB
+Private_Dirty:         0 kB
+'''
+
 example_data = '''
 08048000-0813f000 r-xp 00000000 fd:00 75457      /usr/bin/python2.5
 Size:                988 kB



More information about the Pypy-commit mailing list