Try to fix ControlFlowView tests on Windows Change-Id: Ie745e6132804d6a09d206ccbd6a50c7895c8e805 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
diff --git a/ctf/org.eclipse.tracecompass.tmf.ctf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ctf/ui/swtbot/tests/AbstractImportAndReadSmokeTest.java b/ctf/org.eclipse.tracecompass.tmf.ctf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ctf/ui/swtbot/tests/AbstractImportAndReadSmokeTest.java index 20b32ba..3c31359 100644 --- a/ctf/org.eclipse.tracecompass.tmf.ctf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ctf/ui/swtbot/tests/AbstractImportAndReadSmokeTest.java +++ b/ctf/org.eclipse.tracecompass.tmf.ctf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ctf/ui/swtbot/tests/AbstractImportAndReadSmokeTest.java
@@ -18,8 +18,9 @@ import java.util.List; +import org.apache.log4j.ConsoleAppender; import org.apache.log4j.Logger; -import org.apache.log4j.varia.NullAppender; +import org.apache.log4j.SimpleLayout; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.wizard.Wizard; @@ -88,7 +89,7 @@ /* set up for swtbot */ SWTBotPreferences.TIMEOUT = 50000; /* 50 second timeout */ fLogger.removeAllAppenders(); - fLogger.addAppender(new NullAppender()); + fLogger.addAppender(new ConsoleAppender(new SimpleLayout())); fBot = new SWTWorkbenchBot(); SWTBotUtils.closeView("welcome", fBot);
diff --git a/lttng/org.eclipse.tracecompass.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/tracecompass/lttng2/kernel/ui/swtbot/tests/ControlFlowViewTest.java b/lttng/org.eclipse.tracecompass.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/tracecompass/lttng2/kernel/ui/swtbot/tests/ControlFlowViewTest.java index dd96180..4abad94 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/tracecompass/lttng2/kernel/ui/swtbot/tests/ControlFlowViewTest.java +++ b/lttng/org.eclipse.tracecompass.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/tracecompass/lttng2/kernel/ui/swtbot/tests/ControlFlowViewTest.java
@@ -14,6 +14,7 @@ import static org.junit.Assert.assertTrue; +import java.util.Iterator; import java.util.List; import org.eclipse.jdt.annotation.NonNull; @@ -35,8 +36,11 @@ import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange; import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager; import org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.ConditionHelpers; +import org.eclipse.tracecompass.tmf.ui.views.timegraph.AbstractTimeGraphView; import org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.ILinkEvent; +import org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.ITimeEvent; import org.eclipse.tracecompass.tmf.ui.widgets.timegraph.widgets.TimeGraphControl; +import org.eclipse.ui.IWorkbenchPart; import org.junit.Before; import org.junit.Test; @@ -79,13 +83,19 @@ @Test public void testBug() { - testToolBarFollowCPUForwardBackward(); - after(); - before(); - testKeyboardLeftRight(); - after(); - before(); - testToolBarSelectNextPreviousEvent(); + for (int i = 0; i < 30; i++) { + before(); + testToolBarFollowCPUForwardBackward(); + after(); + before(); + testKeyboardLeftRight(); + after(); + before(); + testToolBarSelectNextPreviousEvent(); + after(); + System.out.println("testBug " + i); + } + } /** @@ -115,54 +125,94 @@ } }); +// fBot.waitUntil(new ZoomCondition(timegraph)); + /* press ARROW_RIGHT 3 times */ KEYBOARD.pressShortcut(Keystrokes.RIGHT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME1.getValue(), TID1_TIME2.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.RIGHT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.RIGHT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME3, TID1_TIME3))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME3)); /* press Shift-ARROW_RIGHT 3 times */ + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.RIGHT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME4.getValue(), TID1_TIME5.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.RIGHT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME5.getValue(), TID1_TIME6.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.RIGHT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME3, TID1_TIME6))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME6)); /* press Shift-ARROW_LEFT 4 times */ KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.LEFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME4.getValue(), TID1_TIME5.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.LEFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.LEFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.LEFT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME3, TID1_TIME2))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME2)); /* press ARROW_RIGHT 2 times */ KEYBOARD.pressShortcut(Keystrokes.RIGHT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.RIGHT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME4, TID1_TIME4))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME4)); /* press Shift-ARROW_LEFT 3 times */ KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.LEFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.LEFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME1.getValue(), TID1_TIME2.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.LEFT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME4, TID1_TIME1))); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME1)); /* press Shift-ARROW_RIGHT 4 times */ + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME1.getValue(), TID1_TIME2.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.RIGHT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.RIGHT); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.RIGHT); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME4.getValue(), TID1_TIME5.getValue())); KEYBOARD.pressShortcut(Keystrokes.SHIFT, Keystrokes.RIGHT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME4, TID1_TIME5))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME5)); /* press ARROW_LEFT 5 times */ KEYBOARD.pressShortcut(Keystrokes.LEFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.LEFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.LEFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME1.getValue(), TID1_TIME2.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.LEFT); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); KEYBOARD.pressShortcut(Keystrokes.LEFT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(START_TIME, START_TIME))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(START_TIME)); @@ -195,54 +245,91 @@ } }); +// fBot.waitUntil(new ZoomCondition(timegraph)); + /* click "Select Next Event" 3 times */ fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME1.getValue(), TID1_TIME2.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME3, TID1_TIME3))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME3)); /* shift-click "Select Next Event" 3 times */ + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME4.getValue(), TID1_TIME5.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME5.getValue(), TID1_TIME6.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(SWT.SHIFT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME3, TID1_TIME6))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME6)); /* shift-click "Select Previous Event" 4 times */ fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME4.getValue(), TID1_TIME5.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(SWT.SHIFT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME3, TID1_TIME2))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME2)); /* click "Select Next Event" 2 times */ fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME4, TID1_TIME4))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME4)); /* shift-click "Select Previous Event" 3 times */ fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME1.getValue(), TID1_TIME2.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(SWT.SHIFT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME4, TID1_TIME1))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME1)); /* shift-click "Select Next Event" 4 times */ fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(SWT.SHIFT); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME4.getValue(), TID1_TIME5.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(SWT.SHIFT); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(TID1_TIME4, TID1_TIME5))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(TID1_TIME5)); /* click "Select Previous Event" 5 times */ fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME3.getValue(), TID1_TIME4.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME2.getValue(), TID1_TIME3.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(); + fBot.waitUntil(new TimeEventCondition(timegraph, TID1_TIME1.getValue(), TID1_TIME2.getValue())); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(); + fBot.waitUntil(new ViewDirtyCondition(), 30000000); fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click(); fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(START_TIME, START_TIME))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(START_TIME)); @@ -349,4 +436,82 @@ fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(START_TIME, START_TIME))); assertTrue(TmfTraceManager.getInstance().getCurrentTraceContext().getWindowRange().contains(START_TIME)); } + +// private static class ZoomCondition extends DefaultCondition { +// +// private TimeGraphControl timegraph; +// +// public ZoomCondition(TimeGraphControl timegraph) { +// super(); +// this.timegraph = timegraph; +// } +// +// @Override +// public boolean test() throws Exception { +// Iterator<ITimeEvent> iter = timegraph.getSelectedTrace().getTimeEventsIterator(); +// int count = 0; +// ITimeEvent event = null; +// while (iter.hasNext() && count++ < 6) { +// event = iter.next(); +// System.out.println(count+":"+event.getTime()); +// } +// if (count == 6 && event != null && event.getTime() == TID1_TIME5.getValue()) { +// return true; +// } +// return false; +// } +// +// @Override +// public String getFailureMessage() { +// return "Time Event not found"; +// } +// } + + private static class TimeEventCondition extends DefaultCondition { + + private TimeGraphControl timegraph; + private long fEventEnd; + private long fEventStart; + + public TimeEventCondition(TimeGraphControl timegraph, long eventStart, long eventEnd) { + super(); + this.timegraph = timegraph; + fEventStart = eventStart; + fEventEnd = eventEnd; + } + + @Override + public boolean test() throws Exception { + Iterator<ITimeEvent> iter = timegraph.getSelectedTrace().getTimeEventsIterator(); + ITimeEvent event = null; + while (iter.hasNext()) { + event = iter.next(); + if (event != null && event.getTime() == fEventStart && event.getTime() + event.getDuration() == fEventEnd) { + System.out.println("found " + fEventStart + "-" + fEventEnd); + return true; + } + } + return false; + } + + @Override + public String getFailureMessage() { + return "Time Event not found"; + } + } + + private class ViewDirtyCondition extends DefaultCondition { + + @Override + public boolean test() throws Exception { + IWorkbenchPart part = fViewBot.getViewReference().getPart(false); + AbstractTimeGraphView view = (AbstractTimeGraphView) part; + return !view.isDirty(); + } + + @Override + public String getFailureMessage() { + return "View is dirty"; + } + } }
diff --git a/lttng/org.eclipse.tracecompass.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/tracecompass/lttng2/kernel/ui/swtbot/tests/KernelTest.java b/lttng/org.eclipse.tracecompass.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/tracecompass/lttng2/kernel/ui/swtbot/tests/KernelTest.java index 082d1ef..6ed759b 100644 --- a/lttng/org.eclipse.tracecompass.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/tracecompass/lttng2/kernel/ui/swtbot/tests/KernelTest.java +++ b/lttng/org.eclipse.tracecompass.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/tracecompass/lttng2/kernel/ui/swtbot/tests/KernelTest.java
@@ -18,9 +18,6 @@ import java.util.List; -import org.apache.log4j.ConsoleAppender; -import org.apache.log4j.Logger; -import org.apache.log4j.SimpleLayout; import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot; import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView; import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable; @@ -55,7 +52,7 @@ protected static SWTWorkbenchBot fBot; /** The Log4j logger instance. */ - private static final Logger fLogger = Logger.getRootLogger(); +// private static final Logger fLogger = Logger.getRootLogger(); /** * Before Class @@ -67,9 +64,9 @@ /* set up for swtbot */ SWTBotPreferences.TIMEOUT = 20000; /* 20 second timeout */ SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US"; - SWTBotPreferences.PLAYBACK_DELAY = 200; - fLogger.removeAllAppenders(); - fLogger.addAppender(new ConsoleAppender(new SimpleLayout(), ConsoleAppender.SYSTEM_OUT)); +// SWTBotPreferences.PLAYBACK_DELAY = 200; +// fLogger.removeAllAppenders(); +// fLogger.addAppender(new ConsoleAppender(new SimpleLayout(), ConsoleAppender.SYSTEM_OUT)); fBot = new SWTWorkbenchBot(); final List<SWTBotView> openViews = fBot.views(); @@ -92,7 +89,7 @@ @AfterClass public static void afterClass() { SWTBotUtils.deleteProject(TRACE_PROJECT_NAME, fBot); - fLogger.removeAllAppenders(); +// fLogger.removeAllAppenders(); } private static void switchKernelPerspective() {
diff --git a/releng/org.eclipse.tracecompass.alltests/.settings/org.eclipse.jdt.core.prefs b/releng/org.eclipse.tracecompass.alltests/.settings/org.eclipse.jdt.core.prefs index 0409c61..b37d41e 100644 --- a/releng/org.eclipse.tracecompass.alltests/.settings/org.eclipse.jdt.core.prefs +++ b/releng/org.eclipse.tracecompass.alltests/.settings/org.eclipse.jdt.core.prefs
@@ -31,7 +31,7 @@ org.eclipse.jdt.core.compiler.problem.deprecation=error org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=error +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=error @@ -40,7 +40,7 @@ org.eclipse.jdt.core.compiler.problem.fieldHiding=error org.eclipse.jdt.core.compiler.problem.finalParameterBound=error org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error @@ -108,6 +108,7 @@ org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedImport=error org.eclipse.jdt.core.compiler.problem.unusedLabel=error org.eclipse.jdt.core.compiler.problem.unusedLocal=error
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ui/swtbot/tests/viewers/events/CallsiteEventsInTableTest.java b/tmf/org.eclipse.tracecompass.tmf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ui/swtbot/tests/viewers/events/CallsiteEventsInTableTest.java index 90bb260..e057ac2 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ui/swtbot/tests/viewers/events/CallsiteEventsInTableTest.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ui/swtbot/tests/viewers/events/CallsiteEventsInTableTest.java
@@ -76,6 +76,7 @@ */ @BeforeClass public static void init() { + SWTBotUtils.delay(30000); SWTBotUtils.failIfUIThread(); /* set up test trace*/
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java index 9e5dfda..c947ae6 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java
@@ -104,6 +104,12 @@ /** The timegraph wrapper */ private ITimeGraphWrapper fTimeGraphWrapper; + private int fDirty; + + public boolean isDirty() { + return fDirty > 0; + } + /** The selected trace */ private ITmfTrace fTrace; @@ -459,6 +465,7 @@ fMonitor.setCanceled(true); } } + private static int fZoomThreadCount = 0; private class ZoomThread extends Thread { private final @NonNull List<TimeGraphEntry> fZoomEntryList; @@ -466,9 +473,15 @@ private final long fZoomEndTime; private final long fResolution; private final @NonNull IProgressMonitor fMonitor; + private int fZoomThreadId = 0; + private boolean fStarted = false; public ZoomThread(@NonNull List<TimeGraphEntry> entryList, long startTime, long endTime, String name) { super(name + " zoom"); //$NON-NLS-1$ + synchronized (ZoomThread.class) { + fZoomThreadCount++; + fZoomThreadId = fZoomThreadCount; + } fZoomEntryList = entryList; fZoomStartTime = startTime; fZoomEndTime = endTime; @@ -478,20 +491,37 @@ @Override public void run() { - for (TimeGraphEntry entry : fZoomEntryList) { - if (fMonitor.isCanceled()) { - return; + if (!fStarted) { + fStarted = true; + synchronized (ZoomThread.class) { + fDirty++; + System.out.println("zoom thread start " + fZoomThreadId + "(" + fDirty + " dirty)"); } - if (entry == null) { - break; - } - zoom(entry, fMonitor); + } else { + System.out.println(); } - /* Refresh the arrows when zooming */ - List<ILinkEvent> events = getLinkList(fZoomStartTime, fZoomEndTime, fResolution, fMonitor); - if (events != null) { - fTimeGraphWrapper.getTimeGraphViewer().setLinks(events); - redraw(); + try { + for (TimeGraphEntry entry : fZoomEntryList) { + if (fMonitor.isCanceled()) { + return; + } + if (entry == null) { + break; + } + zoom(entry, fMonitor); + } + /* Refresh the arrows when zooming */ + List<ILinkEvent> events = getLinkList(fZoomStartTime, fZoomEndTime, fResolution, fMonitor); + if (events != null) { + fTimeGraphWrapper.getTimeGraphViewer().setLinks(events); + redraw(); + } + synchronized (ZoomThread.class) { + fDirty--; + System.out.println("zoom thread end " + fZoomThreadId + "(" + fDirty + " dirty)"); + } + } catch (Exception e) { + e.printStackTrace(); } } @@ -516,6 +546,7 @@ } public void cancel() { + System.out.println("cancel " + fZoomThreadId); fMonitor.setCanceled(true); } } @@ -539,6 +570,7 @@ */ public AbstractTimeGraphView(String id, TimeGraphPresentationProvider pres) { super(id); + fDirty = 0; fPresentation = pres; fDisplayWidth = Display.getDefault().getBounds().width; } @@ -847,6 +879,7 @@ @Override public void createPartControl(Composite parent) { + fDirty = 0; super.createPartControl(parent); if (fColumns == null || fLabelProvider == null) { fTimeGraphWrapper = new TimeGraphViewerWrapper(parent, SWT.NONE); @@ -1188,6 +1221,7 @@ } if (fEntryList != fTimeGraphWrapper.getInput()) { fTimeGraphWrapper.setInput(fEntryList); +// fTimeGraphWrapper.getTimeGraphViewer().setLinks(null); } else { fTimeGraphWrapper.refresh(); }
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/TimeGraphViewer.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/TimeGraphViewer.java index bd6fed8..62b5866 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/TimeGraphViewer.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/TimeGraphViewer.java
@@ -901,7 +901,9 @@ * @since 1.0 */ public void selectNextEvent(boolean extend) { + System.out.println("selectNextEvent before ("+extend+") "+getSelectionBegin()+"-"+getSelectionEnd()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ fTimeGraphCtrl.selectNextEvent(extend); + System.out.println("selectNextEvent after ("+extend+") "+getSelectionBegin()+"-"+getSelectionEnd()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ adjustVerticalScrollBar(); }
diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/widgets/TimeGraphControl.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/widgets/TimeGraphControl.java index af63f1d..4c02f5f 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/widgets/TimeGraphControl.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/widgets/TimeGraphControl.java
@@ -1872,7 +1872,9 @@ selectPrevEvent(extend); } else if (SWT.ARROW_RIGHT == e.keyCode && fDragState == DRAG_NONE) { boolean extend = (e.stateMask & SWT.SHIFT) != 0; + System.out.println("ARROW_RIGHT before ("+extend+") "+fTimeProvider.getSelectionBegin()+"-"+fTimeProvider.getSelectionEnd()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ selectNextEvent(extend); + System.out.println("ARROW_RIGHT after ("+extend+") "+fTimeProvider.getSelectionBegin()+"-"+fTimeProvider.getSelectionEnd()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } else if (SWT.PAGE_DOWN == e.keyCode) { int page = countPerPage(); idx = getSelectedIndex();