Files
frida-frida-python/tests/test_tracer.py
T
Ole André Vadla Ravnås 7fd0c962be Fix test regressions
2015-06-07 18:02:06 +02:00

47 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
import platform
import subprocess
import threading
try:
import unittest2 as unittest
except:
import unittest
import frida
from frida.application import Reactor
from frida.tracer import Tracer, TracerProfileBuilder, MemoryRepository, UI
class TestTracer(unittest.TestCase):
@classmethod
def setUpClass(cls):
system = platform.system()
if system == 'Windows':
cls.target = subprocess.Popen([r"C:\Windows\notepad.exe"])
else:
cls.target = subprocess.Popen(["/bin/cat"])
cls.session = frida.attach(cls.target.pid)
@classmethod
def tearDownClass(cls):
cls.session.detach()
cls.target.terminate()
def test_basics(self):
done = threading.Event()
reactor = Reactor(lambda reactor: done.wait())
def start():
tp = TracerProfileBuilder().include("open*")
t = Tracer(reactor, MemoryRepository(), tp.build())
targets = t.start_trace(self.session, UI())
t.stop()
reactor.stop()
done.set()
reactor.schedule(start)
reactor.run()
if __name__ == '__main__':
unittest.main()