import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import java.util.Arrays;
+import java.util.List;
+
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jface.bindings.keys.KeyStroke;
import org.eclipse.swt.SWT;
import org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager;
import org.eclipse.tracecompass.tmf.core.signal.TmfWindowRangeUpdatedSignal;
import org.eclipse.tracecompass.tmf.core.timestamp.ITmfTimestamp;
-import org.eclipse.tracecompass.tmf.core.timestamp.TmfNanoTimestamp;
import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
+import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimestamp;
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.widgets.TimeGraphControl;
*
* @author Patrick Tasse
*/
-public class ResourcesViewTest extends KernelTestBase {
+public class ResourcesViewTest extends KernelTimeGraphViewTestBase {
private static final String NEXT_MARKER = "Next Marker";
private static final String PREVIOUS_MARKER = "Previous Marker";
- private static final String SELECT_NEXT_EVENT = "Select Next Event";
- private static final String SELECT_PREVIOUS_EVENT = "Select Previous Event";
+ private static final String SELECT_NEXT_STATE_CHANGE = "Select Next State Change";
+ private static final String SELECT_PREVIOUS_STATE_CHANGE = "Select Previous State Change";
private static final String ADD_BOOKMARK = "Add Bookmark...";
private static final String REMOVE_BOOKMARK = "Remove Bookmark";
private static final String ADD_BOOKMARK_DIALOG = "Add Bookmark";
private static final String LOST_EVENTS = "Lost Events";
private static final String OK = "OK";
private static final Keyboard KEYBOARD = KeyboardFactory.getSWTKeyboard();
- private static final @NonNull ITmfTimestamp START_TIME = new TmfNanoTimestamp(1368000272650993664L);
- private static final @NonNull ITmfTimestamp LOST_EVENT_TIME1 = new TmfNanoTimestamp(1368000272681793477L);
- private static final @NonNull ITmfTimestamp LOST_EVENT_END1 = new TmfNanoTimestamp(1368000272681793477L + 7425331L);
- private static final @NonNull ITmfTimestamp LOST_EVENT_TIME2 = new TmfNanoTimestamp(1368000272820875850L);
- private static final @NonNull ITmfTimestamp LOST_EVENT_END2 = new TmfNanoTimestamp(1368000272820875850L + 6640670L);
- private static final @NonNull ITmfTimestamp LOST_EVENT_TIME3 = new TmfNanoTimestamp(1368000272882715015L);
- private static final @NonNull ITmfTimestamp LOST_EVENT_END3 = new TmfNanoTimestamp(1368000272882715015L + 11373385L);
- private static final @NonNull ITmfTimestamp CPU0_TIME1 = new TmfNanoTimestamp(1368000272651208412L);
- private static final @NonNull ITmfTimestamp CPU0_TIME2 = new TmfNanoTimestamp(1368000272651852656L);
- private static final @NonNull ITmfTimestamp CPU0_TIME3 = new TmfNanoTimestamp(1368000272652067404L);
- private static final @NonNull ITmfTimestamp CPU0_TIME4 = new TmfNanoTimestamp(1368000272652282152L);
- private static final @NonNull ITmfTimestamp CPU0_TIME5 = new TmfNanoTimestamp(1368000272653141144L);
+ private static final @NonNull ITmfTimestamp START_TIME = TmfTimestamp.fromNanos(1368000272650993664L);
+ private static final @NonNull ITmfTimestamp LOST_EVENT_TIME1 = TmfTimestamp.fromNanos(1368000272681793477L);
+ private static final @NonNull ITmfTimestamp LOST_EVENT_END1 = TmfTimestamp.fromNanos(1368000272681793477L + 7425331L);
+ private static final @NonNull ITmfTimestamp LOST_EVENT_TIME2 = TmfTimestamp.fromNanos(1368000272820875850L);
+ private static final @NonNull ITmfTimestamp LOST_EVENT_END2 = TmfTimestamp.fromNanos(1368000272820875850L + 6640670L);
+ private static final @NonNull ITmfTimestamp LOST_EVENT_TIME3 = TmfTimestamp.fromNanos(1368000272882715015L);
+ private static final @NonNull ITmfTimestamp LOST_EVENT_END3 = TmfTimestamp.fromNanos(1368000272882715015L + 11373385L);
+ private static final @NonNull ITmfTimestamp CPU0_TIME1 = TmfTimestamp.fromNanos(1368000272651208412L);
+ private static final @NonNull ITmfTimestamp CPU0_TIME2 = TmfTimestamp.fromNanos(1368000272651852656L);
+ private static final @NonNull ITmfTimestamp CPU0_TIME3 = TmfTimestamp.fromNanos(1368000272652067404L);
+ private static final @NonNull ITmfTimestamp CPU0_TIME4 = TmfTimestamp.fromNanos(1368000272652282152L);
+ private static final @NonNull ITmfTimestamp CPU0_TIME5 = TmfTimestamp.fromNanos(1368000272653141144L);
private static final int TOP_MARGIN = 1;
private static final Point TOGGLE_SIZE = new Point(7, 8);
private static final Point HIDE_SIZE = new Point(16, 16);
private SWTBotView fViewBot;
+ @Override
+ protected SWTBotView getViewBot() {
+ return fViewBot;
+ }
+
+ @Override
+ protected List<String> getLegendValues() {
+ return Arrays.asList("IDLE", "USERMODE", "SYSCALL", "IRQ", "SOFT_IRQ", "IRQ_ACTIVE", "SOFT_IRQ_RAISED", "SOFT_IRQ_ACTIVE");
+ }
+
+ @Override
+ protected List<String> getToolbarTooltips() {
+ return Arrays.asList("Align Views", "Show View Filters", "Show Legend", SEPARATOR,
+ "Reset the Time Scale to Default", "Select Previous State Change", "Select Next State Change", SEPARATOR,
+ "Add Bookmark...", "Previous Marker", "Next Marker", SEPARATOR,
+ "Select Previous Resource", "Select Next Resource", "Zoom In", "Zoom Out" );
+ }
+
/**
* Before Test
*/
KEYBOARD.pressShortcut(Keystrokes.HOME);
KEYBOARD.pressShortcut(Keystrokes.DOWN);
- /* click "Select Next Event" 2 times */
- fViewBot.toolbarButton(SELECT_NEXT_EVENT).click();
+ /* click "Select Next State Change" 2 times */
+ fViewBot.toolbarButton(SELECT_NEXT_STATE_CHANGE).click();
timeGraphIsReadyCondition(new TmfTimeRange(CPU0_TIME1, CPU0_TIME1), CPU0_TIME1);
- fViewBot.toolbarButton(SELECT_NEXT_EVENT).click();
+ fViewBot.toolbarButton(SELECT_NEXT_STATE_CHANGE).click();
timeGraphIsReadyCondition(new TmfTimeRange(CPU0_TIME2, CPU0_TIME2), CPU0_TIME2);
/* click "Add Bookmark..." and fill Add Bookmark dialog */
dialogBot.text().setText("B1");
dialogBot.button(OK).click();
- /* click "Select Next Event" 2 times and shift-click "Select Next Event*/
- fViewBot.toolbarButton(SELECT_NEXT_EVENT).click();
+ /*
+ * click "Select Next State Change" 2 times and shift-click "Select Next
+ * State Change
+ */
+ fViewBot.toolbarButton(SELECT_NEXT_STATE_CHANGE).click();
timeGraphIsReadyCondition(new TmfTimeRange(CPU0_TIME3, CPU0_TIME3), CPU0_TIME3);
- fViewBot.toolbarButton(SELECT_NEXT_EVENT).click();
+ fViewBot.toolbarButton(SELECT_NEXT_STATE_CHANGE).click();
timeGraphIsReadyCondition(new TmfTimeRange(CPU0_TIME4, CPU0_TIME4), CPU0_TIME4);
- fViewBot.toolbarButton(SELECT_NEXT_EVENT).click(SWT.SHIFT);
+ fViewBot.toolbarButton(SELECT_NEXT_STATE_CHANGE).click(SWT.SHIFT);
timeGraphIsReadyCondition(new TmfTimeRange(CPU0_TIME4, CPU0_TIME5), CPU0_TIME5);
/* click "Add Bookmark..." and fill Add Bookmark dialog */
fViewBot.toolbarButton(PREVIOUS_MARKER).click();
timeGraphIsReadyCondition(new TmfTimeRange(CPU0_TIME4, CPU0_TIME5), CPU0_TIME5);
- /* click "Select Previous Event" */
- fViewBot.toolbarButton(SELECT_PREVIOUS_EVENT).click();
+ /* click "Select Previous State Change" */
+ fViewBot.toolbarButton(SELECT_PREVIOUS_STATE_CHANGE).click();
timeGraphIsReadyCondition(new TmfTimeRange(CPU0_TIME4, CPU0_TIME4), CPU0_TIME4);
}
final Point size2 = getSize(markerAxis);
final int rowHeight = size2.y - size1.y;
- /* get the state area bounds, since we don't know the name space width */
+ /*
+ * get the state area bounds, since we don't know the name space width
+ */
final TimeGraphControl timeGraph = fViewBot.bot().widget(WidgetOfType.widgetOfType(TimeGraphControl.class));
int x0 = getXForTime(timeGraph, startTime.toNanos());
int x1 = getXForTime(timeGraph, endTime.toNanos());
- /* click at the center of the marker axis width and first row height, it should be within the lost event range */
+ /*
+ * click at the center of the marker axis width and first row height, it
+ * should be within the lost event range
+ */
final SWTBotCanvas markerAxisCanvas = new SWTBotCanvas(markerAxis);
markerAxisCanvas.click((x0 + x1) / 2, TOP_MARGIN + rowHeight / 2);
fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(LOST_EVENT_TIME1, LOST_EVENT_END1)));
- /* click near the left of the marker axis width and center of second row height, it should be on the bookmark label */
+ /*
+ * click near the left of the marker axis width and center of second row
+ * height, it should be on the bookmark label
+ */
markerAxisCanvas.click(x0 + 2, TOP_MARGIN + rowHeight + rowHeight / 2);
fBot.waitUntil(ConditionHelpers.selectionRange(new TmfTimeRange(startTime, startTime)));