You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2013/02/25 07:27:44 UTC
svn commit: r1449609 - in /stanbol/trunk/enhancement-engines/topic/engine:
./ src/test/java/org/apache/stanbol/enhancer/engine/topic/
src/test/resources/
Author: rwesten
Date: Mon Feb 25 06:27:44 2013
New Revision: 1449609
URL: http://svn.apache.org/r1449609
Log:
STANBOL-811: The unit tests of the TopicEngine do no longer use temp files, but instead create SolrCores within the /target/enginetest-files and /target/trainingsettest-files folders - hopefully this fixes test issued related to missing index files on windows; In addition log4j is now used for logging during tests as this allows to set the log level for Lucene/Solr to WARN
Added:
stanbol/trunk/enhancement-engines/topic/engine/src/test/resources/log4j.properties (with props)
Modified:
stanbol/trunk/enhancement-engines/topic/engine/pom.xml
stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TopicEngineTest.java
stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java
Modified: stanbol/trunk/enhancement-engines/topic/engine/pom.xml
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/topic/engine/pom.xml?rev=1449609&r1=1449608&r2=1449609&view=diff
==============================================================================
--- stanbol/trunk/enhancement-engines/topic/engine/pom.xml (original)
+++ stanbol/trunk/enhancement-engines/topic/engine/pom.xml Mon Feb 25 06:27:44 2013
@@ -231,9 +231,14 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
+ <dependency> <!-- used for debug level logging during tests -->
<groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
<scope>test</scope>
</dependency>
<dependency>
Modified: stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TopicEngineTest.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TopicEngineTest.java?rev=1449609&r1=1449608&r2=1449609&view=diff
==============================================================================
--- stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TopicEngineTest.java (original)
+++ stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TopicEngineTest.java Mon Feb 25 06:27:44 2013
@@ -39,6 +39,7 @@ import org.apache.clerezza.rdf.core.seri
import org.apache.clerezza.rdf.core.serializedform.SupportedFormat;
import org.apache.clerezza.rdf.jena.parser.JenaParserProvider;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.solr.client.solrj.SolrQuery;
@@ -57,7 +58,9 @@ import org.apache.stanbol.enhancer.topic
import org.apache.stanbol.enhancer.topic.training.SolrTrainingSet;
import org.apache.stanbol.enhancer.topic.training.TrainingSetException;
import org.junit.After;
+import org.junit.AfterClass;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.osgi.service.cm.ConfigurationException;
import org.slf4j.Logger;
@@ -67,6 +70,12 @@ public class TopicEngineTest extends Emb
private static final Logger log = LoggerFactory.getLogger(TopicEngineTest.class);
+ private static final String TEST_ROOT =
+ FilenameUtils.separatorsToSystem("/target/enginetest-files");
+ private static String userDir;
+ private static File testRoot;
+ private static int testCounter = 1;
+
EmbeddedSolrServer classifierSolrServer;
EmbeddedSolrServer trainingSetSolrServer;
@@ -76,12 +85,40 @@ public class TopicEngineTest extends Emb
SolrTrainingSet trainingSet;
TopicClassificationEngine classifier;
+
+
+ @BeforeClass
+ public static void initTestFolder() throws IOException {
+ //basedir - if present - is the project base folder
+ String baseDir = System.getProperty("basedir");
+ if(baseDir == null){ //if missing fall back to user.dir
+ baseDir = System.getProperty("user.dir");
+ }
+ //store the current user.dir
+ userDir = System.getProperty("user.dir");
+ testRoot = new File(baseDir,TEST_ROOT);
+ log.info("Topic Enigne Test Folder : "+testRoot);
+ if(testRoot.exists()){
+ log.info(" ... delete files from previouse test");
+ FileUtils.deleteDirectory(testRoot);
+ }
+ FileUtils.forceMkdir(testRoot);
+ System.setProperty("user.dir", testRoot.getName());
+ }
+ /**
+ * resets the "user.dir" system property the the original value
+ */
+ @AfterClass
+ public static void cleanup(){
+ System.setProperty("user.dir", userDir);
+ }
+
@Before
public void setup() throws Exception {
- solrHome = File.createTempFile("topicEngineTest_", "_solr_cores");
- solrHome.delete();
- solrHome.mkdir();
+ solrHome = new File(testRoot, "test"+testCounter);
+ testCounter++;
+ assertTrue("Unable to create solr.home directory '"+solrHome+"'!",solrHome.mkdir());
classifierSolrServer = makeEmbeddedSolrServer(solrHome, "classifierserver", "test-topic-model",
"default-topic-model");
classifier = TopicClassificationEngine.fromParameters(getDefaultClassifierConfigParams());
@@ -94,7 +131,7 @@ public class TopicEngineTest extends Emb
@After
public void cleanupEmbeddedSolrServer() {
- FileUtils.deleteQuietly(solrHome);
+ //FileUtils.deleteQuietly(solrHome);
solrHome = null;
classifierSolrServer = null;
trainingSetSolrServer = null;
Modified: stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java?rev=1449609&r1=1449608&r2=1449609&view=diff
==============================================================================
--- stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java (original)
+++ stanbol/trunk/enhancement-engines/topic/engine/src/test/java/org/apache/stanbol/enhancer/engine/topic/TrainingSetTest.java Mon Feb 25 06:27:44 2013
@@ -35,6 +35,7 @@ import java.util.TimeZone;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.stanbol.enhancer.topic.Batch;
import org.apache.stanbol.enhancer.topic.EmbeddedSolrHelper;
@@ -43,13 +44,25 @@ import org.apache.stanbol.enhancer.topic
import org.apache.stanbol.enhancer.topic.training.SolrTrainingSet;
import org.apache.stanbol.enhancer.topic.training.TrainingSetException;
import org.junit.After;
+import org.junit.AfterClass;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.osgi.service.cm.ConfigurationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.xml.sax.SAXException;
public class TrainingSetTest extends EmbeddedSolrHelper {
+ private static final Logger log = LoggerFactory.getLogger(TrainingSetTest.class);
+ private static final String TEST_ROOT =
+ FilenameUtils.separatorsToSystem("/target/triningtest-files");
+ private static String userDir;
+ private static File testRoot;
+ private static int testCounter = 1;
+
+
public static final String TOPIC_1 = "http://example.com/topics/topic1";
public static final String TOPIC_2 = "http://example.com/topics/topic2";
@@ -62,14 +75,40 @@ public class TrainingSetTest extends Emb
protected SolrTrainingSet trainingSet;
+ @BeforeClass
+ public static void initTestFolder() throws IOException {
+ //basedir - if present - is the project base folder
+ String baseDir = System.getProperty("basedir");
+ if(baseDir == null){ //if missing fall back to user.dir
+ baseDir = System.getProperty("user.dir");
+ }
+ //store the current user.dir
+ userDir = System.getProperty("user.dir");
+ testRoot = new File(baseDir,TEST_ROOT);
+ log.info("Topic TrainingSet Test Folder : "+testRoot);
+ if(testRoot.exists()){
+ log.info(" ... delete files from previouse test");
+ FileUtils.deleteDirectory(testRoot);
+ }
+ FileUtils.forceMkdir(testRoot);
+ System.setProperty("user.dir", testRoot.getName());
+ }
+ /**
+ * resets the "user.dir" system property the the original value
+ */
+ @AfterClass
+ public static void cleanup(){
+ System.setProperty("user.dir", userDir);
+ }
+
@Before
public void setup() throws IOException,
ParserConfigurationException,
SAXException,
ConfigurationException {
- solrHome = File.createTempFile("topicTrainingSetTest_", "_solr_cores");
- solrHome.delete();
- solrHome.mkdir();
+ solrHome = new File(testRoot, "test"+testCounter);
+ testCounter++;
+ assertTrue("Unable to create solr.home directory '"+solrHome+"'!",solrHome.mkdir());
trainingsetSolrServer = makeEmbeddedSolrServer(solrHome, "trainingsetserver",
"default-topic-trainingset", "default-topic-trainingset");
trainingSet = new SolrTrainingSet();
@@ -79,7 +118,7 @@ public class TrainingSetTest extends Emb
@After
public void cleanupEmbeddedSolrServer() {
- FileUtils.deleteQuietly(solrHome);
+ //FileUtils.deleteQuietly(solrHome);
solrHome = null;
trainingsetSolrServer = null;
}
Added: stanbol/trunk/enhancement-engines/topic/engine/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/topic/engine/src/test/resources/log4j.properties?rev=1449609&view=auto
==============================================================================
--- stanbol/trunk/enhancement-engines/topic/engine/src/test/resources/log4j.properties (added)
+++ stanbol/trunk/enhancement-engines/topic/engine/src/test/resources/log4j.properties Mon Feb 25 06:27:44 2013
@@ -0,0 +1,26 @@
+# 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.
+
+# Root logger option
+log4j.rootLogger=INFO, stdout
+
+# Direct log messages to stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
+log4j.logger.org.apache.stanbol.enhancer.engine.topic=DEBUG
+log4j.logger.org.apache.solr=WARN
+log4j.logger.org.apache.lucene=WARN
\ No newline at end of file
Propchange: stanbol/trunk/enhancement-engines/topic/engine/src/test/resources/log4j.properties
------------------------------------------------------------------------------
svn:mime-type = text/plain