From a058f557aae3a4b754620fc22454503737026a69 Mon Sep 17 00:00:00 2001 From: Teemu Suo-Anttila Date: Mon, 9 Mar 2015 13:35:32 +0200 Subject: [PATCH] Disallow RunLocally annotation in framework tests. Fix NPE for screenshots. Change-Id: I72793d85dfaba41aefa5370331c1ae81348607e9 --- uitest/eclipse-run-selected-test.properties | 5 +++++ .../com/vaadin/tests/tb3/AbstractTB3Test.java | 3 +-- .../tests/tb3/PrivateTB3Configuration.java | 17 ++++++++++++++++- .../com/vaadin/tests/tb3/ScreenshotTB3Test.java | 2 +- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/uitest/eclipse-run-selected-test.properties b/uitest/eclipse-run-selected-test.properties index f8fb0a8c14..535885f877 100644 --- a/uitest/eclipse-run-selected-test.properties +++ b/uitest/eclipse-run-selected-test.properties @@ -22,8 +22,13 @@ com.vaadin.testbench.screenshot.directory= 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()); -- 2.39.5