about summary refs log tree commit diff stats
path: root/test/os_dep/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/os_dep/common.py')
-rwxr-xr-xtest/os_dep/common.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/os_dep/common.py b/test/os_dep/common.py
new file mode 100755
index 00000000..5d525e32
--- /dev/null
+++ b/test/os_dep/common.py
@@ -0,0 +1,35 @@
+#! /usr/bin/env python2
+#-*- coding:utf-8 -*-
+
+import unittest
+import logging
+from miasm2.analysis.machine import Machine
+import miasm2.os_dep.common as commonapi
+from miasm2.core.utils import pck32
+from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE
+
+machine = Machine("x86_32")
+
+jit = machine.jitter()
+jit.init_stack()
+
+class TestCommonAPI(unittest.TestCase):
+
+    def test_get_size(self):
+        heap = commonapi.heap()
+        with self.assertRaises(AssertionError):
+            heap.get_size(jit.vm, 0)
+        heap.alloc(jit, 20)
+        heap.alloc(jit, 40)
+        heap.alloc(jit, 50)
+        heap.alloc(jit, 60)
+        ptr = heap.alloc(jit, 10)
+        heap.alloc(jit, 80)
+        for i in xrange(10):
+            self.assertEqual(heap.get_size(jit.vm, ptr+i), 10)
+
+if __name__ == '__main__':
+    testsuite = unittest.TestLoader().loadTestsFromTestCase(TestCommonAPI)
+    report = unittest.TextTestRunner(verbosity=2).run(testsuite)
+    exit(len(report.errors + report.failures))
+