Modified: 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractProviderTestCase.java
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractProviderTestCase.java?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractProviderTestCase.java
 (original)
+++ 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractProviderTestCase.java
 Wed Jan  7 05:28:48 2009
@@ -24,6 +24,7 @@
 import org.apache.commons.vfs.FileSystemException;
 import org.apache.commons.vfs.FileType;
 import org.apache.commons.vfs.FileSystemManager;
+import org.apache.commons.vfs.FileSystem;
 import org.apache.commons.vfs.impl.DefaultFileSystemManager;
 import org.apache.commons.vfs.provider.AbstractFileSystem;
 import org.apache.commons.vfs.provider.local.DefaultLocalFileProvider;
@@ -35,6 +36,10 @@
 import java.net.URLConnection;
 import java.util.Arrays;
 
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.framework.TestCase;
+
 /**
  * File system test cases, which verifies the structure and naming
  * functionality.
@@ -54,6 +59,7 @@
     private DefaultFileSystemManager manager;
     private ProviderTestConfig providerConfig;
     private Method method;
+    private boolean addEmptyDir;
 
     // Expected contents of "file1.txt"
     public static final String FILE1_CONTENT = "This is a test file.";
@@ -113,7 +119,7 @@
      * some provider config do some post-initialization in getBaseTestFolder.
      * This is a hack to allow access to this code for 
<code>createManager</code>
      */
-    protected FileObject getBaseTestFolder(FileSystemManager fs) throws 
Exception
+    public FileObject getBaseTestFolder(FileSystemManager fs) throws Exception
     {
         return providerConfig.getBaseTestFolder(fs);
     }
@@ -181,9 +187,14 @@
             for (int i = 0; i < caps.length; i++)
             {
                 final Capability cap = caps[i];
-                if (!readFolder.getFileSystem().hasCapability(cap))
+                FileSystem fs = readFolder.getFileSystem();
+                String name = fs.getClass().getName();
+                int index = name.lastIndexOf('.');
+                String fsName = (index > 0) ? name.substring(index + 1) : name;
+                if (!fs.hasCapability(cap))
                 {
-                    System.out.println("skipping " + getName() + " because fs 
does not have cap " + cap);
+                    System.out.println("skipping " + getName() + " because " +
+                        fsName + " does not have capability " + cap);
                     return;
                 }
             }
@@ -325,7 +336,10 @@
         base.addFile("file space.txt", FILE1_CONTENT);
 
         base.addFile("empty.txt", "");
-        base.addFolder("emptydir");
+        if (addEmptyDir)
+        {
+            base.addFolder("emptydir");
+        }
 
         final FileInfo dir = base.addFolder("dir1");
         dir.addFile("file1.txt", TEST_FILE_CONTENT);
@@ -349,4 +363,25 @@
 
         return base;
     }
+
+    protected void addEmptyDir(boolean addEmptyDir)
+    {
+        this.addEmptyDir = addEmptyDir;
+    }
+
+    protected static Test notConfigured(Class testClass)
+    {
+        return warning(testClass + " is not configured for tests, skipping");
+    }
+
+    private static Test warning(final String message)
+    {
+        return new TestCase("warning")
+        {
+            protected void runTest()
+            {
+                       System.out.println(message);
+                       }
+               };
+       }
 }

Modified: 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractProviderTestConfig.java
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractProviderTestConfig.java?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractProviderTestConfig.java
 (original)
+++ 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractProviderTestConfig.java
 Wed Jan  7 05:28:48 2009
@@ -26,7 +26,7 @@
  * @author <a href="mailto:adammurd...@apache.org";>Adam Murdoch</a>
  * @version $Revision$ $Date$
  */
-public abstract class AbstractProviderTestConfig
+public abstract class AbstractProviderTestConfig extends 
AbstractProviderTestCase
     implements ProviderTestConfig
 {
     private FilesCache cache = null;

Modified: 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractTestSuite.java
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractTestSuite.java?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractTestSuite.java
 (original)
+++ 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/AbstractTestSuite.java
 Wed Jan  7 05:28:48 2009
@@ -57,24 +57,35 @@
 
     private Thread[] startThreadSnapshot;
     private Thread[] endThreadSnapshot;
+    private boolean addEmptyDir;
 
     /**
      * Adds the tests for a file system to this suite.
      */
     public AbstractTestSuite(final ProviderTestConfig providerConfig) throws 
Exception
     {
-        this(providerConfig, "", false);
+        this(providerConfig, "", false, false);
     }
 
     protected AbstractTestSuite(final ProviderTestConfig providerConfig,
                                 final String prefix,
-                                final boolean nested)
+                                final boolean nested) throws Exception
+    {
+        this(providerConfig, prefix, nested, false);
+    }
+
+
+    protected AbstractTestSuite(final ProviderTestConfig providerConfig,
+                                final String prefix,
+                                final boolean nested,
+                                final boolean addEmptyDir)
         throws Exception
     {
         super(new TestSuite());
         testSuite = (TestSuite) fTest;
         this.providerConfig = providerConfig;
         this.prefix = prefix;
+        this.addEmptyDir = addEmptyDir;
         addBaseTests();
         if (!nested)
         {
@@ -123,6 +134,7 @@
             final AbstractProviderTestCase testCase = 
(AbstractProviderTestCase) testClass.newInstance();
             testCase.setMethod(method);
             testCase.setName(prefix + method.getName());
+            testCase.addEmptyDir(this.addEmptyDir);
             testSuite.addTest(testCase);
         }
     }

Modified: 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/ProviderReadTests.java
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/ProviderReadTests.java?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/ProviderReadTests.java
 (original)
+++ 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/ProviderReadTests.java
 Wed Jan  7 05:28:48 2009
@@ -91,6 +91,13 @@
 
             // Make sure all children were found
             assertNotNull(children);
+            if (info.children.size() != children.length)
+            {
+                for (int i=0; i < children.length; ++i)
+                {
+                    System.out.println(children[i].getName());
+                }
+            }
             assertEquals("count children of \"" + file.getName() + "\"", 
info.children.size(), children.length);
 
             // Recursively check each child

Modified: 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/ProviderTestSuite.java
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/ProviderTestSuite.java?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/ProviderTestSuite.java
 (original)
+++ 
commons/proper/vfs/trunk/core/src/test/java/org/apache/commons/vfs/test/ProviderTestSuite.java
 Wed Jan  7 05:28:48 2009
@@ -33,15 +33,27 @@
      */
     public ProviderTestSuite(final ProviderTestConfig providerConfig) throws 
Exception
     {
-        this(providerConfig, "", false);
+        this(providerConfig, "", false, false);
     }
 
+    /**
+     * Adds the tests for a file system to this suite. Provider has an empty 
directory.
+     */
+    public ProviderTestSuite(final ProviderTestConfig providerConfig,
+                             final boolean addEmptyDir) throws Exception
+    {
+        this(providerConfig, "", false, addEmptyDir);
+    }
+
+
+
     protected ProviderTestSuite(final ProviderTestConfig providerConfig,
                                 final String prefix,
-                                final boolean nested)
+                                final boolean nested,
+                                final boolean addEmptyDir)
         throws Exception
     {
-        super(providerConfig, prefix, nested);
+        super(providerConfig, prefix, nested, addEmptyDir);
     }
 
     /**

Added: commons/proper/vfs/trunk/core/src/test/test-data/write-tests/dummy.txt
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/core/src/test/test-data/write-tests/dummy.txt?rev=732328&view=auto
==============================================================================
--- commons/proper/vfs/trunk/core/src/test/test-data/write-tests/dummy.txt 
(added)
+++ commons/proper/vfs/trunk/core/src/test/test-data/write-tests/dummy.txt Wed 
Jan  7 05:28:48 2009
@@ -0,0 +1 @@
+dummy file to cause directory to be created.
\ No newline at end of file

Modified: commons/proper/vfs/trunk/examples/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/examples/pom.xml?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- commons/proper/vfs/trunk/examples/pom.xml (original)
+++ commons/proper/vfs/trunk/examples/pom.xml Wed Jan  7 05:28:48 2009
@@ -32,6 +32,7 @@
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-vfs-project</artifactId>
     <version>2.0-SNAPSHOT</version>
+    <relativePath>../</relativePath>
   </parent>
 
   <dependencies>

Modified: commons/proper/vfs/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/pom.xml?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- commons/proper/vfs/trunk/pom.xml (original)
+++ commons/proper/vfs/trunk/pom.xml Wed Jan  7 05:28:48 2009
@@ -24,6 +24,7 @@
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-parent</artifactId>
     <version>11</version>
+    <relativePath>.</relativePath>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -85,6 +86,12 @@
       <email>jcarman -at- apache.org</email>
       <organization>Apache Software Foundation</organization>
     </developer>
+    <developer>
+      <name>Ralph Goers</name>
+      <id>rgoers</id>
+      <email>rgoers -at- apache.org</email>
+      <organization>Intuit</organization>
+    </developer>
   </developers>
 
   <contributors>
@@ -108,10 +115,28 @@
     <commons.binary.suffix></commons.binary.suffix>
     <commons.jira.id>VFS</commons.jira.id>
     <commons.jira.pid>12310495</commons.jira.pid>
-  </properties> 
+  </properties>
 
   <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>2.0-beta-5</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
     <plugins>
+       <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>2.2</version>
+      </plugin>
       <plugin>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-build-plugin</artifactId>
@@ -136,6 +161,53 @@
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <version>2.1</version>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <configuration>
+          <stagingDirectory>${user.home}/vfssite/tmp</stagingDirectory>
+          <stagingSiteURL>${user.home}/vfssite/staging</stagingSiteURL>
+          <!-- Exclude the navigation file for Maven 1 sites
+               and the changes file used by the changes-plugin,
+               as they interfere with the site generation. -->
+          <moduleExcludes>
+            <xdoc>navigation.xml,changes.xml</xdoc>
+          </moduleExcludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-changes-plugin</artifactId>
+        <version>2.0</version>
+        <configuration>
+          <xmlPath>${basedir}/xdocs/changes.xml</xmlPath>
+          <issueLinkTemplate>%URL%/%ISSUE%</issueLinkTemplate>
+        </configuration>
+        <reportSets>
+          <reportSet>
+            <reports>
+               <report>changes-report</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>2.2</version>
+        <configuration>
+          
<propertiesLocation>${project.parent.relativePath}/checkstyle.properties</propertiesLocation>
+          <!-- <configLocation>${basedir}/conf/checkstyle.xml</configLocation> 
-->
+          <!-- 
<suppressionsLocation>${basedir}/conf/checkstyle-suppressions.xml</suppressionsLocation>
 -->
+          <enableRulesSummary>false</enableRulesSummary>
+          <propertyExpansion>basedir=${basedir}</propertyExpansion>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jxr-plugin</artifactId>
         <version>2.1</version>
         <configuration>

Modified: commons/proper/vfs/trunk/sandbox/pom.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/sandbox/pom.xml?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- commons/proper/vfs/trunk/sandbox/pom.xml (original)
+++ commons/proper/vfs/trunk/sandbox/pom.xml Wed Jan  7 05:28:48 2009
@@ -32,7 +32,8 @@
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-vfs-project</artifactId>
                <version>2.0-SNAPSHOT</version>
-       </parent>
+        <relativePath>../</relativePath>
+    </parent>
 
        <dependencies>
                 <dependency>

Modified: commons/proper/vfs/trunk/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/src/site/site.xml?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- commons/proper/vfs/trunk/src/site/site.xml (original)
+++ commons/proper/vfs/trunk/src/site/site.xml Wed Jan  7 05:28:48 2009
@@ -37,13 +37,18 @@
     </menu>
 
     <menu name="Development">
-      <item name="Test Server"             href="/testserver.html"/>
+      <item name="Testing"                 href="/testing.html"/>
       <item name="Mailing Lists"           href="/mail-lists.html"/>
       <item name="Issue Tracking"          href="/issue-tracking.html"/>
       <item name="Source Repository"       href="/source-repository.html"/>
       <item name="To Do List"              href="/todo.html"/>
     </menu>
-
+      
+    <menu name="Components">
+      <item name="Core" href="commons-vfs/index.html"/>
+      <item name="Examples" href="commons-vfs-examples/index.html"/>
+      <item name="Sandbox" href="commons-vfs-sandbox/index.html"/>
+    </menu>
   </body>
 
 </project>

Modified: commons/proper/vfs/trunk/xdocs/api.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/xdocs/api.xml?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- commons/proper/vfs/trunk/xdocs/api.xml (original)
+++ commons/proper/vfs/trunk/xdocs/api.xml Wed Jan  7 05:28:48 2009
@@ -107,10 +107,12 @@
 
                        <subsection name="User Authentication">
                                <p>
-                                       You cann put the credentials into th 
url, but the drawback here is, that it is easily possible to get access to the 
password.
+                                       You can put the credentials into the 
url, but the drawback here is, that it is
+                    easily possible to get access to the password.
                                </p>
                                <p>
-                                       To solve you can use the <a 
href="apidocs/org/apache/commons/vfs/UserAuthenticator.html">UserAuthenticator</a>
+                                       To solve you can use the
+                    <a 
href="apidocs/org/apache/commons/vfs/UserAuthenticator.html">UserAuthenticator</a>
                                </p>
                                <p>
                                        For example:
@@ -123,15 +125,17 @@
                                        </code>
                                </p>
                                <p>
-                                       Internally the UserAuthenticator uses 
char arrays which will be zeroed before its freed for garbage collection.
-                                       Unhappily none of the current libraries 
use char arrays and so VFS has to create a string. Thus, the main advantage
+                                       Internally the UserAuthenticator uses 
char arrays which will be zeroed before it is
+                    freed for garbage collection.Unhappily none of the current 
libraries use char
+                    arrays and so VFS has to create a string. Thus, the main 
advantage
                                        of this solution - security - is lost, 
but hey, thats not VFS fault ;-)
                                </p>
                                <p>
-                                       VFS calls 
<code>UserAuthenticator.requestAuthentication</code> each time it requires 
credentials, it depends on the
-                                       filesystem implementation how often 
this might be. For example, with FTP this is on every connection, in SMB/JCIFS
-                                       this is for EVERY OBJECT. It is up to 
you how long you will cache credentials of if you would like to provide a
-                                       "save credentials" checkbox.
+                                       VFS calls 
<code>UserAuthenticator.requestAuthentication</code> each time it
+                    requires credentials, it depends on the filesystem 
implementation how often
+                    this might be. For example, with FTP this is on every 
connection, in SMB/JCIFS
+                                       this is for EVERY OBJECT. It is up to 
you how long you will cache credentials
+                    of if you would like to provide a "save credentials" 
checkbox.
                                </p>
                        </subsection>
 

Modified: commons/proper/vfs/trunk/xdocs/filesystems.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/xdocs/filesystems.xml?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- commons/proper/vfs/trunk/xdocs/filesystems.xml (original)
+++ commons/proper/vfs/trunk/xdocs/filesystems.xml Wed Jan  7 05:28:48 2009
@@ -56,17 +56,16 @@
                 <li>
                     <a href="#mime">mime</a>
                 </li>
-                       </ul>
+                <li>
+                                       <a href="#WebDAV">WebDAV</a><br />
+                               </li>
+            </ul>
         </section>
 
                <section name="Things from the sandbox">
                        <p>The following file systems are in development:</p>
                        <ul>
                                <li>
-                                       <a href="#WebDAV">WebDAV</a><br />
-                                       We can't release WebDAV as we depend on 
an snapshot, thus it is in our sandbox.
-                               </li>
-                               <li>
                                        <a href="#CIFS">CIFS</a>
                                </li>
                                <li>

Modified: commons/proper/vfs/trunk/xdocs/index.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/xdocs/index.xml?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- commons/proper/vfs/trunk/xdocs/index.xml (original)
+++ commons/proper/vfs/trunk/xdocs/index.xml Wed Jan  7 05:28:48 2009
@@ -69,7 +69,7 @@
                                VFS is splitted into core, examples and sandbox 
now.
                        </p>
                        <p>
-                               Due to some technical reasons we had to move 
the webdav and jcifs (smb) filesystem to
+                               Due to some technical reasons we had to move 
the jcifs (smb) filesystem to
                                the sandbox. So if you need one of these 
filesystems you have to build VFS manually.
                        </p>
                        <p>

Modified: commons/proper/vfs/trunk/xdocs/navigation.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/xdocs/navigation.xml?rev=732328&r1=732327&r2=732328&view=diff
==============================================================================
--- commons/proper/vfs/trunk/xdocs/navigation.xml (original)
+++ commons/proper/vfs/trunk/xdocs/navigation.xml Wed Jan  7 05:28:48 2009
@@ -37,7 +37,7 @@
     </menu>
 
     <menu name="Development">
-      <item name="Test Server"             href="/testserver.html"/>
+      <item name="Testing"                 href="/testing.html"/>
       <item name="Mailing Lists"           href="/mail-lists.html"/>
       <item name="Issue Tracking"          href="/issue-tracking.html"/>
       <item name="Source Repository"       href="/cvs-usage.html"/>

Copied: commons/proper/vfs/trunk/xdocs/testing.xml (from r729829, 
commons/proper/vfs/trunk/xdocs/testserver.xml)
URL: 
http://svn.apache.org/viewvc/commons/proper/vfs/trunk/xdocs/testing.xml?p2=commons/proper/vfs/trunk/xdocs/testing.xml&p1=commons/proper/vfs/trunk/xdocs/testserver.xml&r1=729829&r2=732328&rev=732328&view=diff
==============================================================================
--- commons/proper/vfs/trunk/xdocs/testserver.xml (original)
+++ commons/proper/vfs/trunk/xdocs/testing.xml Wed Jan  7 05:28:48 2009
@@ -16,114 +16,94 @@
 -->
 <document>
     <properties>
-        <title>Setup a Testserver</title>
-        <author email="ima...@apache.org">Mario Ivankovits</author>
+        <title>Running the Tests</title>
+        <author email="rgo...@apache.org">Ralph Goers</author>
     </properties>
 
     <body>
-        <section name="Testserver">
+        <section name="Running the tests">
             <p>
-                This documentation describes how to setup a VFS testserver 
needed during development for the junit
-                tests.
+                This page details how to setup the tests for the various 
providers and then
+                run them with Maven 2.
             </p>
             <p>
-                I tried to simplify things as good as I can, e.g. this setup 
uses for all server the same vfs work
-                directory.
-                Thus it is needed to setup apache to use user 'vfsusr' instead 
of 'wwwrun'.
-                <br/>
-                Based on this description it should be possible for you to 
avoid this "insecurity" if needed.
+                The tests were run on Mac OS/X 10.5. The tests requiring a 
remote repository
+                were pointed to a second machine running Kubuntu 7.10 and the 
various servers
+                that can be installed from the system administration tool. The 
only exception
+                to this is that the WebDAV and Http support was testing using 
Day CRX 1.4 as
+                the server.
             </p>
-            <p>
-                I created it during setup a fresh server based on the 
following components:
 
-                <ol>
-                    <li>SuSE Linux 9.3 Minimal Installation</li>
-                    <li>Apache 2 Webserver (apache2-2.0.53)</li>
-                    <li>Samba 3 (samba-3.0.12)</li>
-                    <li>ssh (openssh-3.9p1)</li>
-                    <li>vsftp (vsftpd-2.0.2-3)</li>
-                </ol>
-            </p>
+            <subsection name="Getting Started">
+                <p>
+                    First, from the root directory of the project, run 
<code>mvn install</code>.
+                    This will compile all the source and test source and then 
run all the tests
+                    for providers that use the local file system.
+                </p>
+            </subsection>
 
+            <subsection name="Setting up the remote server">
+                <p>
+                    Each remote service needs to have the test data placed 
within it's "repository".
+                    After running the maven build, the test data can be found 
in
+                    core/target/test-data. Each service may require a userid 
and password to be
+                    created. For example, to run the ftp test on a Linux 
system a user should be
+                    created and the test data placed within that user's home 
directory. See the
+                    following sections for details on each service.
+                </p>
+                <p>
+                    Each repository should contain the following list of files 
for the tests to
+                    complete successfully.
+                </p>
+                <source><![CDATA[
+write-tests
+read-tests
+read-tests/file1.txt
+read-tests/dir1
+read-tests/dir1/file1.txt
+read-tests/dir1/file2.txt
+read-tests/dir1/file3.txt
+read-tests/dir1/subdir1
+read-tests/dir1/subdir1/file1.txt
+read-tests/dir1/subdir1/file2.txt
+read-tests/dir1/subdir1/file3.txt
+read-tests/dir1/subdir2
+read-tests/dir1/subdir2/file1.txt
+read-tests/dir1/subdir2/file2.txt
+read-tests/dir1/subdir2/file3.txt
+read-tests/dir1/subdir3
+read-tests/dir1/subdir3/file1.txt
+read-tests/dir1/subdir3/file2.txt
+read-tests/dir1/subdir3/file3.txt
+read-tests/empty.txt
+read-tests/file%.txt
+code
+code/sealed
+code/sealed/AnotherClass.class
+code/ClassToLoad.class]]></source>
+            </subsection>
 
-            <subsection name="System setup">
+            <subsection name="Apache 2 Webserver">
+                <p>
+                    Create a user on the system
+                </p>
                 <ol>
-                    <li>You need maven to build the local test-data structure. 
This is done automatically during build of VFS.</li>
                     <li>Create a user 'vfsusr' with password 'vfs/%\te:st' and 
home directory '/home/vfsusr'
                         <br/>
                         <source><![CDATA[
-useradd -p vfsusr -m vfsusr
-                    ]]></source>
+useradd -p vfsusr -m vfsusr]]></source>
                     </li>
-                    <li>Create the directories
+                    <li>In vfsuser's home directory create the directories
                         <ol>
-                            <li>/vfstest</li>
-                            <li>/vfstest/write-tests</li>
+                            <li>vfstest</li>
+                            <li>vfstest/write-tests</li>
                         </ol>
-                        and copy from your local 'target/test-data' the 
directories
-                        <source>code,read-tests</source> into it.<br />
-                        Now your structure looks like this:<br />
-                        <source><![CDATA[
-/vfstest
-/vfstest/write-tests
-/vfstest/read-tests
-/vfstest/read-tests/emptydir
-/vfstest/read-tests/file1.txt
-/vfstest/read-tests/dir1
-/vfstest/read-tests/dir1/file1.txt
-/vfstest/read-tests/dir1/file2.txt
-/vfstest/read-tests/dir1/file3.txt
-/vfstest/read-tests/dir1/subdir1
-/vfstest/read-tests/dir1/subdir1/file1.txt
-/vfstest/read-tests/dir1/subdir1/file2.txt
-/vfstest/read-tests/dir1/subdir1/file3.txt
-/vfstest/read-tests/dir1/subdir2
-/vfstest/read-tests/dir1/subdir2/file1.txt
-/vfstest/read-tests/dir1/subdir2/file2.txt
-/vfstest/read-tests/dir1/subdir2/file3.txt
-/vfstest/read-tests/dir1/subdir3
-/vfstest/read-tests/dir1/subdir3/file1.txt
-/vfstest/read-tests/dir1/subdir3/file2.txt
-/vfstest/read-tests/dir1/subdir3/file3.txt
-/vfstest/read-tests/empty.txt
-/vfstest/read-tests/file%.txt
-/vfstest/code
-/vfstest/code/sealed
-/vfstest/code/sealed/AnotherClass.class
-/vfstest/code/ClassToLoad.class
-                    ]]></source>
                     </li>
-                    <li>Setup a symbolic link to '/vfstest'<br />
+                    <li>Copy the test data into the vfstest directory</li>
+                    <li>Create a symbolic link at '/vfstest' to 
/home/vfsuser/vfstest<br />
                         <source><![CDATA[
-ln -s /vfstest /home/vfsusr/vfstest
-                    ]]></source>
+ln -s /vfstest /home/vfsusr/vfstest]]></source>
                     </li>
-                    <li>Set permissions
-                        <br/>
-                        <source><![CDATA[
-find /vfstest -print0 | xargs -0 chown vfsusr.users
-                    ]]></source>
-                    </li>
-                    <li>After you followed the steps below and setup the 
server ensure they
-                        are activated and running.<br />
-                        This is only needed if you installed a fresh system. 
Otherwise simply restart them.
-                        <br/>
-                        <source><![CDATA[
-insserv xinetd
-insserv apache2
-insserv smb
-insserv nmb
-/etc/rc.d/xinetd restart
-/etc/rc.d/apache2 restart
-/etc/rc.d/smb restart
-/etc/rc.d/nmb restart
-                        ]]></source>
-                        </li>
-                </ol>
-            </subsection>
-
-            <subsection name="Apache 2 Webserver">
-                <ol>
                     <li>Create a file named '/etc/apache2/conf.d/vfstest.conf' 
with this content<br />
                         <source><![CDATA[
 #
@@ -152,8 +132,7 @@
         <Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
                 Require user vfsusr
         </Limit>
-</Location>
-                            ]]></source>
+</Location>]]></source>
                     </li>
                     <li>change the permission on
                         <source><![CDATA[
@@ -163,19 +142,70 @@
                     <li>Activate the WebDAV module by adding 'dav' and 
'dav_fs' to the list of modules in '/etc/sysconfig/apache2'. e.g <br/>
                         <source><![CDATA[
 APACHE_MODULES="access actions alias auth auth_dbm autoindex cgi dir env 
expires include log_config
-mime negotiation setenvif ssl suexec userdir php4 php5 dav dav_fs"
-                            ]]></source>
+mime negotiation setenvif ssl suexec userdir php4 php5 dav dav_fs"]]></source>
                     </li>
                     <li>Setup the webserver to use user-id 'vfsusr' and group 
'users'. This can be done by changing the file '/etc/apache2/uid.conf'<br />
                         <source><![CDATA[
 User vfsusr
-Group users
-                        ]]></source>
+Group users]]></source>
                     </li>
                     <li>Create the VFS user to access the Webdav resource<br />
                         <source><![CDATA[
-htpasswd2 -cmb /etc/apache2/passwd  vfsusr 'vfs/%\te:st'
-                        ]]></source>
+htpasswd2 -cmb /etc/apache2/passwd  vfsusr 'vfstest']]></source>
+                    </li>
+                    <li>Add the following to profiles section of settings.xml 
in the Maven home
+                        directory. Modify the urls to match your setup.
+                        <source><![CDATA[
+   <profile>
+      <id>http</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+        
<test.http.uri>http://vfsusr:vfst...@192.168.10.133:80/vfstest/test-data</test.http.uri>
+      </properties>
+    </profile>
+    <profile>
+      <id>webdav</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+        
<test.webdav.uri>webdav://vfsusr:vfst...@192.168.10.133:80/vfstest/test-data</test.webdav.uri>
+      </properties>
+    </profile>]]></source>
+                    </li>
+                </ol>
+            </subsection>
+
+            <subsection name="Day CRX or Apache Jackrabbit">
+                <ol>
+                    <li>Use Windows Explorer, Mac Finder or a similar tool to 
connect to the
+                        repository.</li>
+                    <li>Create a vfstest directory</li>
+                    <li>Drag the test-data from Explorer/Finder window to the 
repository window to
+                        copy the files to the vfstest directory in the 
repository</li>
+                    <li>Add the following to profiles section of settings.xml 
in the Maven home
+                        directory. Modify the urls to match your setup.
+                        <source><![CDATA[
+   <profile>
+      <id>http</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+        
<test.http.uri>http://admin:ad...@192.168.10.133:7402/vfstest/test-data</test.http.uri>
+      </properties>
+    </profile>
+    <profile>
+      <id>webdav</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+        
<test.webdav.uri>webdav://admin:ad...@192.168.10.133:7402/vfstest/test-data</test.webdav.uri>
+      </properties>
+    </profile>]]></source>
                     </li>
                 </ol>
             </subsection>
@@ -188,13 +218,11 @@
    comment = VFS Test Directory
    path = /home/vfsusr
    guest ok = yes
-   writable = yes
-                        ]]></source>
+   writable = yes]]></source>
                     </li>
-                    <li>Setup a 'vfsusr' with password 'vfs/%\te:st'<br />
+                    <li>Setup a 'vfsusr' with password 'vfstest'<br />
                         <source><![CDATA[
-smbpasswd -a vfsusr
-                        ]]></source>
+smbpasswd -a vfsusr]]></source>
                     </li>
                 </ol>
             </subsection>
@@ -203,45 +231,58 @@
                 <ol>
                     <li>In '/etc/ssh/sshd_config' ensure<br />
                         <source><![CDATA[
-PasswordAuthentication yes
-                        ]]></source>
+PasswordAuthentication yes]]></source>
                     </li>
                 </ol>
             </subsection>
 
             <subsection name="vsftp">
                 <ol>
+                    <li>Create a user 'vfsusr' with password 'vfstest' and 
home directory '/home/vfsusr'
+                        <br/>
+                        <source><![CDATA[
+useradd -p vfsusr -m vfsusr]]></source>
+                    </li>
+                    <li>In vfsuser's home directory create the directories
+                        <ol>
+                            <li>vfstest</li>
+                            <li>vfstest/write-tests</li>
+                        </ol>
+                    </li>
+                    <li>Copy the test data into the vfstest directory</li>
                     <li>Ensure the server is not disabled in the xinetd 
configuration<br />
                         Set <source>disable=no</source> in 
'/etc/xinetd.d/vsftpd'
                     </li>
 
                     <li>Setup the server config: '/etc/vsftpd.conf'<br/>
-                        <source>
+                        <source><![CDATA[
 write_enable=YES
-local_enable=YES
-                        </source>
+local_enable=YES]]></source>
+
+                    <li>Add the following to profiles section of settings.xml 
in the Maven home
+                        directory. Modify the urls to match your setup.
+                        <source><![CDATA[
+    <profile>
+      <id>ftp</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <properties>
+        
<test.ftp.uri>ftp://admin:ad...@192.168.10.133/vfstest/test-data</test.ftp.uri>
+      </properties>
+    </profile>]]></source>
+                    </li>        </li>
 
-                    </li>
                 </ol>
             </subsection>
 
-            <subsection name="Tests">
-                Now we are finished and you can try to activate the tests by
-                <ol>
-                    <li>reactivate the tests in 'build.xml'.<br/>
-                    Search for <code><![CDATA[<!-- tests disabled 
-->]]></code> and comment the exclude.</li>
-                    <source><![CDATA[
-<!-- tests disabled
-<exclude name="**/*.java">
-</exclude>
- -->
-                    ]]></source>
-                    <li>or use the class org.apache.commons.vfs.RunTest where 
you have
-                        to adapt some properties at the top of the file and 
choose which test
-                        you would like to run by comment the others.<br />
-                        This is the way how I debug a failed testcase.
-                    </li>
-                </ol>
+            <subsection name="Running tests">
+                <p>
+                    Running tests simply requires that the appropriate profile 
be activated. For
+                    example, to run just the webdav test do
+                    <code>mvn -P webdav test 
-Dtest=WebdavProviderTestCase</code>. Multipe tests
+                    can be run by doing <code>mvn -P webdav -P http 
test</code>.
+                </p>
             </subsection>
         </section>
     </body>

Propchange: commons/proper/vfs/trunk/xdocs/testing.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/vfs/trunk/xdocs/testing.xml
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/proper/vfs/trunk/xdocs/testing.xml
------------------------------------------------------------------------------
    svn:mergeinfo = 

Propchange: commons/proper/vfs/trunk/xdocs/testing.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml


Reply via email to