Search in sources :

Example 1 with CEventTableModel

use of com.google.security.zynamics.binnavi.Gui.Debug.EventLists.CEventTableModel in project binnavi by google.

the class CEventTableModelTest method testSimple.

/**
   * General test whether the model is working as expected.
   *
   * @throws RecognitionException
   */
@Test
public void testSimple() throws RecognitionException {
    final INaviModule mockModule = new MockModule();
    final INaviModule mockModule2 = new MockModule(true);
    final INaviModule mockModule3 = new MockModule();
    final CEventTableModel model = new CEventTableModel();
    final TraceList list = new TraceList(1, "", "", new MockSqlProvider());
    list.addEvent(new TraceEvent(1, new BreakpointAddress(mockModule, new UnrelocatedAddress(new CAddress(0x123))), TraceEventType.REGULAR_BREAKPOINT, Lists.newArrayList(new TraceRegister("eax", new CAddress(0x123), new byte[] { 05 }))));
    list.addEvent(new TraceEvent(1, new BreakpointAddress(mockModule2, new UnrelocatedAddress(new CAddress(0x124))), TraceEventType.REGULAR_BREAKPOINT, Lists.newArrayList(new TraceRegister("eax", new CAddress(0x123), new byte[] { 06 }))));
    list.addEvent(new TraceEvent(1, new BreakpointAddress(mockModule3, new UnrelocatedAddress(new CAddress(0x125))), TraceEventType.REGULAR_BREAKPOINT, Lists.newArrayList(new TraceRegister("eax", new CAddress(0x123), new byte[] { 07, 05 }))));
    assertEquals(0, model.getRowCount());
    model.setEventList(list);
    assertEquals(3, model.getRowCount());
    final IFilter<ITraceEvent> filter = new CTraceFilterCreator().createFilter("mem == 05");
    model.setFilter(filter);
    assertEquals(2, model.getRowCount());
    assertEquals(2, model.getEvents().size());
    assertEquals(0x123, model.getEvents().get(0).getOffset().getAddress().getAddress().toLong());
    assertEquals(0x125, model.getEvents().get(1).getOffset().getAddress().getAddress().toLong());
    model.setFilter(null);
    assertEquals(3, model.getRowCount());
    for (int i = 0; i < model.getRowCount(); i++) {
        for (int j = 0; j < model.getColumnCount(); j++) {
            model.getValueAt(i, j);
        }
    }
}
Also used : CTraceFilterCreator(com.google.security.zynamics.binnavi.Gui.Debug.EventLists.CTraceFilterCreator) CEventTableModel(com.google.security.zynamics.binnavi.Gui.Debug.EventLists.CEventTableModel) CAddress(com.google.security.zynamics.zylib.disassembly.CAddress) INaviModule(com.google.security.zynamics.binnavi.disassembly.INaviModule) MockModule(com.google.security.zynamics.binnavi.disassembly.Modules.MockModule) UnrelocatedAddress(com.google.security.zynamics.binnavi.disassembly.UnrelocatedAddress) MockSqlProvider(com.google.security.zynamics.binnavi.Database.MockClasses.MockSqlProvider) TraceRegister(com.google.security.zynamics.binnavi.debug.models.trace.TraceRegister) TraceList(com.google.security.zynamics.binnavi.debug.models.trace.TraceList) BreakpointAddress(com.google.security.zynamics.binnavi.debug.models.breakpoints.BreakpointAddress) ITraceEvent(com.google.security.zynamics.binnavi.debug.models.trace.interfaces.ITraceEvent) TraceEvent(com.google.security.zynamics.binnavi.debug.models.trace.TraceEvent) ITraceEvent(com.google.security.zynamics.binnavi.debug.models.trace.interfaces.ITraceEvent) Test(org.junit.Test)

Aggregations

MockSqlProvider (com.google.security.zynamics.binnavi.Database.MockClasses.MockSqlProvider)1 CEventTableModel (com.google.security.zynamics.binnavi.Gui.Debug.EventLists.CEventTableModel)1 CTraceFilterCreator (com.google.security.zynamics.binnavi.Gui.Debug.EventLists.CTraceFilterCreator)1 BreakpointAddress (com.google.security.zynamics.binnavi.debug.models.breakpoints.BreakpointAddress)1 TraceEvent (com.google.security.zynamics.binnavi.debug.models.trace.TraceEvent)1 TraceList (com.google.security.zynamics.binnavi.debug.models.trace.TraceList)1 TraceRegister (com.google.security.zynamics.binnavi.debug.models.trace.TraceRegister)1 ITraceEvent (com.google.security.zynamics.binnavi.debug.models.trace.interfaces.ITraceEvent)1 INaviModule (com.google.security.zynamics.binnavi.disassembly.INaviModule)1 MockModule (com.google.security.zynamics.binnavi.disassembly.Modules.MockModule)1 UnrelocatedAddress (com.google.security.zynamics.binnavi.disassembly.UnrelocatedAddress)1 CAddress (com.google.security.zynamics.zylib.disassembly.CAddress)1 Test (org.junit.Test)1