kernel.swtbot: test resources view filters
authorMatthew Khouzam <matthew.khouzam@ericsson.com>
Fri, 11 Nov 2016 02:26:22 +0000 (21:26 -0500)
committerMatthew Khouzam <matthew.khouzam@ericsson.com>
Wed, 14 Dec 2016 19:05:32 +0000 (14:05 -0500)
This tests the filter functionalities of the resources view.

Change-Id: Ifdf76ab29e843e1b8d91d6483373abf86e8763b7
Signed-off-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/84849
Reviewed-by: Hudson CI
Reviewed-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Tested-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
lttng/org.eclipse.tracecompass.lttng2.kernel.ui.swtbot.tests/src/org/eclipse/tracecompass/lttng2/kernel/ui/swtbot/tests/ResourcesViewTest.java

index 585b32ba25399d9ab1d8c8032c3d4931208d68b2..52b6c56a3918bebf984caa1e2a2b28fd37fc2973 100644 (file)
@@ -33,6 +33,10 @@ import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
 import org.eclipse.swtbot.swt.finder.matchers.WidgetOfType;
 import org.eclipse.swtbot.swt.finder.results.Result;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotCanvas;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarButton;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.eclipse.tracecompass.ctf.core.tests.shared.LttngTraceGenerator;
 import org.eclipse.tracecompass.internal.analysis.os.linux.ui.views.resources.ResourcesView;
 import org.eclipse.tracecompass.tmf.core.signal.TmfSelectionRangeUpdatedSignal;
 import org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager;
@@ -56,6 +60,14 @@ import org.junit.Test;
  * @author Patrick Tasse
  */
 public class ResourcesViewTest extends KernelTimeGraphViewTestBase {
+    private static final String CHECK_SELECTED = "Check selected";
+
+    private static final String CHECK_ALL = "Check all";
+    private static final String CHECK_SUBTREE = "Check subtree";
+    private static final String UNCHECK_SELECTED = "Uncheck selected";
+    private static final String UNCHECK_ALL = "Uncheck all";
+    private static final String UNCHECK_SUBTREE = "Uncheck subtree";
+
 
     private static final String NEXT_MARKER = "Next Marker";
     private static final String PREVIOUS_MARKER = "Previous Marker";
@@ -105,7 +117,7 @@ public class ResourcesViewTest extends KernelTimeGraphViewTestBase {
         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" );
+                "Select Previous Resource", "Select Next Resource", "Zoom In", "Zoom Out");
     }
 
     /**
@@ -393,6 +405,67 @@ public class ResourcesViewTest extends KernelTimeGraphViewTestBase {
         assertEquals(size1, getSize(markerAxis));
     }
 
+    /**
+     * Test the filter
+     */
+    @Test
+    public void testFilter() {
+        /* change window range to 1 ms */
+        TmfTimeRange range = new TmfTimeRange(START_TIME, START_TIME.normalize(1000000L, ITmfTimestamp.NANOSECOND_SCALE));
+        TmfSignalManager.dispatchSignal(new TmfWindowRangeUpdatedSignal(this, range));
+        timeGraphIsReadyCondition(new TmfTimeRange(START_TIME, START_TIME), START_TIME);
+        SWTBotToolbarButton filterButton = getViewBot().toolbarButton("Show View Filters");
+        filterButton.click();
+        fBot.waitUntil(org.eclipse.swtbot.swt.finder.waits.Conditions.shellIsActive("Filter"));
+        SWTBot bot = fBot.activeShell().bot();
+        SWTBotTree treeBot = bot.tree();
+        TreeCheckedCounter treeCheckCounter = new TreeCheckedCounter(treeBot);
+        // get how many items there are
+        Integer checked = UIThreadRunnable.syncExec(treeCheckCounter);
+        assertEquals("default", 26, checked.intValue());
+        // test "uncheck all button"
+        bot.button(UNCHECK_ALL).click();
+        checked = UIThreadRunnable.syncExec(treeCheckCounter);
+        assertEquals(0, checked.intValue());
+        // test check all
+        bot.button(CHECK_ALL).click();
+        checked = UIThreadRunnable.syncExec(treeCheckCounter);
+        assertEquals(CHECK_ALL, 26, checked.intValue());
+        // test uncheck inactive
+        treeBot.getTreeItem(LttngTraceGenerator.getName()).select("CPU 1");
+        bot.button(UNCHECK_ALL).click();
+        bot.button(CHECK_SELECTED).click();
+        checked = UIThreadRunnable.syncExec(treeCheckCounter);
+        assertEquals(CHECK_SELECTED, 2, checked.intValue());
+        // test check subtree
+        bot.button(UNCHECK_ALL).click();
+        bot.button(CHECK_SUBTREE).click();
+        checked = UIThreadRunnable.syncExec(treeCheckCounter);
+        assertEquals(CHECK_SUBTREE, 2, checked.intValue());
+        // test uncheck selected
+        bot.button(CHECK_ALL).click();
+        bot.button(UNCHECK_SELECTED).click();
+        checked = UIThreadRunnable.syncExec(treeCheckCounter);
+        assertEquals(UNCHECK_SELECTED, 25, checked.intValue());
+        // test uncheck subtree
+        bot.button(CHECK_ALL).click();
+        bot.button(UNCHECK_SUBTREE).click();
+        checked = UIThreadRunnable.syncExec(treeCheckCounter);
+        assertEquals(UNCHECK_SELECTED, 25, checked.intValue());
+        // test filter
+        bot.button(UNCHECK_ALL).click();
+        checked = UIThreadRunnable.syncExec(treeCheckCounter);
+        assertEquals(0, checked.intValue());
+        bot.text().setText("CPU 2");
+        SWTBotTreeItem treeItem = treeBot.getTreeItem(LttngTraceGenerator.getName());
+        treeItem.rowCount();
+        fBot.waitUntil(ConditionHelpers.treeItemCount(treeItem, 25));
+        bot.button(CHECK_ALL).click();
+        checked = UIThreadRunnable.syncExec(treeCheckCounter);
+        assertEquals("Filtered", 26, checked.intValue());
+        bot.button("OK").click();
+    }
+
     private void timeGraphIsReadyCondition(@NonNull TmfTimeRange selectionRange, @NonNull ITmfTimestamp visibleTime) {
         IWorkbenchPart part = getViewBot().getViewReference().getPart(false);
         fBot.waitUntil(ConditionHelpers.timeGraphIsReadyCondition((AbstractTimeGraphView) part, selectionRange, visibleTime));
This page took 0.027475 seconds and 5 git commands to generate.