From 88997331ab1f6025a1f9e39ca3e976c8a2ce3592 Mon Sep 17 00:00:00 2001
From: Markus Alexander Kuppe <tlaplus.net@lemmster.de>
Date: Thu, 14 Dec 2017 14:06:32 +0100
Subject: [PATCH] Package Toolbox UI smoke tests for p2 update manager testing
 approach.

[Tests][Toolbox]
---
 .../.project                                  | 17 ++++
 .../build.properties                          |  1 +
 .../feature.xml                               | 78 +++++++++++++++++++
 .../pom.xml                                   | 20 +++++
 .../category.xml                              |  8 ++
 .../org/lamport/tla/toolbox/SmokeTests.java   | 17 ++++
 pom.xml                                       |  1 +
 7 files changed, 142 insertions(+)
 create mode 100644 org.lamport.tla.toolbox.feature.uitest/.project
 create mode 100644 org.lamport.tla.toolbox.feature.uitest/build.properties
 create mode 100644 org.lamport.tla.toolbox.feature.uitest/feature.xml
 create mode 100644 org.lamport.tla.toolbox.feature.uitest/pom.xml
 create mode 100644 org.lamport.tla.toolbox.tool.tlc.ui.uitest/src/org/lamport/tla/toolbox/SmokeTests.java

diff --git a/org.lamport.tla.toolbox.feature.uitest/.project b/org.lamport.tla.toolbox.feature.uitest/.project
new file mode 100644
index 000000000..c05f540f0
--- /dev/null
+++ b/org.lamport.tla.toolbox.feature.uitest/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.lamport.tla.toolbox.feature.uitest</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/org.lamport.tla.toolbox.feature.uitest/build.properties b/org.lamport.tla.toolbox.feature.uitest/build.properties
new file mode 100644
index 000000000..82ab19c62
--- /dev/null
+++ b/org.lamport.tla.toolbox.feature.uitest/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/org.lamport.tla.toolbox.feature.uitest/feature.xml b/org.lamport.tla.toolbox.feature.uitest/feature.xml
new file mode 100644
index 000000000..56396d7c8
--- /dev/null
+++ b/org.lamport.tla.toolbox.feature.uitest/feature.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.lamport.tla.toolbox.feature.uitest"
+      label="TLA+ Toolbox UI test Feature"
+      version="1.0.0.qualifier"
+      provider-name="Markus Kuppe"
+      license-feature="org.lamport.tla.toolbox.feature.branding"
+      license-feature-version="1.0.0.qualifier">
+
+   <description>
+      This feature contains all UI tests.
+   </description>
+
+   <includes
+         id="org.eclipse.swtbot"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.swtbot.eclipse"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.swtbot.eclipse.test.junit"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.swtbot.forms"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.lamport.tla.toolbox.uitest"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.lamport.tla.toolbox.tool.tlc.ui.uitest"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.lamport.tla.toolbox.tool.tla2tex.uitest"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.apache.log4j"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.hamcrest.library"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jdt.junit.runtime"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.apache.ant"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+</feature>
diff --git a/org.lamport.tla.toolbox.feature.uitest/pom.xml b/org.lamport.tla.toolbox.feature.uitest/pom.xml
new file mode 100644
index 000000000..aa8d5b4b5
--- /dev/null
+++ b/org.lamport.tla.toolbox.feature.uitest/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>parent</artifactId>
+    <groupId>tlatoolbox</groupId>
+    <version>0.0.1-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+  <groupId>tlatoolbox</groupId>
+  <artifactId>org.lamport.tla.toolbox.feature.uitest</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <packaging>eclipse-feature</packaging>
+  <properties>
+      <!-- Do not include non-code project in Sonar reporting. -->
+      <sonar.skip>true</sonar.skip>
+  </properties>
+</project>
diff --git a/org.lamport.tla.toolbox.p2repository/category.xml b/org.lamport.tla.toolbox.p2repository/category.xml
index 404145aec..20ccac297 100644
--- a/org.lamport.tla.toolbox.p2repository/category.xml
+++ b/org.lamport.tla.toolbox.p2repository/category.xml
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <site>
+   <feature url="features/org.lamport.tla.toolbox.feature.uitest_1.0.0.qualifier.jar" id="org.lamport.tla.toolbox.feature.uitest" version="1.0.0.qualifier">
+      <category name="tychotest.category"/>
+   </feature>
    <feature url="features/org.lamport.tla.toolbox.feature.standalone_1.0.0.qualifier.jar" id="org.lamport.tla.toolbox.feature.standalone" version="1.0.0.qualifier">
       <category name="tychodemo.category"/>
    </feature>
@@ -11,4 +14,9 @@
          TLA+ Toolbox Category
       </description>
    </category-def>
+   <category-def name="tychotest.category" label="Test Category - please ignore">
+      <description>
+         Please ignore this category which is only relevant for Toolbox testing!
+      </description>
+   </category-def>
 </site>
diff --git a/org.lamport.tla.toolbox.tool.tlc.ui.uitest/src/org/lamport/tla/toolbox/SmokeTests.java b/org.lamport.tla.toolbox.tool.tlc.ui.uitest/src/org/lamport/tla/toolbox/SmokeTests.java
new file mode 100644
index 000000000..585f5609d
--- /dev/null
+++ b/org.lamport.tla.toolbox.tool.tlc.ui.uitest/src/org/lamport/tla/toolbox/SmokeTests.java
@@ -0,0 +1,17 @@
+package org.lamport.tla.toolbox;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+import org.lamport.tla.toolbox.tool.tlc.ui.test.ModelCheckerTest;
+import org.lamport.tla.toolbox.ui.handler.CloneModelTest;
+import org.lamport.tla.toolbox.ui.handler.RenameSpecHandlerTest;
+
+@RunWith(Suite.class)
+@SuiteClasses({
+    ModelCheckerTest.class,
+    CloneModelTest.class,
+    RenameSpecHandlerTest.class
+})
+
+public class SmokeTests {}
diff --git a/pom.xml b/pom.xml
index 5d0673f2f..750ae59d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,6 +66,7 @@
 		<module>org.lamport.tla.toolbox.feature.prover</module>
 		<module>org.lamport.tla.toolbox.feature.tla2tex</module>
 		<module>org.lamport.tla.toolbox.feature.tlc</module>
+		<module>org.lamport.tla.toolbox.feature.uitest</module>
 		<module>org.lamport.tla.toolbox.feature.branding</module>
 		<module>org.lamport.tla.toolbox.feature.standalone</module>
 
-- 
GitLab