You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2016/04/06 17:02:25 UTC

[16/50] git commit: [flex-falcon] [refs/heads/master] - - Made the ASFeatureTestsBase and MXMLFeatureTestsBase use the ITestAdapter - Added some features to the TestAdapters which are needed by the integration-tests (Maven is classified as pre-alpha for

- Made the ASFeatureTestsBase and MXMLFeatureTestsBase use the ITestAdapter
- Added some features to the TestAdapters which are needed by the integration-tests (Maven is classified as pre-alpha for now as it will only work on my machine, but I'll fix that before we start using it)


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/d37eaae5
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/d37eaae5
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/d37eaae5

Branch: refs/heads/master
Commit: d37eaae590e859d540df34f4a5555371b258fba7
Parents: 04bc650
Author: Christofer Dutz <ch...@codecentric.de>
Authored: Wed Feb 24 12:57:50 2016 +0100
Committer: Christofer Dutz <ch...@codecentric.de>
Committed: Wed Feb 24 12:57:50 2016 +0100

----------------------------------------------------------------------
 .../feature-tests/as/ASFeatureTestsBase.java    | 60 +++++++-------------
 .../mxml/tags/MXMLFeatureTestsBase.java         | 60 +++++++-------------
 .../org/apache/flex/utils/AntTestAdapter.java   | 43 ++++++++++++--
 .../src/org/apache/flex/utils/ITestAdapter.java |  8 +++
 .../org/apache/flex/utils/MavenTestAdapter.java | 30 +++++++++-
 5 files changed, 119 insertions(+), 82 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d37eaae5/compiler.tests/feature-tests/as/ASFeatureTestsBase.java
----------------------------------------------------------------------
diff --git a/compiler.tests/feature-tests/as/ASFeatureTestsBase.java b/compiler.tests/feature-tests/as/ASFeatureTestsBase.java
index cb1d7eb..e088970 100644
--- a/compiler.tests/feature-tests/as/ASFeatureTestsBase.java
+++ b/compiler.tests/feature-tests/as/ASFeatureTestsBase.java
@@ -19,9 +19,9 @@
 
 package as;
 
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
+import org.apache.flex.compiler.clients.MXMLC;
+import org.apache.flex.compiler.problems.ICompilerProblem;
+import org.apache.flex.utils.*;
 
 import java.io.BufferedWriter;
 import java.io.File;
@@ -33,11 +33,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.*;
 
-import org.apache.flex.compiler.clients.MXMLC;
-import org.apache.flex.compiler.problems.ICompilerProblem;
-import org.apache.flex.utils.EnvProperties;
-import org.apache.flex.utils.FilenameNormalization;
-import org.apache.flex.utils.StringUtils;
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
 
 
 /**
@@ -46,32 +44,18 @@ import org.apache.flex.utils.StringUtils;
  */
 public class ASFeatureTestsBase
 {
-	private static EnvProperties env = EnvProperties.initiate();
-	
-	private static final String PLAYERGLOBAL_SWC = FilenameNormalization.normalize(env.FPSDK + "\\" + env.FPVER + "\\playerglobal.swc");
-	
-	private static final String FRAMEWORK_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs\\framework.swc");
-	private static final String FRAMEWORK_RB_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\locale\\en_US\\framework_rb.swc");
-	
-	private static final String RPC_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs\\rpc.swc");
-	private static final String RPC_RB_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\locale\\en_US\\rpc_rb.swc");
-
-	private static final String SPARK_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs\\spark.swc");
-	private static final String SPARK_RB_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\locale\\en_US\\spark_rb.swc");
-	
 	private static final String NAMESPACE_2009 = "http://ns.adobe.com/mxml/2009";
-    
-	private static final String MANIFEST_2009 = FilenameNormalization.normalize(env.SDK + "\\frameworks\\mxml-2009-manifest.xml");
-    
-    // The Ant script for compiler.tests copies a standalone player to the temp directory.
-    private static final String FLASHPLAYER = FilenameNormalization.normalize(env.FDBG);
 
 	protected void compileAndRun(String source, boolean withFramework, boolean withRPC, boolean withSpark, String[] otherOptions)
 	{
 		System.out.println("Generating test:");
 
 		// Write the MXML into a temp file.
-		String tempDir = FilenameNormalization.normalize("temp");
+		// Depending on the "buildType" system-property, create the corresponding test-adapter.
+		// Make the AntTestAdapter the default.
+		ITestAdapter testAdapter = System.getProperty("buildType", "Ant").equals("Maven") ?
+				new MavenTestAdapter() : new AntTestAdapter();
+		String tempDir = testAdapter.getTempDir();
 		File tempASFile = null;
 		try
 		{
@@ -97,25 +81,25 @@ public class ASFeatureTestsBase
 		List<String> swcs = new ArrayList<String>();
 		if (withFramework)
 		{
-			swcs.add(FRAMEWORK_SWC);
-			swcs.add(FRAMEWORK_RB_SWC);
+			swcs.add(testAdapter.getArtifact("framework").getPath());
+			swcs.add(testAdapter.getArtifactResourceBundle("framework").getPath());
 		}
 		if (withRPC)
 		{
-			swcs.add(RPC_SWC);
-			swcs.add(RPC_RB_SWC);
+			swcs.add(testAdapter.getArtifact("rpc").getPath());
+			swcs.add(testAdapter.getArtifactResourceBundle("rpc").getPath());
 		}
 		if (withSpark)
 		{
-			swcs.add(SPARK_SWC);
-			swcs.add(SPARK_RB_SWC);
+			swcs.add(testAdapter.getArtifact("spark").getPath());
+			swcs.add(testAdapter.getArtifactResourceBundle("spark").getPath());
 		}
 		String libraryPath = "-library-path=" + StringUtils.join(swcs.toArray(new String[swcs.size()]), ",");
 		
 		List<String> args = new ArrayList<String>();
-		args.add("-external-library-path=" + PLAYERGLOBAL_SWC);
+		args.add("-external-library-path=" + testAdapter.getPlayerglobal().getPath());
 		args.add(libraryPath);
-		args.add("-namespace=" + NAMESPACE_2009 + "," + MANIFEST_2009);
+		args.add("-namespace=" + NAMESPACE_2009 + "," + testAdapter.getManifestPath());
 		if (otherOptions != null)
 		{
 			Collections.addAll(args, otherOptions);
@@ -142,15 +126,15 @@ public class ASFeatureTestsBase
 		assertThat(sb.toString(), exitCode, is(0));
 
 		// Check the existence of the flashplayer executable
-		File playerExecutable = new File(FLASHPLAYER);
+		File playerExecutable = testAdapter.getFlashplayerDebugger();
 		if(!playerExecutable.isFile() || !playerExecutable.exists()) {
-			fail("The flashplayer executable " + FLASHPLAYER + " doesn't exist.");
+			fail("The flashplayer executable " + testAdapter.getFlashplayerDebugger().getPath() + " doesn't exist.");
 		}
 
 		// Run the SWF in the standalone player amd wait until the SWF calls System.exit().
 		String swf = FilenameNormalization.normalize(tempASFile.getAbsolutePath());
 		swf = swf.replace(".as", ".swf");
-		String[] runArgs = new String[] { FLASHPLAYER, swf };
+		String[] runArgs = new String[] { testAdapter.getFlashplayerDebugger().getPath(), swf };
 		try
 		{
 			System.out.println("Executing test:\n" + Arrays.toString(runArgs));

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d37eaae5/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java
----------------------------------------------------------------------
diff --git a/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java b/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java
index 0e4a0f2..fd5fc16 100644
--- a/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java
+++ b/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java
@@ -19,9 +19,9 @@
 
 package mxml.tags;
 
-import static org.hamcrest.core.Is.is;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
+import org.apache.flex.compiler.clients.MXMLC;
+import org.apache.flex.compiler.problems.ICompilerProblem;
+import org.apache.flex.utils.*;
 
 import java.io.BufferedWriter;
 import java.io.File;
@@ -33,11 +33,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.*;
 
-import org.apache.flex.compiler.clients.MXMLC;
-import org.apache.flex.compiler.problems.ICompilerProblem;
-import org.apache.flex.utils.EnvProperties;
-import org.apache.flex.utils.FilenameNormalization;
-import org.apache.flex.utils.StringUtils;
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
 
 
 /**
@@ -47,32 +45,18 @@ import org.apache.flex.utils.StringUtils;
  */
 public class MXMLFeatureTestsBase
 {
-	private static EnvProperties env = EnvProperties.initiate();
-	
-	private static final String PLAYERGLOBAL_SWC = FilenameNormalization.normalize(env.FPSDK + "\\" + env.FPVER + "\\playerglobal.swc");
-	
-	private static final String FRAMEWORK_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs\\framework.swc");
-	private static final String FRAMEWORK_RB_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\locale\\en_US\\framework_rb.swc");
-	
-	private static final String RPC_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs\\rpc.swc");
-	private static final String RPC_RB_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\locale\\en_US\\rpc_rb.swc");
-
-	private static final String SPARK_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs\\spark.swc");
-	private static final String SPARK_RB_SWC = FilenameNormalization.normalize(env.SDK + "\\frameworks\\locale\\en_US\\spark_rb.swc");
-	
 	private static final String NAMESPACE_2009 = "http://ns.adobe.com/mxml/2009";
     
-	private static final String MANIFEST_2009 = FilenameNormalization.normalize(env.SDK + "\\frameworks\\mxml-2009-manifest.xml");
-    
-    // The Ant script for compiler.tests copies a standalone player to the temp directory.
-    private static final String FLASHPLAYER = FilenameNormalization.normalize(env.FDBG);
-
 	protected void compileAndRun(String mxml, boolean withFramework, boolean withRPC, boolean withSpark, String[] otherOptions)
 	{
 		System.out.println("Generating test:");
 
 		// Write the MXML into a temp file.
-		String tempDir = FilenameNormalization.normalize("temp");
+		// Depending on the "buildType" system-property, create the corresponding test-adapter.
+		// Make the AntTestAdapter the default.
+		ITestAdapter testAdapter = System.getProperty("buildType", "Ant").equals("Maven") ?
+				new MavenTestAdapter() : new AntTestAdapter();
+		String tempDir = testAdapter.getTempDir();
 		File tempMXMLFile = null;
 		try
 		{
@@ -93,25 +77,25 @@ public class MXMLFeatureTestsBase
 		List<String> swcs = new ArrayList<String>();
 		if (withFramework)
 		{
-			swcs.add(FRAMEWORK_SWC);
-			swcs.add(FRAMEWORK_RB_SWC);
+			swcs.add(testAdapter.getArtifact("framework").getPath());
+			swcs.add(testAdapter.getArtifactResourceBundle("framework").getPath());
 		}
 		if (withRPC)
 		{
-			swcs.add(RPC_SWC);
-			swcs.add(RPC_RB_SWC);
+			swcs.add(testAdapter.getArtifact("rpc").getPath());
+			swcs.add(testAdapter.getArtifactResourceBundle("rpc").getPath());
 		}
 		if (withSpark)
 		{
-			swcs.add(SPARK_SWC);
-			swcs.add(SPARK_RB_SWC);
+			swcs.add(testAdapter.getArtifact("spark").getPath());
+			swcs.add(testAdapter.getArtifactResourceBundle("spark").getPath());
 		}
 		String libraryPath = "-library-path=" + StringUtils.join(swcs.toArray(new String[swcs.size()]), ",");
 		
 		List<String> args = new ArrayList<String>();
-		args.add("-external-library-path=" + PLAYERGLOBAL_SWC);
+		args.add("-external-library-path=" + testAdapter.getPlayerglobal().getPath());
 		args.add(libraryPath);
-		args.add("-namespace=" + NAMESPACE_2009 + "," + MANIFEST_2009);
+		args.add("-namespace=" + NAMESPACE_2009 + "," + testAdapter.getManifestPath());
 		if (otherOptions != null)
 		{
 			Collections.addAll(args, otherOptions);
@@ -138,15 +122,15 @@ public class MXMLFeatureTestsBase
 		assertThat(sb.toString(), exitCode, is(0));
 
 		// Check the existence of the flashplayer executable
-		File playerExecutable = new File(FLASHPLAYER);
+		File playerExecutable = testAdapter.getFlashplayerDebugger();
 		if(!playerExecutable.isFile() || !playerExecutable.exists()) {
-			fail("The flashplayer executable " + FLASHPLAYER + " doesn't exist.");
+			fail("The flashplayer executable " + testAdapter.getFlashplayerDebugger().getPath() + " doesn't exist.");
 		}
 
 		// Run the SWF in the standalone player amd wait until the SWF calls System.exit().
 		String swf = FilenameNormalization.normalize(tempMXMLFile.getAbsolutePath());
 		swf = swf.replace(".mxml", ".swf");
-		String[] runArgs = new String[] { FLASHPLAYER, swf };
+		String[] runArgs = new String[] { testAdapter.getFlashplayerDebugger().getPath(), swf };
 		try
 		{
 			System.out.println("Executing test:\n" + Arrays.toString(runArgs));

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d37eaae5/compiler.tests/src/org/apache/flex/utils/AntTestAdapter.java
----------------------------------------------------------------------
diff --git a/compiler.tests/src/org/apache/flex/utils/AntTestAdapter.java b/compiler.tests/src/org/apache/flex/utils/AntTestAdapter.java
index 32c24d5..c0d253d 100644
--- a/compiler.tests/src/org/apache/flex/utils/AntTestAdapter.java
+++ b/compiler.tests/src/org/apache/flex/utils/AntTestAdapter.java
@@ -13,6 +13,13 @@ public class AntTestAdapter implements ITestAdapter {
 
     private static EnvProperties env = EnvProperties.initiate();
 
+    private static final File PLAYERGLOBAL_SWC = new File(FilenameNormalization.normalize(env.FPSDK + "\\" + env.FPVER + "\\playerglobal.swc"));
+    // The Ant script for compiler.tests copies a standalone player to the temp directory.
+    private static final File FLASHPLAYER = new File(FilenameNormalization.normalize(env.FDBG));
+
+    private static final File LIBS_ROOT = new File(FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs"));
+    private static final File RESOURCE_BUNDLES_ROOT = new File(FilenameNormalization.normalize(env.SDK + "\\frameworks\\locale\\en_US"));
+
     @Override
     public String getTempDir() {
         return FilenameNormalization.normalize("temp"); // ensure this exists
@@ -28,12 +35,12 @@ public class AntTestAdapter implements ITestAdapter {
 
         // Create a list of libs needed to compile.
         List<File> libraries = new ArrayList<File>();
-        libraries.add(new File(FilenameNormalization.normalize(env.FPSDK + "\\" + env.FPVER + "\\playerglobal.swc")));
+        libraries.add(getPlayerglobal());
         if (withFlex)
         {
-            libraries.add(new File(FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs\\framework.swc")));
-            libraries.add(new File(FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs\\rpc.swc")));
-            libraries.add(new File(FilenameNormalization.normalize(env.SDK + "\\frameworks\\libs\\spark.swc")));
+            libraries.add(getArtifact("framework"));
+            libraries.add(getArtifact("rpc"));
+            libraries.add(getArtifact("spark"));
         }
         return libraries;
     }
@@ -43,4 +50,32 @@ public class AntTestAdapter implements ITestAdapter {
         return env.SDK + "\\frameworks\\mxml-2009-manifest.xml";
     }
 
+    @Override
+    public File getPlayerglobal() {
+        return PLAYERGLOBAL_SWC;
+    }
+
+    @Override
+    public File getFlashplayerDebugger() {
+        return FLASHPLAYER;
+    }
+
+    @Override
+    public File getArtifact(String artifactName) {
+        return getLib(artifactName);
+    }
+
+    @Override
+    public File getArtifactResourceBundle(String artifactName) {
+        return getResourceBundle(artifactName);
+    }
+
+    private File getLib(String artifactId) {
+        return new File(LIBS_ROOT, artifactId + ".swc");
+    }
+
+    private File getResourceBundle(String artifactId) {
+        return new File(RESOURCE_BUNDLES_ROOT, artifactId + "_rb.swc");
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d37eaae5/compiler.tests/src/org/apache/flex/utils/ITestAdapter.java
----------------------------------------------------------------------
diff --git a/compiler.tests/src/org/apache/flex/utils/ITestAdapter.java b/compiler.tests/src/org/apache/flex/utils/ITestAdapter.java
index 460ce16..4790004 100644
--- a/compiler.tests/src/org/apache/flex/utils/ITestAdapter.java
+++ b/compiler.tests/src/org/apache/flex/utils/ITestAdapter.java
@@ -14,4 +14,12 @@ public interface ITestAdapter {
 
     String getManifestPath();
 
+    File getPlayerglobal();
+
+    File getFlashplayerDebugger();
+
+    File getArtifact(String artifactName);
+
+    File getArtifactResourceBundle(String artifactName);
+
 }

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/d37eaae5/compiler.tests/src/org/apache/flex/utils/MavenTestAdapter.java
----------------------------------------------------------------------
diff --git a/compiler.tests/src/org/apache/flex/utils/MavenTestAdapter.java b/compiler.tests/src/org/apache/flex/utils/MavenTestAdapter.java
index 403ee67..09f41c3 100644
--- a/compiler.tests/src/org/apache/flex/utils/MavenTestAdapter.java
+++ b/compiler.tests/src/org/apache/flex/utils/MavenTestAdapter.java
@@ -23,8 +23,7 @@ public class MavenTestAdapter implements ITestAdapter {
     @Override
     public List<File> getLibraries(boolean withFlex) {
         List<File> libs = new ArrayList<File>();
-        libs.add(getDependency("com.adobe.flash.framework", "playerglobal",
-                System.getProperty("flashVersion"), "swc", null));
+        libs.add(getPlayerglobal());
         if(withFlex) {
             String flexVersion = System.getProperty("flexVersion");
             libs.add(getDependency("org.apache.flex.framework", "framework", flexVersion, "swc", null));
@@ -48,6 +47,33 @@ public class MavenTestAdapter implements ITestAdapter {
         return new File(unpackedConfigsDir, "mxml-2009-manifest.xml").getPath();
     }
 
+    @Override
+    public File getPlayerglobal() {
+        return getDependency("com.adobe.flash.framework", "playerglobal",
+                System.getProperty("flashVersion"), "swc", null);
+    }
+
+    @Override
+    public File getFlashplayerDebugger() {
+        // TODO: If the archive isn't unpacked, unpack it.
+        // TODO: Return a reference to the player debugger executable, depending on the current platform.
+        return new File("/Users/christoferdutz/Devtools/Adobe/Flash/19.0/Flash Player.app/Contents/MacOS/Flash Player Debugger");
+        /*return getDependency("com.adobe.flash.runtime", "player-debugger",
+                System.getProperty("flashVersion"), "zip", null);*/
+    }
+
+    @Override
+    public File getArtifact(String artifactName) {
+        String flexVersion = System.getProperty("flexVersion");
+        return getDependency("org.apache.flex.framework", artifactName, flexVersion, "swc", null);
+    }
+
+    @Override
+    public File getArtifactResourceBundle(String artifactName) {
+        String flexVersion = System.getProperty("flexVersion");
+        return getDependency("org.apache.flex.framework", artifactName, flexVersion, "rb.swc", "en_US");
+    }
+
     private File getDependency(String groupId, String artifactId, String version, String type, String classifier) {
         String dependencyPath = System.getProperty("mavenLocalRepoDir") + "/" + groupId.replaceAll("\\.", "/") + "/" +
                 artifactId + "/" + version + "/" + artifactId + "-" + version +