You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by cs...@apache.org on 2012/10/04 17:00:03 UTC

svn commit: r1394106 - in /karaf/trunk/itests/src/test/java/org/apache/karaf/itests: BootFeaturesTest.java FeatureTest.java KarafTestSupport.java

Author: cschneider
Date: Thu Oct  4 15:00:02 2012
New Revision: 1394106

URL: http://svn.apache.org/viewvc?rev=1394106&view=rev
Log:
KARAF-1897 Use different ports for itests. Switch off ssh for tests where it is not used

Modified:
    karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
    karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
    karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java

Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff
==============================================================================
--- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java (original)
+++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java Thu Oct  4 15:00:02 2012
@@ -12,6 +12,6 @@ public class BootFeaturesTest extends Ka
 
     @Test
     public void testBootFeatures() throws Exception {
-        assertFeaturesInstalled("standard", "config", "region", "package", "kar", "ssh", "management");
+        assertFeaturesInstalled("standard", "config", "region", "package", "kar", "management");
     }
 }

Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff
==============================================================================
--- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java (original)
+++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java Thu Oct  4 15:00:02 2012
@@ -36,12 +36,6 @@ public class FeatureTest extends KarafTe
         String featureListOutput = executeCommand("feature:list -i");
         System.out.println(featureListOutput);
         assertTrue(featureListOutput.contains("standard"));
-        assertTrue(featureListOutput.contains("config"));
-        assertTrue(featureListOutput.contains("region"));
-        assertTrue(featureListOutput.contains("package"));
-        assertTrue(featureListOutput.contains("kar"));
-        assertTrue(featureListOutput.contains("ssh"));
-        assertTrue(featureListOutput.contains("management"));
     }
 
     @Test

Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java?rev=1394106&r1=1394105&r2=1394106&view=diff
==============================================================================
--- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java (original)
+++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java Thu Oct  4 15:00:02 2012
@@ -13,6 +13,7 @@
  */
 package org.apache.karaf.itests;
 
+import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.editConfigurationFilePut;
 import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.karafDistributionConfiguration;
 import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.keepRuntimeFolder;
 import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.logLevel;
@@ -51,6 +52,7 @@ import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.TestProbeBuilder;
 import org.ops4j.pax.exam.junit.Configuration;
 import org.ops4j.pax.exam.junit.ProbeBuilder;
+import org.ops4j.pax.exam.options.MavenArtifactUrlReference;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.Filter;
@@ -61,6 +63,8 @@ import org.osgi.util.tracker.ServiceTrac
 
 public class KarafTestSupport {
 
+    private static final String RMI_PORT = "1100";
+
     static final Long COMMAND_TIMEOUT = 10000L;
     static final Long SERVICE_TIMEOUT = 30000L;
 
@@ -86,11 +90,16 @@ public class KarafTestSupport {
 
     @Configuration
     public Option[] config() {
+        MavenArtifactUrlReference karafUrl = maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz");
         return new Option[]{
-            karafDistributionConfiguration().frameworkUrl(maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz"))
-                    .name("Apache Karaf").unpackDirectory(new File("target/exam")),
-                keepRuntimeFolder(),
-                logLevel(LogLevelOption.LogLevel.INFO) };
+            karafDistributionConfiguration().frameworkUrl(karafUrl).name("Apache Karaf").unpackDirectory(new File("target/exam")),
+            keepRuntimeFolder(),
+            logLevel(LogLevelOption.LogLevel.INFO),
+            editConfigurationFilePut("etc/org.apache.karaf.features.cfg", "featuresBoot", "config,standard,region,package,kar,management"),
+            editConfigurationFilePut("etc/org.ops4j.pax.web.cfg", "org.osgi.service.http.port", "9080"),
+            editConfigurationFilePut("etc/org.apache.karaf.management.cfg", "rmiRegistryPort", RMI_PORT),
+            editConfigurationFilePut("etc/org.apache.karaf.management.cfg", "rmiServerPort", "44445")
+        };
     }
 
     /**
@@ -223,7 +232,7 @@ public class KarafTestSupport {
     }
 
     public JMXConnector getJMXConnector() throws Exception {
-        JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-root");
+        JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + RMI_PORT+ "/karaf-root");
         Hashtable<String, Object> env = new Hashtable<String, Object>();
         String[] credentials = new String[]{ "karaf", "karaf" };
         env.put("jmx.remote.credentials", credentials);



Re: svn commit: r1394106 - in /karaf/trunk/itests/src/test/java/org/apache/karaf/itests: BootFeaturesTest.java FeatureTest.java KarafTestSupport.java

Posted by Andreas Pieber <an...@gmail.com>.
Hey,

Inline again

On Sat, Oct 6, 2012 at 8:23 AM, Christian Schneider
<ch...@die-schneider.net> wrote:
> Hi Andreas,
>
> I also answered inline.
>
> Christian
>
> Am 06.10.2012 06:09, schrieb Andreas Pieber:
>
>> Hey,
>>
>> Questions inline
>>
>> On Thu, Oct 4, 2012 at 5:00 PM,  <cs...@apache.org> wrote:
>>>
>>> Author: cschneider
>>> Date: Thu Oct  4 15:00:02 2012
>>> New Revision: 1394106
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1394106&view=rev
>>> Log:
>>> KARAF-1897 Use different ports for itests. Switch off ssh for tests where
>>> it is not used
>>>
>>> Modified:
>>>
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
>>>
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
>>>
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
>>>
>>> Modified:
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
>>> URL:
>>> http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
>>> (original)
>>> +++
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
>>> Thu Oct  4 15:00:02 2012
>>> @@ -12,6 +12,6 @@ public class BootFeaturesTest extends Ka
>>>
>>>       @Test
>>>       public void testBootFeatures() throws Exception {
>>> -        assertFeaturesInstalled("standard", "config", "region",
>>> "package", "kar", "ssh", "management");
>>> +        assertFeaturesInstalled("standard", "config", "region",
>>> "package", "kar", "management");
>>>       }
>>>   }
>>>
>>> Modified:
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
>>> URL:
>>> http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
>>> (original)
>>> +++
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
>>> Thu Oct  4 15:00:02 2012
>>> @@ -36,12 +36,6 @@ public class FeatureTest extends KarafTe
>>>           String featureListOutput = executeCommand("feature:list -i");
>>>           System.out.println(featureListOutput);
>>>           assertTrue(featureListOutput.contains("standard"));
>>> -        assertTrue(featureListOutput.contains("config"));
>>> -        assertTrue(featureListOutput.contains("region"));
>>> -        assertTrue(featureListOutput.contains("package"));
>>> -        assertTrue(featureListOutput.contains("kar"));
>>> -        assertTrue(featureListOutput.contains("ssh"));
>>> -        assertTrue(featureListOutput.contains("management"));
>>
>> I don't understand that change. Why remove that validation?
>
>
> I created a separate BootFeaturesTest. So testing for all details would be
> redundant and we need to change it whenever we change boo features. If you
> prefer I can revert this part.

Fair enough; I've missed that commit. Fair enough then.

>
>>
>>>       }
>>>
>>>       @Test
>>>
>>> Modified:
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
>>> URL:
>>> http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java?rev=1394106&r1=1394105&r2=1394106&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
>>> (original)
>>> +++
>>> karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
>>> Thu Oct  4 15:00:02 2012
>>> @@ -13,6 +13,7 @@
>>>    */
>>>   package org.apache.karaf.itests;
>>>
>>> +import static
>>> org.apache.karaf.tooling.exam.options.KarafDistributionOption.editConfigurationFilePut;
>>>   import static
>>> org.apache.karaf.tooling.exam.options.KarafDistributionOption.karafDistributionConfiguration;
>>>   import static
>>> org.apache.karaf.tooling.exam.options.KarafDistributionOption.keepRuntimeFolder;
>>>   import static
>>> org.apache.karaf.tooling.exam.options.KarafDistributionOption.logLevel;
>>> @@ -51,6 +52,7 @@ import org.ops4j.pax.exam.Option;
>>>   import org.ops4j.pax.exam.TestProbeBuilder;
>>>   import org.ops4j.pax.exam.junit.Configuration;
>>>   import org.ops4j.pax.exam.junit.ProbeBuilder;
>>> +import org.ops4j.pax.exam.options.MavenArtifactUrlReference;
>>>   import org.osgi.framework.BundleContext;
>>>   import org.osgi.framework.Constants;
>>>   import org.osgi.framework.Filter;
>>> @@ -61,6 +63,8 @@ import org.osgi.util.tracker.ServiceTrac
>>>
>>>   public class KarafTestSupport {
>>>
>>> +    private static final String RMI_PORT = "1100";
>>> +
>>>       static final Long COMMAND_TIMEOUT = 10000L;
>>>       static final Long SERVICE_TIMEOUT = 30000L;
>>>
>>> @@ -86,11 +90,16 @@ public class KarafTestSupport {
>>>
>>>       @Configuration
>>>       public Option[] config() {
>>> +        MavenArtifactUrlReference karafUrl =
>>> maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz");
>>>           return new Option[]{
>>> -
>>> karafDistributionConfiguration().frameworkUrl(maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz"))
>>> -                    .name("Apache Karaf").unpackDirectory(new
>>> File("target/exam")),
>>> -                keepRuntimeFolder(),
>>> -                logLevel(LogLevelOption.LogLevel.INFO) };
>>> +
>>> karafDistributionConfiguration().frameworkUrl(karafUrl).name("Apache
>>> Karaf").unpackDirectory(new File("target/exam")),
>>> +            keepRuntimeFolder(),
>>> +            logLevel(LogLevelOption.LogLevel.INFO),
>>> +
>>> editConfigurationFilePut("etc/org.apache.karaf.features.cfg",
>>> "featuresBoot", "config,standard,region,package,kar,management"),
>>> +            editConfigurationFilePut("etc/org.ops4j.pax.web.cfg",
>>> "org.osgi.service.http.port", "9080"),
>>> +
>>> editConfigurationFilePut("etc/org.apache.karaf.management.cfg",
>>> "rmiRegistryPort", RMI_PORT),
>>> +
>>> editConfigurationFilePut("etc/org.apache.karaf.management.cfg",
>>> "rmiServerPort", "44445")
>>> +        };
>>
>> Wouldn't it be better to retrieve the ports using the
>> build-helper-maven-plugin:reserve-network-port-mojo to generate those
>> ports and simply load them here?
>
> Absolutely. The idea was to change the ports in statically in the first step
> to allow a build to run parallel to a running karaf. Using real dynamic
> ports is the next logic step. I just had no idea how to do it.

Basically it's quite simple: use the maven-helper-plugin to create a
list of ports into a file. Now, instead of using the static ports
loading the generated ports instead of using the static once. I've a
sample laying around somewhere if you like.

>
>>>       }
>>>
>>>       /**
>>> @@ -223,7 +232,7 @@ public class KarafTestSupport {
>>>       }
>>>
>>>       public JMXConnector getJMXConnector() throws Exception {
>>> -        JMXServiceURL url = new
>>> JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-root");
>>> +        JMXServiceURL url = new
>>> JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + RMI_PORT+
>>> "/karaf-root");
>>>           Hashtable<String, Object> env = new Hashtable<String,
>>> Object>();
>>>           String[] credentials = new String[]{ "karaf", "karaf" };
>>>           env.put("jmx.remote.credentials", credentials);
>>>
>>>
>
>
> --
>  Christian Schneider
> http://www.liquid-reality.de
>
> Open Source Architect
> Talend Application Integration Division http://www.talend.com
>

Re: svn commit: r1394106 - in /karaf/trunk/itests/src/test/java/org/apache/karaf/itests: BootFeaturesTest.java FeatureTest.java KarafTestSupport.java

Posted by Christian Schneider <ch...@die-schneider.net>.
Hi Andreas,

I also answered inline.

Christian

Am 06.10.2012 06:09, schrieb Andreas Pieber:
> Hey,
>
> Questions inline
>
> On Thu, Oct 4, 2012 at 5:00 PM,  <cs...@apache.org> wrote:
>> Author: cschneider
>> Date: Thu Oct  4 15:00:02 2012
>> New Revision: 1394106
>>
>> URL: http://svn.apache.org/viewvc?rev=1394106&view=rev
>> Log:
>> KARAF-1897 Use different ports for itests. Switch off ssh for tests where it is not used
>>
>> Modified:
>>      karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
>>      karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
>>      karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
>>
>> Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
>> URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff
>> ==============================================================================
>> --- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java (original)
>> +++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java Thu Oct  4 15:00:02 2012
>> @@ -12,6 +12,6 @@ public class BootFeaturesTest extends Ka
>>
>>       @Test
>>       public void testBootFeatures() throws Exception {
>> -        assertFeaturesInstalled("standard", "config", "region", "package", "kar", "ssh", "management");
>> +        assertFeaturesInstalled("standard", "config", "region", "package", "kar", "management");
>>       }
>>   }
>>
>> Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
>> URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff
>> ==============================================================================
>> --- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java (original)
>> +++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java Thu Oct  4 15:00:02 2012
>> @@ -36,12 +36,6 @@ public class FeatureTest extends KarafTe
>>           String featureListOutput = executeCommand("feature:list -i");
>>           System.out.println(featureListOutput);
>>           assertTrue(featureListOutput.contains("standard"));
>> -        assertTrue(featureListOutput.contains("config"));
>> -        assertTrue(featureListOutput.contains("region"));
>> -        assertTrue(featureListOutput.contains("package"));
>> -        assertTrue(featureListOutput.contains("kar"));
>> -        assertTrue(featureListOutput.contains("ssh"));
>> -        assertTrue(featureListOutput.contains("management"));
> I don't understand that change. Why remove that validation?

I created a separate BootFeaturesTest. So testing for all details would 
be redundant and we need to change it whenever we change boo features. 
If you prefer I can revert this part.
>
>>       }
>>
>>       @Test
>>
>> Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
>> URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java?rev=1394106&r1=1394105&r2=1394106&view=diff
>> ==============================================================================
>> --- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java (original)
>> +++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java Thu Oct  4 15:00:02 2012
>> @@ -13,6 +13,7 @@
>>    */
>>   package org.apache.karaf.itests;
>>
>> +import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.editConfigurationFilePut;
>>   import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.karafDistributionConfiguration;
>>   import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.keepRuntimeFolder;
>>   import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.logLevel;
>> @@ -51,6 +52,7 @@ import org.ops4j.pax.exam.Option;
>>   import org.ops4j.pax.exam.TestProbeBuilder;
>>   import org.ops4j.pax.exam.junit.Configuration;
>>   import org.ops4j.pax.exam.junit.ProbeBuilder;
>> +import org.ops4j.pax.exam.options.MavenArtifactUrlReference;
>>   import org.osgi.framework.BundleContext;
>>   import org.osgi.framework.Constants;
>>   import org.osgi.framework.Filter;
>> @@ -61,6 +63,8 @@ import org.osgi.util.tracker.ServiceTrac
>>
>>   public class KarafTestSupport {
>>
>> +    private static final String RMI_PORT = "1100";
>> +
>>       static final Long COMMAND_TIMEOUT = 10000L;
>>       static final Long SERVICE_TIMEOUT = 30000L;
>>
>> @@ -86,11 +90,16 @@ public class KarafTestSupport {
>>
>>       @Configuration
>>       public Option[] config() {
>> +        MavenArtifactUrlReference karafUrl = maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz");
>>           return new Option[]{
>> -            karafDistributionConfiguration().frameworkUrl(maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz"))
>> -                    .name("Apache Karaf").unpackDirectory(new File("target/exam")),
>> -                keepRuntimeFolder(),
>> -                logLevel(LogLevelOption.LogLevel.INFO) };
>> +            karafDistributionConfiguration().frameworkUrl(karafUrl).name("Apache Karaf").unpackDirectory(new File("target/exam")),
>> +            keepRuntimeFolder(),
>> +            logLevel(LogLevelOption.LogLevel.INFO),
>> +            editConfigurationFilePut("etc/org.apache.karaf.features.cfg", "featuresBoot", "config,standard,region,package,kar,management"),
>> +            editConfigurationFilePut("etc/org.ops4j.pax.web.cfg", "org.osgi.service.http.port", "9080"),
>> +            editConfigurationFilePut("etc/org.apache.karaf.management.cfg", "rmiRegistryPort", RMI_PORT),
>> +            editConfigurationFilePut("etc/org.apache.karaf.management.cfg", "rmiServerPort", "44445")
>> +        };
> Wouldn't it be better to retrieve the ports using the
> build-helper-maven-plugin:reserve-network-port-mojo to generate those
> ports and simply load them here?
Absolutely. The idea was to change the ports in statically in the first 
step to allow a build to run parallel to a running karaf. Using real 
dynamic ports is the next logic step. I just had no idea how to do it.
>>       }
>>
>>       /**
>> @@ -223,7 +232,7 @@ public class KarafTestSupport {
>>       }
>>
>>       public JMXConnector getJMXConnector() throws Exception {
>> -        JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-root");
>> +        JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + RMI_PORT+ "/karaf-root");
>>           Hashtable<String, Object> env = new Hashtable<String, Object>();
>>           String[] credentials = new String[]{ "karaf", "karaf" };
>>           env.put("jmx.remote.credentials", credentials);
>>
>>


-- 
  
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com


Re: svn commit: r1394106 - in /karaf/trunk/itests/src/test/java/org/apache/karaf/itests: BootFeaturesTest.java FeatureTest.java KarafTestSupport.java

Posted by Andreas Pieber <an...@gmail.com>.
Hey,

Questions inline

On Thu, Oct 4, 2012 at 5:00 PM,  <cs...@apache.org> wrote:
> Author: cschneider
> Date: Thu Oct  4 15:00:02 2012
> New Revision: 1394106
>
> URL: http://svn.apache.org/viewvc?rev=1394106&view=rev
> Log:
> KARAF-1897 Use different ports for itests. Switch off ssh for tests where it is not used
>
> Modified:
>     karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
>     karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
>     karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
>
> Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java
> URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff
> ==============================================================================
> --- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java (original)
> +++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/BootFeaturesTest.java Thu Oct  4 15:00:02 2012
> @@ -12,6 +12,6 @@ public class BootFeaturesTest extends Ka
>
>      @Test
>      public void testBootFeatures() throws Exception {
> -        assertFeaturesInstalled("standard", "config", "region", "package", "kar", "ssh", "management");
> +        assertFeaturesInstalled("standard", "config", "region", "package", "kar", "management");
>      }
>  }
>
> Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java
> URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java?rev=1394106&r1=1394105&r2=1394106&view=diff
> ==============================================================================
> --- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java (original)
> +++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/FeatureTest.java Thu Oct  4 15:00:02 2012
> @@ -36,12 +36,6 @@ public class FeatureTest extends KarafTe
>          String featureListOutput = executeCommand("feature:list -i");
>          System.out.println(featureListOutput);
>          assertTrue(featureListOutput.contains("standard"));
> -        assertTrue(featureListOutput.contains("config"));
> -        assertTrue(featureListOutput.contains("region"));
> -        assertTrue(featureListOutput.contains("package"));
> -        assertTrue(featureListOutput.contains("kar"));
> -        assertTrue(featureListOutput.contains("ssh"));
> -        assertTrue(featureListOutput.contains("management"));

I don't understand that change. Why remove that validation?

>      }
>
>      @Test
>
> Modified: karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java
> URL: http://svn.apache.org/viewvc/karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java?rev=1394106&r1=1394105&r2=1394106&view=diff
> ==============================================================================
> --- karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java (original)
> +++ karaf/trunk/itests/src/test/java/org/apache/karaf/itests/KarafTestSupport.java Thu Oct  4 15:00:02 2012
> @@ -13,6 +13,7 @@
>   */
>  package org.apache.karaf.itests;
>
> +import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.editConfigurationFilePut;
>  import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.karafDistributionConfiguration;
>  import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.keepRuntimeFolder;
>  import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.logLevel;
> @@ -51,6 +52,7 @@ import org.ops4j.pax.exam.Option;
>  import org.ops4j.pax.exam.TestProbeBuilder;
>  import org.ops4j.pax.exam.junit.Configuration;
>  import org.ops4j.pax.exam.junit.ProbeBuilder;
> +import org.ops4j.pax.exam.options.MavenArtifactUrlReference;
>  import org.osgi.framework.BundleContext;
>  import org.osgi.framework.Constants;
>  import org.osgi.framework.Filter;
> @@ -61,6 +63,8 @@ import org.osgi.util.tracker.ServiceTrac
>
>  public class KarafTestSupport {
>
> +    private static final String RMI_PORT = "1100";
> +
>      static final Long COMMAND_TIMEOUT = 10000L;
>      static final Long SERVICE_TIMEOUT = 30000L;
>
> @@ -86,11 +90,16 @@ public class KarafTestSupport {
>
>      @Configuration
>      public Option[] config() {
> +        MavenArtifactUrlReference karafUrl = maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz");
>          return new Option[]{
> -            karafDistributionConfiguration().frameworkUrl(maven().groupId("org.apache.karaf").artifactId("apache-karaf").versionAsInProject().type("tar.gz"))
> -                    .name("Apache Karaf").unpackDirectory(new File("target/exam")),
> -                keepRuntimeFolder(),
> -                logLevel(LogLevelOption.LogLevel.INFO) };
> +            karafDistributionConfiguration().frameworkUrl(karafUrl).name("Apache Karaf").unpackDirectory(new File("target/exam")),
> +            keepRuntimeFolder(),
> +            logLevel(LogLevelOption.LogLevel.INFO),
> +            editConfigurationFilePut("etc/org.apache.karaf.features.cfg", "featuresBoot", "config,standard,region,package,kar,management"),
> +            editConfigurationFilePut("etc/org.ops4j.pax.web.cfg", "org.osgi.service.http.port", "9080"),
> +            editConfigurationFilePut("etc/org.apache.karaf.management.cfg", "rmiRegistryPort", RMI_PORT),
> +            editConfigurationFilePut("etc/org.apache.karaf.management.cfg", "rmiServerPort", "44445")
> +        };

Wouldn't it be better to retrieve the ports using the
build-helper-maven-plugin:reserve-network-port-mojo to generate those
ports and simply load them here?

>      }
>
>      /**
> @@ -223,7 +232,7 @@ public class KarafTestSupport {
>      }
>
>      public JMXConnector getJMXConnector() throws Exception {
> -        JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1099/karaf-root");
> +        JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + RMI_PORT+ "/karaf-root");
>          Hashtable<String, Object> env = new Hashtable<String, Object>();
>          String[] credentials = new String[]{ "karaf", "karaf" };
>          env.put("jmx.remote.credentials", credentials);
>
>