The testsuite framework much for trunk and 2.1 has also change significantly, might be a pita the port it back...

--jason


On Jun 12, 2008, at 2:51 AM, Jarek Gawor wrote:

I wasn't planning to. But I can port it if necessary. At this point I
think we need to add more tests to the commands-testsuite for it to be
more useful.

Jarek

On Wed, Jun 11, 2008 at 3:37 PM, Donald Woods <[EMAIL PROTECTED]> wrote:
Any plans to pull this into branches/2.1?


-Donald


[EMAIL PROTECTED] wrote:

Author: gawor
Date: Wed Jun 11 11:50:45 2008
New Revision: 666781

URL: http://svn.apache.org/viewvc?rev=666781&view=rev
Log:
Initial testsuite for command line tools. Patch from YunFeng Ma but with
bunch of modifications (GERONIMO-4074)

Added:
  geronimo/server/trunk/testsuite/commands-testsuite/
  geronimo/server/trunk/testsuite/commands-testsuite/deploy/
geronimo/server/trunk/testsuite/commands-testsuite/deploy/ goals.txt
(with props)
  geronimo/server/trunk/testsuite/commands-testsuite/deploy/pom.xml
(with props)
  geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/
geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/ test/

geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/

geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/

geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/apache/

geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/apache/geronimo/

geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/apache/geronimo/testsuite/

geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/apache/geronimo/testsuite/deploy/

geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/apache/geronimo/testsuite/deploy/DeployerTest.java
 (with props)

geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ resources/

geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ resources/testng.xml
 (with props)
  geronimo/server/trunk/testsuite/commands-testsuite/gshell/
geronimo/server/trunk/testsuite/commands-testsuite/gshell/ goals.txt
(with props)
  geronimo/server/trunk/testsuite/commands-testsuite/gshell/pom.xml
(with props)
  geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/
geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/ test/

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/geronimo/

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/geronimo/testsuite/

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/geronimo/testsuite/gshell/

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/geronimo/testsuite/gshell/deploy/

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/geronimo/testsuite/gshell/deploy/DeployTest.java
 (with props)

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ resources/

geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ resources/testng.xml
 (with props)
  geronimo/server/trunk/testsuite/commands-testsuite/pom.xml   (with
props)
  geronimo/server/trunk/testsupport/testsupport-commands/
geronimo/server/trunk/testsupport/testsupport-commands/pom.xml (with
props)
  geronimo/server/trunk/testsupport/testsupport-commands/src/
  geronimo/server/trunk/testsupport/testsupport-commands/src/main/
geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/

geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/

geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/apache/

geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/apache/geronimo/

geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/apache/geronimo/testsupport/

geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/apache/geronimo/testsupport/commands/

geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/apache/geronimo/testsupport/commands/ CommandTestSupport.java
 (with props)
Modified:
  geronimo/server/trunk/testsupport/pom.xml

Added: geronimo/server/trunk/testsuite/commands-testsuite/deploy/ goals.txt
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/commands-testsuite/deploy/goals.txt?rev=666781&view=auto

= = = = = = = = = = ==================================================================== --- geronimo/server/trunk/testsuite/commands-testsuite/deploy/ goals.txt
(added)
+++ geronimo/server/trunk/testsuite/commands-testsuite/deploy/ goals.txt
Wed Jun 11 11:50:45 2008
@@ -0,0 +1 @@
+clean install

Propchange:
geronimo/server/trunk/testsuite/commands-testsuite/deploy/goals.txt

------------------------------------------------------------------------------
  svn:eol-style = native

Added: geronimo/server/trunk/testsuite/commands-testsuite/deploy/ pom.xml
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/commands-testsuite/deploy/pom.xml?rev=666781&view=auto

= = = = = = = = = = ==================================================================== --- geronimo/server/trunk/testsuite/commands-testsuite/deploy/ pom.xml
(added)
+++ geronimo/server/trunk/testsuite/commands-testsuite/deploy/ pom.xml Wed
Jun 11 11:50:45 2008
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
+ See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.geronimo.testsuite</groupId>
+        <artifactId>commands-testsuite</artifactId>
+        <version>2.2-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>deployer-testsuite</artifactId>
+ <name>Geronimo TestSuite :: Commands Testsuite :: Deployer</ name>
+
+    <description>
+        Test for the deploy.bat/sh
+    </description>
+
+</project>

Propchange:
geronimo/server/trunk/testsuite/commands-testsuite/deploy/pom.xml

------------------------------------------------------------------------------
  svn:eol-style = native

Added:
geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/apache/geronimo/testsuite/deploy/DeployerTest.java
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/java/org/apache/geronimo/testsuite/deploy/DeployerTest.java?rev=666781&view=auto

= = = = = = = = = = ====================================================================
---
geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/apache/geronimo/testsuite/deploy/DeployerTest.java
(added)
+++
geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/apache/geronimo/testsuite/deploy/DeployerTest.java
Wed Jun 11 11:50:45 2008
@@ -0,0 +1,102 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.geronimo.testsuite.deploy;
+
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.geronimo.testsupport.commands.CommandTestSupport;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
[EMAIL PROTECTED]
+public class DeployerTest extends CommandTestSupport {
+
+    protected String execute(String[] args) throws Exception {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        List<String> cmd = new ArrayList<String>();
+        cmd.addAll(Arrays.asList("--user", "system", "--password",
"manager"));
+        if (args != null) {
+            cmd.addAll(Arrays.asList(args));
+        }
+        execute(CommandTestSupport.DEPLOY, cmd, null, baos);
+        return baos.toString();
+    }
+        +    @Test
+    public void testListAllModules() throws Exception {
+        String[] args = new String[]{ "list-modules" };
+ +        String output = execute(args);
+
+ if (output.indexOf("org.apache.geronimo.configs/activemq- broker")
< 0) {
+            Assert.fail("list-modules failed : " + output);
+        }
+    }
+    +    @Test
+    public void testListStartedModules() throws Exception {
+ String[] args = new String[]{ "list-modules", "-- started" };
+ +        String output = execute(args);
+
+ if (output.indexOf("org.apache.geronimo.configs/activemq- broker")
< 0) {
+            Assert.fail("list-modules failed : " + output);
+        }
+        if
(output.indexOf("org.apache.geronimo.configs/client-corba-yoko") > 0) {
+            Assert.fail("list-modules failed : " + output);
+        }
+    }
+    +    @Test
+    public void testListStoppedModules() throws Exception {
+ String[] args = new String[]{ "list-modules", "-- stopped" };
+ +        String output = execute(args);
+
+ if (output.indexOf("org.apache.geronimo.configs/activemq- broker")
0) {
+            Assert.fail("deploy/list-modules failed : " + output);
+        }
+        if
(output.indexOf("org.apache.geronimo.configs/client-corba-yoko") < 0) {
+            Assert.fail("deploy/list-modules failed : " + output);
+        }
+    }
+    +    @Test
+    public void testOfflineDeployment() throws Exception {
+        //todo doesn't work now
+        /*
+        String[] args = new String[]{ "--offline", "deploy", "" };
+ +        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        execute( command, args, null, baos );
+
+        if
(baos.toString().indexOf("org.apache.geronimo.configs/activemq- broker") > 0)
{
+                Assert.fail("deploy/list-modules failed : " +
baos.toString());
+        }
+        if
(baos.toString().indexOf("org.apache.geronimo.configs/client-corba- yoko") <
0) {
+                Assert.fail("deploy/list-modules failed : " +
baos.toString());
+        }
+        */
+    }
+    +}

Propchange:
geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ java/org/apache/geronimo/testsuite/deploy/DeployerTest.java

------------------------------------------------------------------------------
  svn:eol-style = native

Added:
geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ resources/testng.xml
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/resources/testng.xml?rev=666781&view=auto

= = = = = = = = = = ====================================================================
---
geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ resources/testng.xml
(added)
+++
geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ resources/testng.xml
Wed Jun 11 11:50:45 2008
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    +     http://www.apache.org/licenses/LICENSE-2.0
+    +    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+<!-- $Rev: 514087 $ $Date: 2007-03-03 14:13:40 +0800 (Sat, 03 Mar 2007) $
-->
+
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd";>
+
+<suite name="Suite1" verbose="1">
+    <test name="commands-testsuite.deploy">
+        <packages>
+            <package name="org.apache.geronimo.testsuite.deploy"/>
+        </packages>
+    </test>
+</suite>
+

Propchange:
geronimo/server/trunk/testsuite/commands-testsuite/deploy/src/test/ resources/testng.xml

------------------------------------------------------------------------------
  svn:eol-style = native

Added: geronimo/server/trunk/testsuite/commands-testsuite/gshell/ goals.txt
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/commands-testsuite/gshell/goals.txt?rev=666781&view=auto

= = = = = = = = = = ==================================================================== --- geronimo/server/trunk/testsuite/commands-testsuite/gshell/ goals.txt
(added)
+++ geronimo/server/trunk/testsuite/commands-testsuite/gshell/ goals.txt
Wed Jun 11 11:50:45 2008
@@ -0,0 +1 @@
+clean install

Propchange:
geronimo/server/trunk/testsuite/commands-testsuite/gshell/goals.txt

------------------------------------------------------------------------------
  svn:eol-style = native

Added: geronimo/server/trunk/testsuite/commands-testsuite/gshell/ pom.xml
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/commands-testsuite/gshell/pom.xml?rev=666781&view=auto

= = = = = = = = = = ==================================================================== --- geronimo/server/trunk/testsuite/commands-testsuite/gshell/ pom.xml
(added)
+++ geronimo/server/trunk/testsuite/commands-testsuite/gshell/ pom.xml Wed
Jun 11 11:50:45 2008
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
+ See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.geronimo.testsuite</groupId>
+        <artifactId>commands-testsuite</artifactId>
+        <version>2.2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>gshell-testsuite</artifactId>
+    <name>Geronimo TestSuite :: Commands Testsuite :: GShell</name>
+
+    <description>
+        Test for the gsh.bat/sh
+    </description>
+
+</project>

Propchange:
geronimo/server/trunk/testsuite/commands-testsuite/gshell/pom.xml

------------------------------------------------------------------------------
  svn:eol-style = native

Added:
geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/geronimo/testsuite/gshell/deploy/DeployTest.java
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/java/org/apache/geronimo/testsuite/gshell/deploy/DeployTest.java?rev=666781&view=auto

= = = = = = = = = = ====================================================================
---
geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/geronimo/testsuite/gshell/deploy/DeployTest.java
(added)
+++
geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/geronimo/testsuite/gshell/deploy/DeployTest.java
Wed Jun 11 11:50:45 2008
@@ -0,0 +1,100 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.geronimo.testsuite.gshell.deploy;
+
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.geronimo.testsupport.commands.CommandTestSupport;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
[EMAIL PROTECTED]
+public class DeployTest extends CommandTestSupport {
+ + private static final String UP = "-u system -w manager";
+    +    protected String execute(String[] args) throws Exception {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        List<String> cmd = new ArrayList<String>();    +
cmd.addAll(Arrays.asList("-c"));
+        if (args != null) {
+            cmd.addAll(Arrays.asList(args));
+        }
+        execute(CommandTestSupport.GSH, cmd, null, baos);
+        return baos.toString();
+    }
+    +    @Test
+    public void testListAllModules() throws Exception {
+ String[] args = new String[]{ "deploy/list-modules " + UP };
+ +        String output = execute(args);
+
+ if (output.indexOf("org.apache.geronimo.configs/activemq- broker")
< 0) {
+            Assert.fail("deploy/list-modules failed : " + output);
+        }
+    }
+    +    @Test
+    public void testListStartedModules() throws Exception {
+ String[] args = new String[]{ "deploy/list-modules " + UP + "
--started" };
+ +        String output = execute(args);
+
+ if (output.indexOf("org.apache.geronimo.configs/activemq- broker")
< 0) {
+            Assert.fail("deploy/list-modules failed : " + output);
+        }
+        if
(output.indexOf("org.apache.geronimo.configs/client-corba-yoko") > 0) {
+            Assert.fail("deploy/list-modules failed : " + output);
+        }
+    }
+    +    @Test
+    public void testListStoppedModules() throws Exception {
+ String[] args = new String[]{ "deploy/list-modules " + UP + "
--stopped" };
+ +        String output = execute(args);
+
+ if (output.indexOf("org.apache.geronimo.configs/activemq- broker")
0) {
+            Assert.fail("deploy/list-modules failed : " + output);
+        }
+        if
(output.indexOf("org.apache.geronimo.configs/client-corba-yoko") < 0) {
+            Assert.fail("deploy/list-modules failed : " + output);
+        }
+    }
+    +    public void testListAllPlugins() throws Exception {
+        //todo this testcase fails
+        /*
+        String[] args = new String[]{ "-c", "deploy/list-plugins -u
system -w manager" };
+ +        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        execute( command, args, null, baos );
+
+        if
(baos.toString().indexOf("org.apache.geronimo.configs/activemq- broker") < 0)
{
+                Assert.fail("deploy/list-modules failed : " +
baos.toString());
+        }
+        */
+    }
+
+}

Propchange:
geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ java/org/apache/geronimo/testsuite/gshell/deploy/DeployTest.java

------------------------------------------------------------------------------
  svn:eol-style = native

Added:
geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ resources/testng.xml
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/resources/testng.xml?rev=666781&view=auto

= = = = = = = = = = ====================================================================
---
geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ resources/testng.xml
(added)
+++
geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ resources/testng.xml
Wed Jun 11 11:50:45 2008
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    +     http://www.apache.org/licenses/LICENSE-2.0
+    +    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+<!-- $Rev: 514087 $ $Date: 2007-03-03 14:13:40 +0800 (Sat, 03 Mar 2007) $
-->
+
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd";>
+
+<suite name="Suite1" verbose="1">
+    <test name="commands-testsuite.gshell">
+        <packages>
+ <package name="org.apache.geronimo.testsuite.gshell.deploy"/>
+        </packages>
+    </test>
+</suite>
+

Propchange:
geronimo/server/trunk/testsuite/commands-testsuite/gshell/src/test/ resources/testng.xml

------------------------------------------------------------------------------
  svn:eol-style = native

Added: geronimo/server/trunk/testsuite/commands-testsuite/pom.xml
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/commands-testsuite/pom.xml?rev=666781&view=auto

= = = = = = = = = = ==================================================================== --- geronimo/server/trunk/testsuite/commands-testsuite/pom.xml (added) +++ geronimo/server/trunk/testsuite/commands-testsuite/pom.xml Wed Jun 11
11:50:45 2008
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd";>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.geronimo.testsuite</groupId>
+        <artifactId>testsuite</artifactId>
+        <version>2.2-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>commands-testsuite</artifactId>
+    <name>Geronimo TestSuite :: Commands TestSuite</name>
+    <packaging>pom</packaging>
+    +    <description>
+        Test Geronimo Commands Functions
+    </description>
+     +    <dependencies>
+        <dependency>
+            <groupId>org.apache.geronimo.testsupport</groupId>
+            <artifactId>testsupport-commands</artifactId>
+            <version>${version}</version>
+        </dependency>
+    </dependencies> +    +    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <configuration>
+                        <suiteXmlFiles>
+
<suiteXmlFile>${project.build.testOutputDirectory}/testng.xml</ suiteXmlFile>
+                        </suiteXmlFiles>
+                        <systemProperties>
+                            <property>
+                                <name>geronimoVersion</name>
+                                <value>${version}</value>
+                            </property>
+                        </systemProperties>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+        +        <plugins>
+            <plugin>
+                <groupId>org.apache.geronimo.buildsupport</groupId>
+                <artifactId>testsuite-maven-plugin</artifactId>
+                <inherited>false</inherited>
+                <executions>
+                    <execution>
+                        <phase>install</phase>
+                        <goals>
+                            <goal>generate-surefire-xml</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

Propchange: geronimo/server/trunk/testsuite/commands-testsuite/ pom.xml

------------------------------------------------------------------------------
  svn:eol-style = native

Modified: geronimo/server/trunk/testsupport/pom.xml
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsupport/pom.xml?rev=666781&r1=666780&r2=666781&view=diff

= = = = = = = = = = ====================================================================
--- geronimo/server/trunk/testsupport/pom.xml (original)
+++ geronimo/server/trunk/testsupport/pom.xml Wed Jun 11 11:50:45 2008
@@ -42,6 +42,7 @@
   <modules>
       <module>testsupport-common</module>
       <module>testsupport-selenium</module>
+        <module>testsupport-commands</module>
       <module>testsupport-packaging</module>
       <module>test-deployment-j2ee_1.3</module>
       <module>test-deployment-j2ee_1.4</module>

Added: geronimo/server/trunk/testsupport/testsupport-commands/ pom.xml
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsupport/testsupport-commands/pom.xml?rev=666781&view=auto

= = = = = = = = = = ==================================================================== --- geronimo/server/trunk/testsupport/testsupport-commands/pom.xml (added) +++ geronimo/server/trunk/testsupport/testsupport-commands/pom.xml Wed Jun
11 11:50:45 2008
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    +     http://www.apache.org/licenses/LICENSE-2.0
+    +    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<!-- $Rev: 649297 $ $Date: 2008-04-17 17:54:06 -0400 (Thu, 17 Apr 2008) $
-->
+<project xmlns="http://maven.apache.org/POM/4.0.0";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+    +    <parent>
+        <groupId>org.apache.geronimo.testsupport</groupId>
+        <artifactId>testsupport</artifactId>
+        <version>2.2-SNAPSHOT</version>
+    </parent>
+    +    <artifactId>testsupport-commands</artifactId>
+    <name>Geronimo Test Support :: Commands</name>
+    +    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.testsupport</groupId>
+            <artifactId>testsupport-common</artifactId>
+            <version>${version}</version>
+            <scope>compile</scope>
+        </dependency>
+        +        <dependency>
+            <groupId>org.apache.geronimo.buildsupport</groupId>
+            <artifactId>geronimo-maven-plugin</artifactId>
+            <version>${version}</version>
+        </dependency>
+         +        <dependency>
+            <groupId>org.apache.ant</groupId>
+            <artifactId>ant</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

Propchange: geronimo/server/trunk/testsupport/testsupport-commands/ pom.xml

------------------------------------------------------------------------------
  svn:eol-style = native

Added:
geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/apache/geronimo/testsupport/commands/ CommandTestSupport.java
URL:
http://svn.apache.org/viewvc/geronimo/server/trunk/testsupport/testsupport-commands/src/main/java/org/apache/geronimo/testsupport/commands/CommandTestSupport.java?rev=666781&view=auto

= = = = = = = = = = ====================================================================
---
geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/apache/geronimo/testsupport/commands/ CommandTestSupport.java
(added)
+++
geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/apache/geronimo/testsupport/commands/ CommandTestSupport.java
Wed Jun 11 11:50:45 2008
@@ -0,0 +1,127 @@
+/**
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.geronimo.testsupport.commands;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.geronimo.mavenplugins.geronimo.ServerProxy;
+import org.apache.tools.ant.taskdefs.Execute;
+import org.apache.tools.ant.taskdefs.ExecuteStreamHandler;
+import org.apache.tools.ant.taskdefs.ExecuteWatchdog;
+import org.apache.tools.ant.taskdefs.PumpStreamHandler;
+import org.apache.tools.ant.taskdefs.condition.Os;
+
+public class CommandTestSupport {
+        +    public static final String GSH = "gsh";
+    public static final String DEPLOY = "deploy";
+ + protected static final long timeout = 30000; + protected
static String geronimoHome;
+    +    static {
+        geronimoHome = getGeronimoHome();
+    }
+        +    private static String getGeronimoHome() {
+        ServerProxy server = null;
+        try {
+            server = new ServerProxy("localhost", 1099, "system",
"manager");           +        } catch (Exception e) {
+ throw new RuntimeException("Unable to setup ServerProxy", e);
+        }
+        String home = server.getGeronimoHome();
+        if (server.getLastError() != null) {
+ throw new RuntimeException("Failed to get Geronimo home",
server.getLastError());
+        } else {
+            return home;
+        }
+    }
+        +    public CommandTestSupport() {
+    }
+ + public void execute(String command, String[] args, InputStream
in, OutputStream out) throws Exception {
+ execute(command, (args == null) ? null : Arrays.asList(args), in,
out);
+    }
+        +    public void execute(String command, List<String> args,
InputStream in, OutputStream out) throws Exception {
+        List<String> cmdLine = new ArrayList<String>();
+        if (isWindows()) {
+            cmdLine.add("cmd.exe");
+            cmdLine.add("/c");
+        }
+        cmdLine.add(resolveCommandForOS(command));
+        // add command-specific arguments
+        cmdLine.addAll(getCommandArguments(command));
+        // add user arguments
+        if (args != null) {
+            cmdLine.addAll(args);
+        }
+ + ExecuteWatchdog watchdog = new ExecuteWatchdog( timeout
);
+ ExecuteStreamHandler streamHandler = new PumpStreamHandler( out,
out, in );
+        Execute exec = new Execute( streamHandler, watchdog );
+        exec.setCommandline( cmdLine.toArray(new String[] {}) );
+        List<String> env = getCommandEnvironment(command);
+        if (!env.isEmpty()) {
+            exec.setEnvironment(env.toArray(new String[] {}) );
+        }
+        exec.execute();
+    }
+ + protected List<String> getCommandArguments(String command) {
+        if (GSH.equals(command)) {
+            return Arrays.asList("-T", "false");
+        } else {
+            return Collections.emptyList();
+        }
+    }
+ + protected List<String> getCommandEnvironment(String command)
{
+        if (DEPLOY.equals(command)) {
+            //this makes the output can be captured in Linux
+            return
Arrays.asList("JAVA_OPTS=- Djline.terminal=jline.UnsupportedTerminal");
+        } else {
+            return Collections.emptyList();
+        }
+    }
+
+    protected String resolveCommandForOS(String command) {      +
if (isWindows()) {
+            return geronimoHome + "/bin/" + command + ".bat";
+        } else {
+            if (GSH.equals(command)) {
+                return geronimoHome + "/bin/" + command;
+            } else {
+                return geronimoHome + "/bin/" + command + ".sh";
+            }
+        }     +    }
+        +    public boolean isWindows() {
+        return Os.isFamily("windows");
+    }
+    +}

Propchange:
geronimo/server/trunk/testsupport/testsupport-commands/src/main/ java/org/apache/geronimo/testsupport/commands/ CommandTestSupport.java

------------------------------------------------------------------------------
  svn:eol-style = native





Reply via email to