Author: czadra
Date: Tue Dec 11 10:14:26 2012
New Revision: 1420067

URL: http://svn.apache.org/viewvc?rev=1420067&view=rev
Log:
properties handling for unit-, functional- and feature-tests  - added 
template-unittest.properties

Added:
    incubator/flex/falcon/trunk/compiler.tests/src/
    incubator/flex/falcon/trunk/compiler.tests/src/utils/
    incubator/flex/falcon/trunk/compiler.tests/src/utils/EnvProperties.java   
(with props)
    incubator/flex/falcon/trunk/compiler.tests/template-unittest.properties   
(with props)
Modified:
    incubator/flex/falcon/trunk/compiler.tests/.classpath
    incubator/flex/falcon/trunk/compiler.tests/build.xml
    
incubator/flex/falcon/trunk/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java
    
incubator/flex/falcon/trunk/compiler.tests/functional-tests/f/SDKSWCTests.java
    
incubator/flex/falcon/trunk/compiler.tests/unit-tests/org/apache/flex/compiler/internal/tree/mxml/MXMLNodeBaseTests.java

Modified: incubator/flex/falcon/trunk/compiler.tests/.classpath
URL: 
http://svn.apache.org/viewvc/incubator/flex/falcon/trunk/compiler.tests/.classpath?rev=1420067&r1=1420066&r2=1420067&view=diff
==============================================================================
--- incubator/flex/falcon/trunk/compiler.tests/.classpath (original)
+++ incubator/flex/falcon/trunk/compiler.tests/.classpath Tue Dec 11 10:14:26 
2012
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
        <classpathentry excluding="**/.svn/*" kind="src" path="unit-tests"/>
+       <classpathentry kind="src" path="src"/>
        <classpathentry excluding="**/.svn/*" kind="src" 
path="functional-tests"/>
        <classpathentry kind="src" path="feature-tests"/>
        <classpathentry kind="lib" path="lib/junit-4.10.jar"/>

Modified: incubator/flex/falcon/trunk/compiler.tests/build.xml
URL: 
http://svn.apache.org/viewvc/incubator/flex/falcon/trunk/compiler.tests/build.xml?rev=1420067&r1=1420066&r2=1420067&view=diff
==============================================================================
--- incubator/flex/falcon/trunk/compiler.tests/build.xml (original)
+++ incubator/flex/falcon/trunk/compiler.tests/build.xml Tue Dec 11 10:14:26 
2012
@@ -25,12 +25,15 @@
         <path location="${basedir}"/>
     </pathconvert>
 
-    <property name="compiler" value="${compiler.tests}/../compiler"/>
     <property environment="env"/>
-    <property name="sdk" value="${env.FLEX_HOME}" />
-    <property name="sdk" value="${compiler}/generated/dist/sdk"/>
+       <property file="unittest.properties" />
+       
+       <condition property="sdk" value="${FLEX_HOME}" else="${env.FLEX_HOME}">
+           <isset property="FLEX_HOME" />
+       </condition>
+       
+    <property name="compiler" value="${compiler.tests}/../compiler"/>
     <property name="falcon" value="${compiler}/generated/dist/sdk"/>
-    <property name="fpsdk" value="${env.PLAYERGLOBAL_HOME}" />
 
     <target name="download" description="Downloads third-party JARs">
         <ant antfile="${compiler.tests}/downloads.xml" 
dir="${compiler.tests}"/>
@@ -62,9 +65,11 @@
     </target>
 
     <target name="compile.unit.tests">
+       <delete dir="${compiler.tests}/classes"/>
         <mkdir dir="${compiler.tests}/classes"/>
         <javac debug="${javac.debug}" deprecation="${javac.deprecation}" 
destdir="${compiler.tests}/classes" includeAntRuntime="true">
             <src path="${compiler.tests}/unit-tests"/>
+               <src path="${compiler.tests}/src"/>
             <compilerarg value="-Xlint:all,-path"/>
             <classpath>
                 <fileset dir="${compiler}/lib" includes="**/*.jar"/>
@@ -82,8 +87,44 @@
                printsummary="true" showoutput="true"
                haltonerror="false" haltonfailure="false"
                failureproperty="tests.unit.failed">
-            <sysproperty key="FLEX_HOME" value="${sdk}" />
-            <sysproperty key="PLAYERGLOBAL_HOME" value="${fpsdk}" />
+            <classpath>
+                <pathelement location="${compiler.tests}/classes"/>
+                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
+                <fileset dir="${compiler.tests}/lib" includes="**/*.jar"/>
+                <pathelement location="${falcon}/lib/compiler.jar"/>
+            </classpath>
+            <batchtest todir="${compiler.tests}/results">
+                <fileset dir="${compiler.tests}/classes">
+                    <include name="**/*Tests.class"/>
+                </fileset>
+            </batchtest>
+            <formatter type="xml"/>
+        </junit>
+    </target>
+       
+    <target name="compile.functional.tests">
+       <delete dir="${compiler.tests}/classes" />
+        <mkdir dir="${compiler.tests}/classes"/>
+        <javac debug="${javac.debug}" deprecation="${javac.deprecation}" 
destdir="${compiler.tests}/classes" includeAntRuntime="true">
+               <src path="${compiler.tests}/src"/>
+               <src path="${compiler.tests}/functional-tests"/>
+            <compilerarg value="-Xlint:all,-path"/>
+            <classpath>
+                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
+                <fileset dir="${compiler.tests}/lib" includes="**/*.jar"/>
+                <pathelement location="${falcon}/lib/compiler.jar"/>
+            </classpath>
+        </javac>
+    </target>
+       
+    <target name="functional.tests" depends="download, 
compile.functional.tests">
+        <mkdir dir="${compiler.tests}/results"/>
+        <mkdir dir="${compiler.tests}/temp"/>
+        <junit dir="${compiler.tests}"
+               fork="yes" forkMode="perBatch" maxmemory="256m" timeout="300000"
+               printsummary="true" showoutput="true"
+               haltonerror="false" haltonfailure="false"
+               failureproperty="tests.functional.failed">
             <classpath>
                 <pathelement location="${compiler.tests}/classes"/>
                 <fileset dir="${compiler}/lib" includes="**/*.jar"/>
@@ -99,7 +140,7 @@
         </junit>
     </target>
 
-    <target name="main" depends="unit.tests, jar.tests, ant.tests"/>
+    <target name="main" depends="unit.tests, functional.tests, jar.tests, 
ant.tests"/>
 
     <target name="clean">
         <delete dir="${compiler.tests}/bin"/>

Modified: 
incubator/flex/falcon/trunk/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java
URL: 
http://svn.apache.org/viewvc/incubator/flex/falcon/trunk/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java?rev=1420067&r1=1420066&r2=1420067&view=diff
==============================================================================
--- 
incubator/flex/falcon/trunk/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java
 (original)
+++ 
incubator/flex/falcon/trunk/compiler.tests/feature-tests/mxml/tags/MXMLFeatureTestsBase.java
 Tue Dec 11 10:14:26 2012
@@ -32,6 +32,8 @@ import org.apache.flex.compiler.clients.
 import org.apache.flex.compiler.problems.ICompilerProblem;
 import org.apache.flex.utils.FilenameNormalization;
 
+import utils.EnvProperties;
+
 /**
  * Base class for MXML feature tests which compile MXML code with MXMLC and 
run it in the standalone Flash Player.
  * 
@@ -39,10 +41,11 @@ import org.apache.flex.utils.FilenameNor
  */
 public class MXMLFeatureTestsBase
 {
-       private static final String SDK = 
FilenameNormalization.normalize("../compiler/generated/dist/sdk");
-       private static final String PLAYERGLOBAL_SWC = 
FilenameNormalization.normalize(SDK + 
"\\frameworks\\libs\\player\\11.1\\playerglobal.swc");
+       private static EnvProperties env = EnvProperties.initiate();
+       
+       private static final String PLAYERGLOBAL_SWC = 
FilenameNormalization.normalize(env.FPSDK + "\\11.1\\playerglobal.swc");
        private static final String NAMESPACE_2009 = 
"http://ns.adobe.com/mxml/2009";;
-    private static final String MANIFEST_2009 = 
FilenameNormalization.normalize(SDK + "\\frameworks\\mxml-2009-manifest.xml");
+    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("temp/FlashPlayer.exe");

Modified: 
incubator/flex/falcon/trunk/compiler.tests/functional-tests/f/SDKSWCTests.java
URL: 
http://svn.apache.org/viewvc/incubator/flex/falcon/trunk/compiler.tests/functional-tests/f/SDKSWCTests.java?rev=1420067&r1=1420066&r2=1420067&view=diff
==============================================================================
--- 
incubator/flex/falcon/trunk/compiler.tests/functional-tests/f/SDKSWCTests.java 
(original)
+++ 
incubator/flex/falcon/trunk/compiler.tests/functional-tests/f/SDKSWCTests.java 
Tue Dec 11 10:14:26 2012
@@ -19,8 +19,9 @@
 
 package f;
 
-import static org.junit.Assert.*;
 import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
 
 import java.io.File;
 import java.io.IOException;
@@ -32,6 +33,8 @@ import org.apache.flex.compiler.problems
 import org.junit.Ignore;
 import org.junit.Test;
 
+import utils.EnvProperties;
+
 /**
  * JUnit tests to compile the SWCs of the Flex SDK.
  * <p>
@@ -43,17 +46,14 @@ import org.junit.Test;
  */
 public class SDKSWCTests
 {
+       private static EnvProperties env = EnvProperties.initiate();
+       
        private void compileSWC(String projectName)
        {
                // Construct a command line which simply loads the project's 
config file.
-               String playerglobalHome = System.getenv("PLAYERGLOBAL_HOME");
-               assertNotNull("Environment variable PLAYERGLOBAL_HOME is not 
set", playerglobalHome);
-               
-               String flexHome = System.getenv("FLEX_HOME");
-               assertNotNull("Environment variable FLEX_HOME is not set", 
flexHome);
-               
-               String airHome = System.getenv("AIR_HOME");
-               assertNotNull("Environment variable AIR_HOME is not set", 
airHome);
+               assertNotNull("FLEX_HOME not set in unittest.properties", 
env.SDK);
+               assertNotNull("PLAYERGLOBAL_HOME not set in 
unittest.properties", env.FPSDK);
+               assertNotNull("AIR_HOME not set in unittest.properties", 
env.AIRSDK);
                
                String output = null;
                String outputSwcName = projectName;
@@ -67,12 +67,12 @@ public class SDKSWCTests
                {
                }
 
-               String configFile = flexHome + "/frameworks/projects/" + 
projectName + "/compile-config.xml";
+               String configFile = env.SDK + "/frameworks/projects/" + 
projectName + "/compile-config.xml";
                String[] args = new String[]
                {
                        "-load-config=" + configFile,
-                       "+env.PLAYERGLOBAL_HOME=" + playerglobalHome,
-                       "+env.AIR_HOME=" + airHome,
+                       "+env.PLAYERGLOBAL_HOME=" + env.FPSDK,
+                       "+env.AIR_HOME=" + env.AIRSDK,
                        "+playerglobal.version=11.1",
                        
"-ignore-problems=org.apache.flex.compiler.problems.DuplicateQNameInSourcePathProblem",
                        "-define=CONFIG::performanceInstrumentation,false",

Added: incubator/flex/falcon/trunk/compiler.tests/src/utils/EnvProperties.java
URL: 
http://svn.apache.org/viewvc/incubator/flex/falcon/trunk/compiler.tests/src/utils/EnvProperties.java?rev=1420067&view=auto
==============================================================================
--- incubator/flex/falcon/trunk/compiler.tests/src/utils/EnvProperties.java 
(added)
+++ incubator/flex/falcon/trunk/compiler.tests/src/utils/EnvProperties.java Tue 
Dec 11 10:14:26 2012
@@ -0,0 +1,81 @@
+package utils;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Properties;
+
+import org.apache.flex.utils.FilenameNormalization;
+
+
+/**
+ *  EnvProperties checks in following order for a value.
+ * 
+ *  1) unittest.properties 
+ *  2) environment variables
+ *  3) for key FLEX_HOME & PLAYERGLOBAL_HOME sets a default value.
+ */
+public class EnvProperties {
+       
+       /**
+        * FLEX_HOME
+        */
+       public String SDK;
+       
+       /**
+        * PLAYERGLOBAL_HOME
+        */
+       public String FPSDK;
+       
+       /**
+        * AIR_HOME
+        */
+       public String AIRSDK;
+       
+       /**
+        * FLASHPLAYER_DEBUGGER
+        */
+       public String FDBG;
+       
+       
+       private static EnvProperties propertyReader;
+       
+       public static EnvProperties initiate() {
+               if(propertyReader == null) {
+                       propertyReader = new EnvProperties();
+                       propertyReader.setup();
+               }
+               return propertyReader;
+       }
+       
+       private void setup()
+       {
+               Properties p = new Properties();
+               try {
+                       File f = new File("unittest.properties");
+                       p.load(new FileInputStream( f ));
+               } catch (FileNotFoundException e) {
+                       System.out.println("unittest.properties not found");
+               } catch (IOException e) {
+               }
+               
+               SDK = p.getProperty("FLEX_HOME", System.getenv("FLEX_HOME"));
+               if(SDK == null)
+                       SDK = 
FilenameNormalization.normalize("../compiler/generated/dist/sdk");              
  
+               System.out.println("Env - FLEX_HOME = " + SDK);
+               
+               FPSDK = p.getProperty("PLAYERGLOBAL_HOME", 
System.getenv("PLAYERGLOBAL_HOME"));
+               if(FPSDK == null)
+                       FPSDK = 
FilenameNormalization.normalize("../compiler/generated/dist/sdk/frameworks/libs/player");
+               System.out.println("Env - PLAYERGLOBAL_HOME = " + FPSDK);
+
+               
+               AIRSDK = p.getProperty("AIR_HOME", System.getenv("AIR_HOME"));
+               System.out.println("Env - AIR_HOME = " + AIRSDK);
+               
+               FDBG = p.getProperty("FLASHPLAYER_DEBUGGER", 
System.getenv("FLASHPLAYER_DEBUGGER"));
+               System.out.println("Env - FLASHPLAYER_DEBUGGER = " + FDBG);
+       }
+
+}

Propchange: 
incubator/flex/falcon/trunk/compiler.tests/src/utils/EnvProperties.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/falcon/trunk/compiler.tests/template-unittest.properties
URL: 
http://svn.apache.org/viewvc/incubator/flex/falcon/trunk/compiler.tests/template-unittest.properties?rev=1420067&view=auto
==============================================================================
--- incubator/flex/falcon/trunk/compiler.tests/template-unittest.properties 
(added)
+++ incubator/flex/falcon/trunk/compiler.tests/template-unittest.properties Tue 
Dec 11 10:14:26 2012
@@ -0,0 +1,22 @@
+# copy template-unittest.properties to unittest.properties
+#
+
+# Example      (Windows) FLEX_HOME=C:\\dev\\apache-flex\\sdk
+#                      (Mac Os X)
+# 
+# FLEX_HOME=
+
+# Example      (Windows) AIR_HOME=C://dev//air-sdk-3.4
+#                      (Mac Os X)  
+#
+# AIR_HOME=
+
+# 
+# Example      (Windows) 
PLAYERGLOBAL_HOME=C://dev//apache-flex-4.8.0//frameworks//libs//player
+#                      (Mac Os X) 
+# 
+# PLAYERGLOBAL_HOME=
+
+# Example      (Windows) FLASHPLAYER_DEBUGGER=C://Program Files//Adobe//Adobe 
Flash Builder//player//win//11.1//FlashPlayerDebugger.exe
+#                      (Mac Os X)
+# FLASHPLAYER_DEBUGGER=

Propchange: 
incubator/flex/falcon/trunk/compiler.tests/template-unittest.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/flex/falcon/trunk/compiler.tests/unit-tests/org/apache/flex/compiler/internal/tree/mxml/MXMLNodeBaseTests.java
URL: 
http://svn.apache.org/viewvc/incubator/flex/falcon/trunk/compiler.tests/unit-tests/org/apache/flex/compiler/internal/tree/mxml/MXMLNodeBaseTests.java?rev=1420067&r1=1420066&r2=1420067&view=diff
==============================================================================
--- 
incubator/flex/falcon/trunk/compiler.tests/unit-tests/org/apache/flex/compiler/internal/tree/mxml/MXMLNodeBaseTests.java
 (original)
+++ 
incubator/flex/falcon/trunk/compiler.tests/unit-tests/org/apache/flex/compiler/internal/tree/mxml/MXMLNodeBaseTests.java
 Tue Dec 11 10:14:26 2012
@@ -19,16 +19,15 @@
 
 package org.apache.flex.compiler.internal.tree.mxml;
 
+import static org.junit.Assert.assertNotNull;
+
 import java.io.BufferedWriter;
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
-import java.util.Properties;
 
 import org.apache.flex.compiler.internal.projects.FlexProject;
 import org.apache.flex.compiler.internal.projects.FlexProjectConfigurator;
@@ -42,35 +41,17 @@ import org.apache.flex.compiler.units.IC
 import org.apache.flex.utils.FilenameNormalization;
 import org.junit.Test;
 
+import utils.EnvProperties;
+
 /**
  * JUnit tests for {@link MXMLNodeBase}.
  * 
  * @author Gordon Smith
  */
-public class MXMLNodeBaseTests
+public class MXMLNodeBaseTests 
 {
-       private static String SDK;
-       private static String FPSDK;    
-       private static boolean pathsSet = false;
-       private static void setPaths()
-       {
-               Properties p = new Properties();
-               try {
-                       p.load(new FileInputStream( new 
File("unittest.properties")));
-                       SDK = p.getProperty("FLEX_HOME",
-                                       
FilenameNormalization.normalize("../compiler/generated/dist/sdk"));
-                       FPSDK = p.getProperty("PLAYERGLOBAL_HOME",
-                                       
FilenameNormalization.normalize("../compiler/generated/dist/sdk/frameworks/libs/player"));
-               } catch (FileNotFoundException e) {
-                       SDK = 
FilenameNormalization.normalize("../compiler/generated/dist/sdk");
-                       FPSDK = 
FilenameNormalization.normalize("../compiler/generated/dist/sdk/frameworks/libs/player");
-               } catch (IOException e) {
-                       SDK = 
FilenameNormalization.normalize("../compiler/generated/dist/sdk");
-                       FPSDK = 
FilenameNormalization.normalize("../compiler/generated/dist/sdk/frameworks/libs/player");
-               }
-               
-               pathsSet = true;
-       }
+       
+       private static EnvProperties env = EnvProperties.initiate();
        
        protected static Workspace workspace = new Workspace();
        
@@ -95,11 +76,11 @@ public class MXMLNodeBaseTests
        
        protected IMXMLFileNode getMXMLFileNode(String code)
        {
+               assertNotNull("Environment variable FLEX_HOME is not set", 
env.SDK);
+               assertNotNull("Environment variable PLAYERGLOBAL_HOME is not 
set", env.FPSDK);
+               
                project = new FlexProject(workspace);
-               FlexProjectConfigurator.configure(project);
-
-               if (!pathsSet)
-                       setPaths();
+               FlexProjectConfigurator.configure(project);             
                
                String tempDir = FilenameNormalization.normalize("temp"); // 
ensure this exists
                                
@@ -124,16 +105,16 @@ public class MXMLNodeBaseTests
 
                // Compile the code against playerglobal.swc.
                List<File> libraries = new ArrayList<File>();
-               libraries.add(new File(FilenameNormalization.normalize(FPSDK + 
"\\11.1\\playerglobal.swc")));
-               libraries.add(new File(FilenameNormalization.normalize(SDK + 
"\\frameworks\\libs\\framework.swc")));
-               libraries.add(new File(FilenameNormalization.normalize(SDK + 
"\\frameworks\\libs\\rpc.swc")));
-               libraries.add(new File(FilenameNormalization.normalize(SDK + 
"\\frameworks\\libs\\spark.swc")));
+               libraries.add(new 
File(FilenameNormalization.normalize(env.FPSDK + "\\11.1\\playerglobal.swc")));
+               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")));
                project.setLibraries(libraries);
                
                // Use the MXML 2009 manifest.
                List<IMXMLNamespaceMapping> namespaceMappings = new 
ArrayList<IMXMLNamespaceMapping>();
                IMXMLNamespaceMapping mxml2009 = new MXMLNamespaceMapping(
-                   "http://ns.adobe.com/mxml/2009";, SDK + 
"\\frameworks\\mxml-2009-manifest.xml");
+                   "http://ns.adobe.com/mxml/2009";, env.SDK + 
"\\frameworks\\mxml-2009-manifest.xml");
                namespaceMappings.add(mxml2009);
                project.setNamespaceMappings(namespaceMappings);
                                


Reply via email to