Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 94966 invoked from network); 20 Apr 2010 13:06:54 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 20 Apr 2010 13:06:54 -0000 Received: (qmail 55973 invoked by uid 500); 20 Apr 2010 13:06:54 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 55942 invoked by uid 500); 20 Apr 2010 13:06:53 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 55922 invoked by uid 99); 20 Apr 2010 13:06:53 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Apr 2010 13:06:53 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Apr 2010 13:06:49 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3B16B23888EA; Tue, 20 Apr 2010 13:06:06 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r935899 - in /jackrabbit/trunk/jackrabbit-jcr-server: ./ src/main/java/org/apache/jackrabbit/webdav/simple/ src/test/java/org/apache/jackrabbit/webdav/simple/ src/test/resources/ Date: Tue, 20 Apr 2010 13:06:06 -0000 To: commits@jackrabbit.apache.org From: jukka@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100420130606.3B16B23888EA@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jukka Date: Tue Apr 20 13:06:05 2010 New Revision: 935899 URL: http://svn.apache.org/viewvc?rev=935899&view=rev Log: JCR-2614: Include the WebDAV litmus tests in the Jackrabbit integration tests Add a simple LitmusTest class that runs part of the litmus test suite when started in the integrationTesting profile (and litmus is available on PATH or specified via -Dlitmus=/path/to/litmus) Added: jackrabbit/trunk/jackrabbit-jcr-server/src/test/java/org/apache/jackrabbit/webdav/simple/LitmusTest.java (with props) jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/config.xml (with props) Modified: jackrabbit/trunk/jackrabbit-jcr-server/pom.xml jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/logback-test.xml Modified: jackrabbit/trunk/jackrabbit-jcr-server/pom.xml URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-server/pom.xml?rev=935899&r1=935898&r2=935899&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-jcr-server/pom.xml (original) +++ jackrabbit/trunk/jackrabbit-jcr-server/pom.xml Tue Apr 20 13:06:05 2010 @@ -48,6 +48,46 @@ + + + integrationTesting + + litmus + + + + + maven-surefire-plugin + + + + jackrabbit.test.integration + true + + + litmus + ${litmus} + + + derby.system.durability + test + + + derby.storage.fileSyncTransactionLog + true + + + derby.stream.error.file + target/derby.log + + + + + + + + + javax.jcr @@ -86,6 +126,17 @@ test + org.apache.jackrabbit + jackrabbit-core + 2.2-SNAPSHOT + test + + + org.mortbay.jetty + jetty + test + + ch.qos.logback logback-classic test Modified: jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java?rev=935899&r1=935898&r2=935899&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java (original) +++ jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java Tue Apr 20 13:06:05 2010 @@ -174,7 +174,7 @@ public abstract class SimpleWebdavServle try { config.parse(getServletContext().getResource(configParam)); } catch (MalformedURLException e) { - log.debug("Unable to build resource filter provider."); + log.debug("Unable to build resource filter provider", e); } } } Added: jackrabbit/trunk/jackrabbit-jcr-server/src/test/java/org/apache/jackrabbit/webdav/simple/LitmusTest.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-server/src/test/java/org/apache/jackrabbit/webdav/simple/LitmusTest.java?rev=935899&view=auto ============================================================================== --- jackrabbit/trunk/jackrabbit-jcr-server/src/test/java/org/apache/jackrabbit/webdav/simple/LitmusTest.java (added) +++ jackrabbit/trunk/jackrabbit-jcr-server/src/test/java/org/apache/jackrabbit/webdav/simple/LitmusTest.java Tue Apr 20 13:06:05 2010 @@ -0,0 +1,116 @@ +/* + * 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.jackrabbit.webdav.simple; + +import java.io.ByteArrayOutputStream; +import java.io.File; + +import javax.jcr.Repository; +import javax.jcr.Session; + +import junit.framework.TestCase; + +import org.apache.commons.io.IOUtils; +import org.apache.jackrabbit.commons.JcrUtils; +import org.mortbay.jetty.Server; +import org.mortbay.jetty.bio.SocketConnector; +import org.mortbay.jetty.servlet.Context; +import org.mortbay.jetty.servlet.ServletHolder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class LitmusTest extends TestCase { + + /** + * Logger instance. + */ + private static final Logger log = LoggerFactory.getLogger(LitmusTest.class); + + public void testLitmus() throws Exception { + File dir = new File("target", "litmus"); + String litmus = System.getProperty("litmus", "litmus"); + + if (Boolean.getBoolean("jackrabbit.test.integration") + && litmusIsAvailable(litmus)) { + final Repository repository = JcrUtils.getRepository( + "jcr-jackrabbit://" + dir.getCanonicalPath()); + Session session = repository.login(); // for the TransientRepository + try { + SocketConnector connector = new SocketConnector(); + connector.setHost("localhost"); + connector.setPort(0); + + Server server = new Server(); + server.addConnector(connector); + + ServletHolder holder = new ServletHolder( + new SimpleWebdavServlet() { + @Override + public Repository getRepository() { + return repository; + } + }); + holder.setInitParameter("resource-config", "/config.xml"); + + Context context = new Context(server, "/"); + context.setResourceBase("src/test/resources"); + context.addServlet(holder, "/*"); + server.addHandler(context); + + server.start(); + try { + int port = connector.getLocalPort(); + String url = "http://localhost:" + port + "/default"; + + ProcessBuilder builder = + new ProcessBuilder(litmus, url, "admin", "admin"); + builder.environment().put( + "TESTS", "basic props http"); // copymove locks + builder.directory(dir); + builder.redirectErrorStream(); + + Process process = builder.start(); + IOUtils.copy(process.getInputStream(), System.out); + assertEquals(0, process.waitFor()); + } finally { + server.stop(); + } + } finally { + session.logout(); + } + } + } + + private boolean litmusIsAvailable(String litmus) { + try { + ProcessBuilder builder = new ProcessBuilder(litmus, "--version"); + builder.redirectErrorStream(); + Process process = builder.start(); + + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + IOUtils.copy(process.getInputStream(), buffer); + int rv = process.waitFor(); + log.info("litmus version: {}", buffer.toString("US-ASCII").trim()); + + return rv == 0; + } catch (Exception e) { + log.warn("litmus is not available: " + litmus, e); + return false; + } + } + +} Propchange: jackrabbit/trunk/jackrabbit-jcr-server/src/test/java/org/apache/jackrabbit/webdav/simple/LitmusTest.java ------------------------------------------------------------------------------ svn:eol-style = native Added: jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/config.xml URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/config.xml?rev=935899&view=auto ============================================================================== --- jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/config.xml (added) +++ jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/config.xml Tue Apr 20 13:06:05 2010 @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nt:file + nt:resource + + + + + + + + + + + + + rep + jcr + + + + + + + + Propchange: jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/config.xml ------------------------------------------------------------------------------ svn:eol-style = native Modified: jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/logback-test.xml URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/logback-test.xml?rev=935899&r1=935898&r2=935899&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/logback-test.xml (original) +++ jackrabbit/trunk/jackrabbit-jcr-server/src/test/resources/logback-test.xml Tue Apr 20 13:06:05 2010 @@ -24,7 +24,7 @@ - +