Author: jlmonteiro
Date: Thu Jan 13 08:03:52 2011
New Revision: 1058450

URL: http://svn.apache.org/viewvc?rev=1058450&view=rev
Log:
Fix some issues under Cygwin and Windows at least.

Modified:
    
openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy

Modified: 
openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy?rev=1058450&r1=1058449&r2=1058450&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy
 (original)
+++ 
openejb/trunk/openejb3/assembly/itest-runner/src/test/groovy/commands/SetupCommand.groovy
 Thu Jan 13 08:03:52 2011
@@ -26,177 +26,185 @@ import java.io.File
 import org.apache.openejb.tomcat.installer.Installer;
 import org.apache.openejb.tomcat.installer.Paths;
 
-class SetupCommand
-{
-       def log
-       def ant
-       def project
-       
-    def SetupCommand(source) {
-               this.log = source.log
-               this.project = source.project
-               this.ant = new AntBuilder()
-    }
-       
-       def get(name) {
-               assert name != null
-
-               def value = project.properties.getProperty(name)
-
-               log.debug("Get property: $name=$value")
-
-               return value
-       }
-
-       def get(name, defaultValue) {
-               def value = get(name)
-
-               if (value == null) {
-                       value = defaultValue
-               }
-
-               return value
-       }
-       
-       def getBoolean(name, defaultValue) {
-               def value = get(name, defaultValue)
-               return Boolean.valueOf("$value")
-       }
-    
-       def require(name) {
-               assert name != null
-
-               log.debug("Require property: $name")
-
-               if (!project.properties.containsKey(name) && 
!System.properties.containsKey(name)) {
-                       throw new Exception("Missing required property: $name")
-               }
-
-               def value = get(name)
-
-               if (value == 'null') {
-                       throw new Exception("Missing required property: $name 
(resolved to null)")
-               }
-
-               return value
-       }
-       
-       def isWindows() {
-               def os = System.getProperty("os.name").toLowerCase()
-           return (os.indexOf("win") >= 0)
-       }
-       
-       def execute() {
-               execute("6.0.29")
-               execute("7.0.5")
-       }
-       
-    def execute(tomcatVersion) {
-               def localRepo = require('localRepository')
-               def openejbHome = require('openejb.home')
-               def extension = ".sh"
-               def stopPort = get('tomcat.port.stop', '18005')
-               def httpPort = get('tomcat.port.http', '18080')
-               def ajpPort = get('tomcat.port.ajp', '18009')           
-               
-               if (isWindows()) {
-                       extension = ".bat"
-               }
-               
-               if (getBoolean('skipTests', false)) {
-                       log.info('Skipping itests.')
-                       return
-               }
-               
-               def source = ""
-                if (tomcatVersion != "testonly") {
-                    if (tomcatVersion =~ /^7\./) {
-                            source = 
"http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcatVersion}-beta/bin/apache-tomcat-${tomcatVersion}.zip";
-                    }
-
-                    if (tomcatVersion =~ /^6\./) {
-                            source = 
"http://archive.apache.org/dist/tomcat/tomcat-6/v${tomcatVersion}/bin/apache-tomcat-${tomcatVersion}.zip";
-                    }
-
-                    if (tomcatVersion =~ /^5\.5/) {
-                            source = 
"http://archive.apache.org/dist/tomcat/tomcat-5/v${tomcatVersion}/bin/apache-tomcat-${tomcatVersion}.zip";
-                    }
-
-                    def dest = 
"${project.build.directory}/apache-tomcat-${tomcatVersion}.zip"
-                    ant.get(src: source, dest: dest)
-
-                    ant.unzip(src: dest, dest: "${project.build.directory}")
-
-                    ant.echo("Deploying the openejb war")
-                    ant.unzip(src: 
"${localRepo}/org/apache/openejb/openejb-tomcat-webapp/${project.version}/openejb-tomcat-webapp-${project.version}.war",
-                                            dest: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/webapps/openejb")
-
-
-                    def catalinaHome = 
"${project.build.directory}/apache-tomcat-${tomcatVersion}"
-                    ant.echo("Installing to: ${catalinaHome}")
-
-                    System.setProperty("catalina.home", "${catalinaHome}")
-                    System.setProperty("catalina.base", "${catalinaHome}")
-                    Paths paths = new Paths(new 
File("${catalinaHome}/webapps/openejb"))
-                    Installer installer = new Installer(paths, true)
-                    installer.installAll()
-
-                    ant.echo("Assigning execute privileges to scripts in 
Tomcat bin directory")
-                    ant.chmod(dir: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/bin", perm: "u+x", 
includes: "**/*.sh")
-
-                    ant.echo("Deploying the itests war")
-                    ant.unzip(src: 
"${localRepo}/org/apache/openejb/openejb-itests-web/${project.version}/openejb-itests-web-${project.version}.war",
-                                            dest: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/webapps/itests")
-
-                    def alerts = new Alerts()
-                    def file = new 
File("${project.build.directory}/apache-tomcat-${tomcatVersion}/conf/server.xml")
-                    def fileContent = Installers.readAll(file, alerts)
-                    fileContent = fileContent.replaceAll("Server 
port=\"8005\"", "Server port=\"" + stopPort + "\"");
-                    fileContent = fileContent.replaceAll("Connector 
port=\"8080\"", "Connector port=\"" + httpPort + "\"");
-                    fileContent = fileContent.replaceAll("Connector 
port=\"8009\"", "Connector port=\"" + ajpPort + "\"");
-                    Installers.writeAll(file, fileContent, alerts)
-
-                    ant.echo("Starting Tomcat...")
-                    ant.exec(executable: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/bin/startup${extension}")
 {
-                        //env(key: "JPDA_SUSPEND", value: "y")
-                        //arg(line: "jpda start")
-                        arg(line: "start")
-                    }
-
-                    ant.waitfor(maxwait: 1, maxwaitunit: "minute") {
-                            ant.and() {
-                                    ant.socket(server: "localhost", port: 
httpPort)
-                                    ant.socket(server: "localhost", port: 
stopPort)
-                                    ant.socket(server: "localhost", port: 
ajpPort)
-                            }
-                    }
-
-                    ant.echo("Tomcat started. Running itests...")
-                }
-                
-               ant.java(jar: 
"${localRepo}/org/apache/openejb/openejb-itests-standalone-client/${project.version}/openejb-itests-standalone-client-${project.version}.jar",
 fork: "yes") {
-                       sysproperty(key: "openejb.home", value: 
"${openejbHome}")
-                       sysproperty(key: "openejb.server.uri", value: 
"http://127.0.0.1:"; + httpPort + "/openejb/ejb")
-                       
-                       //sysproperty(key:"DEBUG", value:"true")
-                       
//jvmarg(value:"-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888")
-                       arg(value: "tomcat")
-               }
-
-               ant.echo("Tomcat itests complete, stopping Tomcat")
-               ant.exec(executable: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/bin/shutdown${extension}")
-               ant.waitfor(maxwait: 1, maxwaitunit: "minute") {
-                       ant.not() {
-                               ant.or() {
-                                       ant.socket(server: "localhost", port: 
httpPort)
-                                       ant.socket(server: "localhost", port: 
stopPort)
-                                       ant.socket(server: "localhost", port: 
ajpPort)
-                                       ant.socket(server: "localhost", port: 
"61616")
-                               }
-                       }
-               }
-               
-               ant.echo("Tomcat stopped, itest run complete")
+class SetupCommand {
+  def log
+  def ant
+  def project
+
+  def SetupCommand(source) {
+    this.log = source.log
+    this.project = source.project
+    this.ant = new AntBuilder()
+  }
+
+  def get(name) {
+    assert name != null
+
+    def value = project.properties.getProperty(name)
+
+    log.debug("Get property: $name=$value")
+
+    return value
+  }
+
+  def get(name, defaultValue) {
+    def value = get(name)
+
+    if (value == null) {
+      value = defaultValue
+    }
+
+    return value
+  }
+
+  def getBoolean(name, defaultValue) {
+    def value = get(name, defaultValue)
+    return Boolean.valueOf("$value")
+  }
+
+  def require(name) {
+    assert name != null
+
+    log.debug("Require property: $name")
+
+    if (!project.properties.containsKey(name) && 
!System.properties.containsKey(name)) {
+      throw new Exception("Missing required property: $name")
+    }
+
+    def value = get(name)
+
+    if (value == 'null') {
+      throw new Exception("Missing required property: $name (resolved to 
null)")
+    }
+
+    return value
+  }
+
+  def isWindows() {
+    def os = System.getProperty("os.name").toLowerCase()
+    return (os.indexOf("win") >= 0)
+  }
+
+  def execute() {
+    execute("6.0.29")
+    execute("7.0.5")
+  }
+
+  def execute(tomcatVersion) {
+    def localRepo = require('localRepository')
+    def openejbHome = require('openejb.home')
+    def extension = ".sh"
+    def stopPort = get('tomcat.port.stop', '18005')
+    def httpPort = get('tomcat.port.http', '18080')
+    def ajpPort = get('tomcat.port.ajp', '18009')
+
+    if (isWindows()) {
+      extension = ".bat"
+    }
+
+    if (getBoolean('skipTests', false)) {
+      log.info('Skipping itests.')
+      return
+    }
+
+    def source = ""
+    def dest = "${project.build.directory}/apache-tomcat-${tomcatVersion}.zip"
+    def catalinaHome = 
"${project.build.directory}/apache-tomcat-${tomcatVersion}"
+
+    if (tomcatVersion != "testonly") {
+      if (tomcatVersion =~ /^7\./) {
+        source = 
"http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcatVersion}-beta/bin/apache-tomcat-${tomcatVersion}.zip";
+      }
+
+      if (tomcatVersion =~ /^6\./) {
+        source = 
"http://archive.apache.org/dist/tomcat/tomcat-6/v${tomcatVersion}/bin/apache-tomcat-${tomcatVersion}.zip";
+      }
+
+      if (tomcatVersion =~ /^5\.5/) {
+        source = 
"http://archive.apache.org/dist/tomcat/tomcat-5/v${tomcatVersion}/bin/apache-tomcat-${tomcatVersion}.zip";
+      }
+
+      ant.get(src: source, dest: dest)
+
+      ant.unzip(src: dest, dest: "${project.build.directory}")
+
+      ant.echo("Deploying the openejb war")
+      ant.unzip(src: 
"${localRepo}/org/apache/openejb/openejb-tomcat-webapp/${project.version}/openejb-tomcat-webapp-${project.version}.war",
+              dest: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/webapps/openejb")
+
+      ant.echo("Installing to: ${catalinaHome}")
+
+      System.setProperty("catalina.home", "${catalinaHome}")
+      System.setProperty("catalina.base", "${catalinaHome}")
+      Paths paths = new Paths(new File("${catalinaHome}/webapps/openejb"))
+      Installer installer = new Installer(paths, true)
+      installer.installAll()
+
+      ant.echo("Assigning execute privileges to scripts in Tomcat bin 
directory")
+      ant.chmod(dir: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/bin", perm: "u+x", 
includes: "**/*.sh")
+
+      ant.echo("Deploying the itests war")
+      ant.unzip(src: 
"${localRepo}/org/apache/openejb/openejb-itests-web/${project.version}/openejb-itests-web-${project.version}.war",
+              dest: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/webapps/itests")
+
+      def alerts = new Alerts()
+      def file = new 
File("${project.build.directory}/apache-tomcat-${tomcatVersion}/conf/server.xml")
+      def fileContent = Installers.readAll(file, alerts)
+      fileContent = fileContent.replaceAll("Server port=\"8005\"", "Server 
port=\"" + stopPort + "\"");
+      fileContent = fileContent.replaceAll("Connector port=\"8080\"", 
"Connector port=\"" + httpPort + "\"");
+      fileContent = fileContent.replaceAll("Connector port=\"8009\"", 
"Connector port=\"" + ajpPort + "\"");
+      Installers.writeAll(file, fileContent, alerts)
+
+      ant.exec(executable: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/bin/startup${extension}",
+              spawn: true) {
+        env(key: "CATALINA_HOME", value: "${catalinaHome}")
+        env(key: "CATALINA_BASE", value: "${catalinaHome}")
+        //env(key: "JPDA_SUSPEND", value: "y")
+        //arg(line: "jpda start")
+        arg(line: "start")
+      }
+
+      ant.waitfor(maxwait: 1, maxwaitunit: "minute") {
+        ant.and() {
+          ant.socket(server: "localhost", port: httpPort)
+          ant.socket(server: "localhost", port: stopPort)
+          ant.socket(server: "localhost", port: ajpPort)
+        }
+      }
+
+      ant.echo("Tomcat started. Running itests...")
+    }
+
+    ant.java(jar: 
"${localRepo}/org/apache/openejb/openejb-itests-standalone-client/${project.version}/openejb-itests-standalone-client-${project.version}.jar",
 fork: "yes") {
+      sysproperty(key: "openejb.home", value: "${openejbHome}")
+      sysproperty(key: "openejb.server.uri", value: "http://127.0.0.1:"; + 
httpPort + "/openejb/ejb")
+
+      //sysproperty(key:"DEBUG", value:"true")
+      
//jvmarg(value:"-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888")
+      arg(value: "tomcat")
+    }
+
+    if (tomcatVersion != "testonly") {
+      ant.echo("Tomcat itests complete, stopping Tomcat...")
+      ant.exec(executable: 
"${project.build.directory}/apache-tomcat-${tomcatVersion}/bin/shutdown${extension}",
+              spawn: true) {
+        env(key: "CATALINA_HOME", value: "${catalinaHome}")
+        env(key: "CATALINA_BASE", value: "${catalinaHome}")
+      }
+
+      ant.waitfor(maxwait: 1, maxwaitunit: "minute") {
+        ant.not() {
+          ant.or() {
+            ant.socket(server: "localhost", port: httpPort)
+            ant.socket(server: "localhost", port: stopPort)
+            ant.socket(server: "localhost", port: ajpPort)
+            ant.socket(server: "localhost", port: "61616")
+          }
+        }
+      }
+      ant.echo("Tomcat stopped")
     }
+    ant.echo("itest run complete")
+  }
 }
 


Reply via email to