You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by am...@apache.org on 2016/07/05 08:44:26 UTC

svn commit: r1751419 - in /jackrabbit/oak/trunk/oak-run/src/test: java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java resources/ resources/logback-test.xml

Author: amitj
Date: Tue Jul  5 08:44:26 2016
New Revision: 1751419

URL: http://svn.apache.org/viewvc?rev=1751419&view=rev
Log:
OAK-4476: Option to check datastore consistency in oak-run

Added logging and some cleanup to gather more info

Added:
    jackrabbit/oak/trunk/oak-run/src/test/resources/
    jackrabbit/oak/trunk/oak-run/src/test/resources/logback-test.xml
Modified:
    jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java

Modified: jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java?rev=1751419&r1=1751418&r2=1751419&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java Tue Jul  5 08:44:26 2016
@@ -60,6 +60,7 @@ import org.junit.rules.TemporaryFolder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static com.google.common.base.Charsets.UTF_8;
 import static org.junit.Assert.assertEquals;
 
 /**
@@ -113,7 +114,7 @@ public class DataStoreCheckTest {
         log.info("Created blobs : {}", blobsAdded);
 
         File cfgFile = temporaryFolder.newFile();
-        BufferedWriter writer = Files.newWriter(cfgFile, Charsets.UTF_8);
+        BufferedWriter writer = Files.newWriter(cfgFile, UTF_8);
         FileIOUtils.writeAsLine(writer, "path=\"" + StringEscapeUtils.escapeJava(dsPath) + "\"",false);
         writer.close();
         cfgFilePath = cfgFile.getAbsolutePath();
@@ -124,7 +125,7 @@ public class DataStoreCheckTest {
 
     @After
     public void tearDown() {
-        System.setErr(new PrintStream(new FileOutputStream(FileDescriptor.out)));
+        System.setErr(new PrintStream(new FileOutputStream(FileDescriptor.err)));
     }
 
     @Test
@@ -171,8 +172,8 @@ public class DataStoreCheckTest {
         List<String> argsList = Lists
             .newArrayList("--fds", cfgFilePath, "--store", storePath,
                 "--dump", dump.getAbsolutePath());
-        testIncorrectParams(argsList, "Missing "
-            + "required option(s) ['id', 'ref', 'consistency']");
+        log.info("Running testMissinOpParams: {}", argsList);
+        testIncorrectParams(argsList, "Missing required option(s) ['id', 'ref', 'consistency']");
     }
 
     @Test
@@ -201,14 +202,17 @@ public class DataStoreCheckTest {
 
     public static void testIncorrectParams(List<String> argList, String assertMsg) throws Exception {
         ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-        System.setErr(new PrintStream(buffer));
+        System.setErr(new PrintStream(buffer, true, UTF_8.toString()));
 
         DataStoreCheckCommand checkCommand = new DataStoreCheckCommand();
 
         checkCommand.execute(argList.toArray(new String[0]));
-        String message = buffer.toString(Charsets.UTF_8.toString());
+        String message = buffer.toString(UTF_8.toString());
+        log.info("Assert message: {}", assertMsg);
+        log.info("Message logged in System.err: {}", message);
+
         Assert.assertTrue(message.contains(assertMsg));
-        System.setErr(new PrintStream(new FileOutputStream(FileDescriptor.out)));
+        System.setErr(new PrintStream(new FileOutputStream(FileDescriptor.err)));
     }
 
     private static void assertFileEquals(File dump, String prefix, Set<String> blobsAdded)

Added: jackrabbit/oak/trunk/oak-run/src/test/resources/logback-test.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/test/resources/logback-test.xml?rev=1751419&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/test/resources/logback-test.xml (added)
+++ jackrabbit/oak/trunk/oak-run/src/test/resources/logback-test.xml Tue Jul  5 08:44:26 2016
@@ -0,0 +1,39 @@
+        <!--
+           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.
+          -->
+<configuration>
+
+<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+        <pattern>%date{HH:mm:ss.SSS} %-5level %-40([%thread] %F:%L) %msg%n</pattern>
+    </encoder>
+</appender>
+
+<appender name="file" class="ch.qos.logback.core.FileAppender">
+    <file>target/unit-tests.log</file>
+    <encoder>
+        <pattern>%date{HH:mm:ss.SSS} %-5level %-40([%thread] %F:%L) %msg%n</pattern>
+    </encoder>
+</appender>
+
+<root level="INFO">
+    <!--
+    <appender-ref ref="console"/>
+    -->
+    <appender-ref ref="file"/>
+</root>
+
+</configuration>