From a058f557aae3a4b754620fc22454503737026a69 Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Mon, 9 Mar 2015 13:35:32 +0200 Subject: Disallow RunLocally annotation in framework tests. Fix NPE for screenshots. Change-Id: I72793d85dfaba41aefa5370331c1ae81348607e9 --- uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java | 3 +-- .../com/vaadin/tests/tb3/PrivateTB3Configuration.java | 17 ++++++++++++++++- uitest/src/com/vaadin/tests/tb3/ScreenshotTB3Test.java | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) (limited to 'uitest/src/com/vaadin/tests/tb3') diff --git a/uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java b/uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java index a95def5983..2d032ecd9e 100644 --- a/uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java +++ b/uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java @@ -142,7 +142,6 @@ public abstract class AbstractTB3Test extends ParallelTest { } catch (UnsupportedOperationException e) { // Opera does not support this... } - } /** @@ -244,7 +243,7 @@ public abstract class AbstractTB3Test extends ParallelTest { private void openTestURL(Class uiClass, Set parameters) { String url = getTestURL(uiClass); - if(isDebug()) { + if (isDebug()) { parameters.add("debug"); } diff --git a/uitest/src/com/vaadin/tests/tb3/PrivateTB3Configuration.java b/uitest/src/com/vaadin/tests/tb3/PrivateTB3Configuration.java index d0134a4feb..dce725b7c0 100644 --- a/uitest/src/com/vaadin/tests/tb3/PrivateTB3Configuration.java +++ b/uitest/src/com/vaadin/tests/tb3/PrivateTB3Configuration.java @@ -25,9 +25,11 @@ import java.net.SocketException; import java.util.Enumeration; import java.util.Properties; +import org.junit.Assert; import org.openqa.selenium.remote.DesiredCapabilities; import com.vaadin.testbench.annotations.BrowserFactory; +import com.vaadin.testbench.annotations.RunLocally; import com.vaadin.testbench.annotations.RunOnHub; import com.vaadin.testbench.parallel.Browser; @@ -45,8 +47,9 @@ public abstract class PrivateTB3Configuration extends ScreenshotTB3Test { * */ public static final String SCREENSHOT_DIRECTORY = "com.vaadin.testbench.screenshot.directory"; - private static final String RUN_LOCALLY_PROPERTY = "com.vaadin.testbench.runLocally"; private static final String HOSTNAME_PROPERTY = "com.vaadin.testbench.deployment.hostname"; + private static final String RUN_LOCALLY_PROPERTY = "com.vaadin.testbench.runLocally"; + private static final String ALLOW_RUN_LOCALLY_PROPERTY = "com.vaadin.testbench.allowRunLocally"; private static final String PORT_PROPERTY = "com.vaadin.testbench.deployment.port"; private static final String DEPLOYMENT_PROPERTY = "com.vaadin.testbench.deployment.url"; private static final String HUB_URL = "com.vaadin.testbench.hub.url"; @@ -77,6 +80,18 @@ public abstract class PrivateTB3Configuration extends ScreenshotTB3Test { } } + @Override + public void setup() throws Exception { + String allowRunLocally = getProperty(ALLOW_RUN_LOCALLY_PROPERTY); + if ((allowRunLocally == null || !allowRunLocally.equals("" + true)) + && getClass().getAnnotation(RunLocally.class) != null) { + Assert.fail("@RunLocally annotation is not allowed by default in framework tests. " + + "See file uitest/eclipse-run-selected-test.properties for more information."); + } + + super.setup(); + } + private static DesiredCapabilities getRunLocallyCapabilities() { Browser localBrowser; try { diff --git a/uitest/src/com/vaadin/tests/tb3/ScreenshotTB3Test.java b/uitest/src/com/vaadin/tests/tb3/ScreenshotTB3Test.java index f401e0613b..e059dea78d 100644 --- a/uitest/src/com/vaadin/tests/tb3/ScreenshotTB3Test.java +++ b/uitest/src/com/vaadin/tests/tb3/ScreenshotTB3Test.java @@ -340,7 +340,7 @@ public abstract class ScreenshotTB3Test extends AbstractTB3Test { */ @After public void checkCompareFailures() throws IOException { - if (!screenshotFailures.isEmpty()) { + if (screenshotFailures != null && !screenshotFailures.isEmpty()) { throw new IOException( "The following screenshots did not match the reference: " + screenshotFailures.toString()); -- cgit v1.2.3