releng: ProjectExplorer tests stability improvement
[deliverable/tracecompass.git] / releng / org.eclipse.tracecompass.integration.swtbot.tests / src / org / eclipse / tracecompass / integration / swtbot / tests / projectexplorer / ProjectExplorerTraceActionsTest.java
index 0c480c91e30c08ea32f59641dfec2eb9c0e20d40..672dff9afdb38022c2bd655de099288f09b28f27 100644 (file)
@@ -23,7 +23,6 @@ import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
 import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
 import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
 import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
@@ -32,15 +31,17 @@ import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
 import org.eclipse.swtbot.swt.finder.waits.Conditions;
 import org.eclipse.swtbot.swt.finder.waits.DefaultCondition;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotText;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
 import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTraceDefinition;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTraceManager;
+import org.eclipse.tracecompass.tmf.ctf.ui.swtbot.tests.SWTBotImportWizardUtils;
 import org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.ConditionHelpers;
 import org.eclipse.tracecompass.tmf.ui.swtbot.tests.shared.SWTBotUtils;
+import org.eclipse.tracecompass.tmf.ui.tests.shared.WaitUtils;
 import org.eclipse.tracecompass.tmf.ui.views.statistics.TmfStatisticsView;
 import org.eclipse.ui.IEditorReference;
+import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -105,7 +106,7 @@ public class ProjectExplorerTraceActionsTest {
         SWTBotUtils.switchToTracingPerspective();
 
         /* Finish waiting for eclipse to load */
-        SWTBotUtils.waitForJobs();
+        WaitUtils.waitForJobs();
         SWTBotUtils.createProject(TRACE_PROJECT_NAME);
     }
 
@@ -118,6 +119,14 @@ public class ProjectExplorerTraceActionsTest {
         fLogger.removeAllAppenders();
     }
 
+    /**
+     * Test tear down method.
+     */
+    @After
+    public void afterTest() {
+        SWTBotUtils.closeSecondaryShells(fBot);
+    }
+
     /**
      * Test that the expected context menu items are there
      * <p>
@@ -157,7 +166,7 @@ public class ProjectExplorerTraceActionsTest {
         SWTBotTreeItem traceItem = SWTBotUtils.getTraceProjectItem(fBot, SWTBotUtils.selectTracesFolder(fBot, TRACE_PROJECT_NAME), TRACE_NAME);
 
         traceItem.contextMenu().menu("Open").click();
-        testEventsTable(TRACE_NAME);
+        SWTBotImportWizardUtils.testEventsTable(fBot, TRACE_NAME, CUSTOM_TEXT_LOG.getNbEvents(), CUSTOM_TEXT_LOG.getFirstEventTimestamp());
         testStatisticsView();
         fBot.closeAllEditors();
     }
@@ -182,9 +191,9 @@ public class ProjectExplorerTraceActionsTest {
         fBot.closeAllEditors();
         SWTBotTreeItem copiedItem = SWTBotUtils.getTraceProjectItem(fBot, SWTBotUtils.selectTracesFolder(fBot, TRACE_PROJECT_NAME), RENAMED_TRACE_NAME);
         copiedItem.contextMenu().menu("Open").click();
-        testEventsTable(RENAMED_TRACE_NAME);
+        SWTBotImportWizardUtils.testEventsTable(fBot, RENAMED_TRACE_NAME, CUSTOM_TEXT_LOG.getNbEvents(), CUSTOM_TEXT_LOG.getFirstEventTimestamp());
         fBot.closeAllEditors();
-        SWTBotUtils.clearTracesFolder(fBot, TRACE_PROJECT_NAME);
+        SWTBotUtils.clearTracesFolderUI(fBot, TRACE_PROJECT_NAME);
     }
 
     /**
@@ -213,9 +222,9 @@ public class ProjectExplorerTraceActionsTest {
 
         SWTBotTreeItem copiedItem = SWTBotUtils.getTraceProjectItem(fBot, SWTBotUtils.selectTracesFolder(fBot, TRACE_PROJECT_NAME), RENAMED_TRACE_NAME);
         copiedItem.contextMenu().menu("Open").click();
-        testEventsTable(RENAMED_TRACE_NAME);
+        SWTBotImportWizardUtils.testEventsTable(fBot, RENAMED_TRACE_NAME, CUSTOM_TEXT_LOG.getNbEvents(), CUSTOM_TEXT_LOG.getFirstEventTimestamp());
         fBot.closeAllEditors();
-        SWTBotUtils.clearTracesFolder(fBot, TRACE_PROJECT_NAME);
+        SWTBotUtils.clearTracesFolderUI(fBot, TRACE_PROJECT_NAME);
     }
 
     /**
@@ -263,7 +272,7 @@ public class ProjectExplorerTraceActionsTest {
         traceItem.select();
         fBot.activeShell().pressShortcut(Keystrokes.CR);
 
-        testEventsTable(TRACE_NAME);
+        SWTBotImportWizardUtils.testEventsTable(fBot, TRACE_NAME, CUSTOM_TEXT_LOG.getNbEvents(), CUSTOM_TEXT_LOG.getFirstEventTimestamp());
         testStatisticsView();
         fBot.closeAllEditors();
     }
@@ -308,10 +317,9 @@ public class ProjectExplorerTraceActionsTest {
     public void test4_08OpenDoubleClick() throws WidgetNotFoundException {
         SWTBotUtils.openTrace(TRACE_PROJECT_NAME, fTestFile.getAbsolutePath(), CUSTOM_TEXT_LOG.getTraceType());
         SWTBotTreeItem traceItem = SWTBotUtils.getTraceProjectItem(fBot, SWTBotUtils.selectTracesFolder(fBot, TRACE_PROJECT_NAME), TRACE_NAME);
-        traceItem.select();
         traceItem.doubleClick();
 
-        testEventsTable(TRACE_NAME);
+        SWTBotImportWizardUtils.testEventsTable(fBot, TRACE_NAME, CUSTOM_TEXT_LOG.getNbEvents(), CUSTOM_TEXT_LOG.getFirstEventTimestamp());
         testStatisticsView();
         fBot.closeAllEditors();
     }
@@ -329,7 +337,6 @@ public class ProjectExplorerTraceActionsTest {
     public void test4_09BringToTop() {
         SWTBotUtils.openTrace(TRACE_PROJECT_NAME, fTestFile.getAbsolutePath(), CUSTOM_TEXT_LOG.getTraceType());
         SWTBotTreeItem traceItem = SWTBotUtils.getTraceProjectItem(fBot, SWTBotUtils.selectTracesFolder(fBot, TRACE_PROJECT_NAME), TRACE_NAME);
-        traceItem.select();
         traceItem.doubleClick();
         fBot.waitUntil(new ConditionHelpers.ActiveEventsEditor(fBot, TRACE_NAME));
         IEditorReference originalEditor = fBot.activeEditor().getReference();
@@ -337,18 +344,15 @@ public class ProjectExplorerTraceActionsTest {
         createCopy(traceItem);
 
         SWTBotTreeItem copiedItem = SWTBotUtils.getTraceProjectItem(fBot, SWTBotUtils.selectTracesFolder(fBot, TRACE_PROJECT_NAME), RENAMED_TRACE_NAME);
-        copiedItem.select();
-        copiedItem.doubleClick();
         copiedItem.doubleClick();
         fBot.waitUntil(new ConditionHelpers.ActiveEventsEditor(fBot, RENAMED_TRACE_NAME));
         SWTBotUtils.delay(1000);
-        traceItem.select();
         traceItem.doubleClick();
         fBot.waitUntil(new ConditionHelpers.ActiveEventsEditor(fBot, TRACE_NAME));
         assertTrue(originalEditor == fBot.activeEditor().getReference());
 
         fBot.closeAllEditors();
-        SWTBotUtils.clearTracesFolder(fBot, TRACE_PROJECT_NAME);
+        SWTBotUtils.clearTracesFolderUI(fBot, TRACE_PROJECT_NAME);
     }
 
     private static void createCopy(SWTBotTreeItem traceItem) {
@@ -362,38 +366,6 @@ public class ProjectExplorerTraceActionsTest {
         fBot.waitUntil(Conditions.shellCloses(shell));
     }
 
-    private static void testEventsTable(String editorName) {
-        SWTBotEditor editor = SWTBotUtils.activeEventsEditor(fBot, editorName);
-        fBot.waitUntil(ConditionHelpers.numberOfEventsInTrace(TmfTraceManager.getInstance().getActiveTrace(), CUSTOM_TEXT_LOG.getNbEvents()));
-
-        SWTBotTable table = editor.bot().table();
-        fBot.waitUntil(new DefaultCondition() {
-            @Override
-            public boolean test() throws Exception {
-                return table.rowCount() > 1;
-            }
-
-            @Override
-            public String getFailureMessage() {
-                return "No items in table";
-            }
-        });
-        // Select first event (skip filter/search row)
-        table.getTableItem(1).select();
-
-        editor.bot().waitUntil(new DefaultCondition() {
-            @Override
-            public boolean test() throws Exception {
-                return table.selection().rowCount() == 1 && table.selection().get(0).toString().contains(CUSTOM_TEXT_LOG.getFirstEventTimestamp());
-            }
-
-            @Override
-            public String getFailureMessage() {
-                return "First event not selected";
-            }
-        });
-    }
-
     private static void testStatisticsView() {
         SWTBotUtils.openView(TmfStatisticsView.ID);
         SWTBotView view = fBot.viewById(TmfStatisticsView.ID);
This page took 0.027367 seconds and 5 git commands to generate.