Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-26227

EAP compatibility test sometimes fails on runtime search dialog

    XMLWordPrintable

Details

    Description

      dcihak of the EAP QE team has reported that the compatibility test they've been using started failing sometimes:
      https://eap-cp-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP-7.1.x-CP/view/EAP-7.1.x-Common/job/eap-71x-jbds-compatibility-jbosstools-RHEL/
      Build 18 failed on openjdk and build 19 failed on oracle jdk. So it only happens sometimes.
      Here's an example of the failure:
      https://eap-cp-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP-7.1.x-CP/view/EAP-7.1.x-Common/job/eap-71x-jbds-compatibility-jbosstools-RHEL/18/jdk=openjdk-1.8,label=RHEL7%20&&%20x86_64/testReport/junit/org.jboss.tools.as.ui.bot.itests.server/SingleServerRuntimeTest/detect_no_configuration/

      Error Message
      
      No matching widget found with Matcher matching when all matchers match: [Matcher matching widget with the same type as or type extending class org.eclipse.swt.widgets.Label, Matcher matching widget which text matches: "Searching runtimes is finished."]
      class org.eclipse.swt.widgets.Shell[shell: 'Searching for runtimes...'] with text 'Searching for runtimes...'
       class org.eclipse.swt.widgets.Composite[shell: 'Searching for runtimes...']
        class org.eclipse.swt.widgets.Label[shell: 'Searching for runtimes...'] with text ''
        class org.eclipse.swt.widgets.Label[shell: 'Searching for runtimes...'] with label '' with text 'Searching /home/hudson/hudson_workspace/works...bot.itests/target/requirements/jboss-eap-7.1'
        class org.eclipse.swt.widgets.Tree[shell: 'Searching for runtimes...'] with label 'Searching /home/hudson/hudson_workspace/works...bot.itests/target/requirements/jboss-eap-7.1'
       class org.eclipse.swt.widgets.Label[shell: 'Searching for runtimes...'] with label 'Searching /home/hudson/hudson_workspace/works...bot.itests/target/requirements/jboss-eap-7.1' with text ''
       class org.eclipse.jface.dialogs.ProgressIndicator[shell: 'Searching for runtimes...'] with label ''
        class org.eclipse.swt.widgets.ProgressBar[shell: 'Searching for runtimes...']
        class org.eclipse.swt.widgets.ProgressBar[shell: 'Searching for runtimes...']
       class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Hide already created runtimes'
       class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Add runtime path to list of paths searchable on startup'
       class org.eclipse.jface.dialogs.ProgressIndicator[shell: 'Searching for runtimes...'] with label ''
        class org.eclipse.swt.widgets.ProgressBar[shell: 'Searching for runtimes...'] with label ''
        class org.eclipse.swt.widgets.ProgressBar[shell: 'Searching for runtimes...']
       class org.eclipse.swt.widgets.Label[shell: 'Searching for runtimes...'] with label '' with text ''
       class org.eclipse.swt.widgets.Composite[shell: 'Searching for runtimes...'] with label ''
        class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'OK'
        class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Select All'
        class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Deselect All'
        class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Cancel'
      Stacktrace
      
      org.eclipse.reddeer.core.exception.CoreLayerException: No matching widget found with Matcher matching when all matchers match: [Matcher matching widget with the same type as or type extending class org.eclipse.swt.widgets.Label, Matcher matching widget which text matches: "Searching runtimes is finished."]
      class org.eclipse.swt.widgets.Shell[shell: 'Searching for runtimes...'] with text 'Searching for runtimes...'
      	class org.eclipse.swt.widgets.Composite[shell: 'Searching for runtimes...']
      		class org.eclipse.swt.widgets.Label[shell: 'Searching for runtimes...'] with text ''
      		class org.eclipse.swt.widgets.Label[shell: 'Searching for runtimes...'] with label '' with text 'Searching /home/hudson/hudson_workspace/works...bot.itests/target/requirements/jboss-eap-7.1'
      		class org.eclipse.swt.widgets.Tree[shell: 'Searching for runtimes...'] with label 'Searching /home/hudson/hudson_workspace/works...bot.itests/target/requirements/jboss-eap-7.1'
      	class org.eclipse.swt.widgets.Label[shell: 'Searching for runtimes...'] with label 'Searching /home/hudson/hudson_workspace/works...bot.itests/target/requirements/jboss-eap-7.1' with text ''
      	class org.eclipse.jface.dialogs.ProgressIndicator[shell: 'Searching for runtimes...'] with label ''
      		class org.eclipse.swt.widgets.ProgressBar[shell: 'Searching for runtimes...']
      		class org.eclipse.swt.widgets.ProgressBar[shell: 'Searching for runtimes...']
      	class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Hide already created runtimes'
      	class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Add runtime path to list of paths searchable on startup'
      	class org.eclipse.jface.dialogs.ProgressIndicator[shell: 'Searching for runtimes...'] with label ''
      		class org.eclipse.swt.widgets.ProgressBar[shell: 'Searching for runtimes...'] with label ''
      		class org.eclipse.swt.widgets.ProgressBar[shell: 'Searching for runtimes...']
      	class org.eclipse.swt.widgets.Label[shell: 'Searching for runtimes...'] with label '' with text ''
      	class org.eclipse.swt.widgets.Composite[shell: 'Searching for runtimes...'] with label ''
      		class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'OK'
      		class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Select All'
      		class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Deselect All'
      		class org.eclipse.swt.widgets.Button[shell: 'Searching for runtimes...'] with label '' with text 'Cancel'
      
      	at org.eclipse.reddeer.common.wait.WaitUntil.throwWaitTimeOutException(WaitUntil.java:122)
      	at org.eclipse.reddeer.common.wait.AbstractWait.timeoutExceeded(AbstractWait.java:207)
      	at org.eclipse.reddeer.common.wait.AbstractWait.wait(AbstractWait.java:151)
      	at org.eclipse.reddeer.common.wait.AbstractWait.<init>(AbstractWait.java:132)
      	at org.eclipse.reddeer.common.wait.AbstractWait.<init>(AbstractWait.java:97)
      	at org.eclipse.reddeer.common.wait.AbstractWait.<init>(AbstractWait.java:64)
      	at org.eclipse.reddeer.common.wait.WaitUntil.<init>(WaitUntil.java:50)
      	at org.eclipse.reddeer.core.lookup.WidgetLookup.activeWidget(WidgetLookup.java:109)
      	at org.eclipse.reddeer.core.lookup.WidgetLookup.activeWidget(WidgetLookup.java:87)
      	at org.eclipse.reddeer.swt.widgets.AbstractWidget.<init>(AbstractWidget.java:76)
      	at org.eclipse.reddeer.swt.widgets.AbstractControl.<init>(AbstractControl.java:38)
      	at org.eclipse.reddeer.swt.impl.label.AbstractLabel.<init>(AbstractLabel.java:24)
      	at org.eclipse.reddeer.swt.impl.label.DefaultLabel.<init>(DefaultLabel.java:102)
      	at org.eclipse.reddeer.swt.impl.label.DefaultLabel.<init>(DefaultLabel.java:62)
      	at org.eclipse.reddeer.swt.impl.label.DefaultLabel.<init>(DefaultLabel.java:52)
      	at org.jboss.tools.as.ui.bot.itests.reddeer.ui.RuntimeDetectionPreferencePage$RuntimeSearchedFinished.test(RuntimeDetectionPreferencePage.java:70)
      	at org.eclipse.reddeer.common.wait.WaitUntil.stopWaiting(WaitUntil.java:103)
      	at org.eclipse.reddeer.common.wait.AbstractWait.wait(AbstractWait.java:147)
      	at org.eclipse.reddeer.common.wait.AbstractWait.<init>(AbstractWait.java:132)
      	at org.eclipse.reddeer.common.wait.AbstractWait.<init>(AbstractWait.java:97)
      	at org.eclipse.reddeer.common.wait.AbstractWait.<init>(AbstractWait.java:64)
      	at org.eclipse.reddeer.common.wait.WaitUntil.<init>(WaitUntil.java:50)
      	at org.jboss.tools.as.ui.bot.itests.reddeer.ui.RuntimeDetectionPreferencePage.search(RuntimeDetectionPreferencePage.java:61)
      	at org.jboss.tools.as.ui.bot.itests.reddeer.util.RuntimeDetectionUtility.addPath(RuntimeDetectionUtility.java:37)
      	at org.jboss.tools.as.ui.bot.itests.reddeer.util.DetectRuntimeTemplate.detectRuntime(DetectRuntimeTemplate.java:37)
      	at org.jboss.tools.as.ui.bot.itests.server.SingleServerRuntimeTest.checkCountAndGetServerName(SingleServerRuntimeTest.java:60)
      	at org.jboss.tools.as.ui.bot.itests.server.SingleServerRuntimeTest.detect(SingleServerRuntimeTest.java:56)
      

      And a screenshot:
      https://eap-cp-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP-7.1.x-CP/view/EAP-7.1.x-Common/job/eap-71x-jbds-compatibility-jbosstools-RHEL/18/jdk=openjdk-1.8,label=RHEL7%20&&%20x86_64/artifact/as/itests/org.jboss.tools.as.ui.bot.itests/target/screenshots/no-configuration/org.jboss.tools.as.ui.bot.itests.server.SingleServerRuntimeTest.detect.png

      One possible explanation is that sometimes it takes longer for the runtime to be found and that makes the test fail. If that's true, then some added wait may fix the problem.

      Keep in mind that we'll need this fix also for the photon stream (JBT 4.6.0), so I guess we'll need to bug Rob to create a maintenance branch from the 4.6.0.Final tag for this.

      Attachments

        Activity

          People

            jkopriva@redhat.com Josef Kopriva
            exd-mmalina Martin Malina
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: