releng: ProjectExplorer tests stability improvement
authorMarc-Andre Laperle <marc-andre.laperle@ericsson.com>
Wed, 26 Oct 2016 15:01:45 +0000 (11:01 -0400)
committerMarc-André Laperle <marc-andre.laperle@ericsson.com>
Thu, 3 Nov 2016 21:44:50 +0000 (17:44 -0400)
Resuse code for testing events editor. It contains a workaround for
loss of focus that was not applied in one of the classes.

Change-Id: I68b70013060c23daad88cb13abf20c511032f057
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/83944
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
ctf/org.eclipse.tracecompass.tmf.ctf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ctf/ui/swtbot/tests/SWTBotImportWizardUtils.java
releng/org.eclipse.tracecompass.alltests/META-INF/MANIFEST.MF
releng/org.eclipse.tracecompass.integration.swtbot.tests/src/org/eclipse/tracecompass/integration/swtbot/tests/projectexplorer/ProjectExplorerTraceActionsTest.java
releng/org.eclipse.tracecompass.integration.swtbot.tests/src/org/eclipse/tracecompass/integration/swtbot/tests/projectexplorer/ProjectExplorerTracesFolderTest.java

index 4f571f8812c8e599995f30e14953eb8c0c53087f..4ce2e3dd096c2d5a59fcf5bfd8a38bbbb9f13735 100644 (file)
@@ -247,10 +247,10 @@ public final class SWTBotImportWizardUtils {
             return;
         }
 
-        SWTBotTable table = editor.bot().table();
         bot.waitUntil(new DefaultCondition() {
             @Override
             public boolean test() throws Exception {
+                SWTBotTable table = editor.bot().table();
                 return table.rowCount() > 1;
             }
 
@@ -259,17 +259,20 @@ public final class SWTBotImportWizardUtils {
                 return "No items in table";
             }
         });
+        SWTBotTable table = editor.bot().table();
         // Select first event (skip filter/search row)
         table.getTableItem(1).select();
 
         editor.bot().waitUntil(new DefaultCondition() {
             @Override
             public boolean test() throws Exception {
-                boolean ret = table.selection().rowCount() == 1 && table.selection().get(0).toString().contains(firstEventStr);
+                // Get the table again since it can get re-created
+                SWTBotTable curTable = editor.bot().table();
+                boolean ret = curTable.selection().rowCount() == 1 && curTable.selection().get(0).toString().contains(firstEventStr);
                 if (!ret) {
                     // FIXME: Not sure why, sometimes the first select() ends up
                     // selecting an empty item. Retry selecting here.
-                    table.getTableItem(1).select();
+                    curTable.getTableItem(1).select();
                 }
                 return ret;
             }
index d37856544e6fb2c3196ffea05d6a26b91cda60b6..e3953783eba715cb17158fcf2ba777543b9e8040 100644 (file)
@@ -41,7 +41,8 @@ Require-Bundle: org.junit;bundle-version="4.0.0",
  org.eclipse.tracecompass.tmf.remote.core.tests,
  org.eclipse.tracecompass.tmf.remote.ui.tests,
  org.eclipse.tracecompass.tmf.remote.ui.swtbot.tests,
- org.eclipse.tracecompass.tmf.analysis.xml.ui.swtbot.tests
+ org.eclipse.tracecompass.tmf.analysis.xml.ui.swtbot.tests,
+ org.eclipse.tracecompass.integration.swtbot.tests
 Export-Package: org.eclipse.tracecompass.alltests;x-internal:=true,
  org.eclipse.tracecompass.alltests.perf;x-internal:=true,
  org.eclipse.tracecompass.alltests.swtbot;x-internal:=true
index 675d0a5795c6c10802665031004dfde4786fe0fd..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,11 +31,11 @@ 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;
@@ -167,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();
     }
@@ -192,7 +191,7 @@ 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.clearTracesFolderUI(fBot, TRACE_PROJECT_NAME);
     }
@@ -223,7 +222,7 @@ 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.clearTracesFolderUI(fBot, TRACE_PROJECT_NAME);
     }
@@ -273,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();
     }
@@ -320,7 +319,7 @@ public class ProjectExplorerTraceActionsTest {
         SWTBotTreeItem traceItem = SWTBotUtils.getTraceProjectItem(fBot, SWTBotUtils.selectTracesFolder(fBot, TRACE_PROJECT_NAME), TRACE_NAME);
         traceItem.doubleClick();
 
-        testEventsTable(TRACE_NAME);
+        SWTBotImportWizardUtils.testEventsTable(fBot, TRACE_NAME, CUSTOM_TEXT_LOG.getNbEvents(), CUSTOM_TEXT_LOG.getFirstEventTimestamp());
         testStatisticsView();
         fBot.closeAllEditors();
     }
@@ -367,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);
index 82fdcf1da4cf55a1760c16aeb7f9ae1c1a09b467..fcf543775f50e03264e10ceb07630c179eaaf4b9 100644 (file)
@@ -176,6 +176,7 @@ public class ProjectExplorerTracesFolderTest {
         /* Finish waiting for eclipse to load */
         WaitUtils.waitForJobs();
         SWTBotUtils.createProject(TRACE_PROJECT_NAME);
+        importCustomParsers();
     }
 
     /**
@@ -196,7 +197,7 @@ public class ProjectExplorerTracesFolderTest {
         SWTBotUtils.closeSecondaryShells(fBot);
     }
 
-    private static void test3_00Preparation() {
+    private static void importCustomParsers() {
         // FIXME: We can't use Manage Custom Parsers > Import because it uses a native dialog. We'll still check that they show up in the dialog
         CustomTxtTraceDefinition[] txtDefinitions = CustomTxtTraceDefinition.loadAll(getPath("customParsers/ExampleCustomTxtParser.xml"));
         txtDefinitions[0].save();
@@ -230,8 +231,6 @@ public class ProjectExplorerTracesFolderTest {
      */
     @Test
     public void test3_01ContextMenuPresence() {
-        test3_00Preparation();
-
         SWTBotTreeItem traceItem = SWTBotUtils.selectTracesFolder(fBot, TRACE_PROJECT_NAME);
 
         final List<String> EXPECTED_MENU_LABELS = ImmutableList.of(
This page took 0.027685 seconds and 5 git commands to generate.