You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2015/08/08 10:49:19 UTC
svn commit: r1694778 - in /felix/sandbox/pderop/dependencymanager.ds:
org.apache.felix.dependencymanager.ds.itest/
org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/
org.apache.felix.dependencymanager.ds.itest/src/org/apa...
Author: pderop
Date: Sat Aug 8 08:49:18 2015
New Revision: 1694778
URL: http://svn.apache.org/r1694778
Log:
Compile DS modules in java7 (temporary until the FELIX-4984 issue is fixed).
Added WRITE_LOGS_TO_FILE variable in ComponentTestBase.java in order to allow logging to /tmp/<testname>.log instead of BndTools console.
Added getLog() method in ComponentTestBase method in order to expose the LogService to other integration test components.
Modified:
felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/bnd.bnd
felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java
felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/ComponentTestBase.java
felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java
felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds/bnd.bnd
Modified: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/bnd.bnd?rev=1694778&r1=1694777&r2=1694778&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/bnd.bnd (original)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/bnd.bnd Sat Aug 8 08:49:18 2015
@@ -4,7 +4,7 @@
osgi.enterprise;version=5.0,\
${junit},\
biz.aQute.bndlib;version=2.4
--runee: JavaSE-1.8
+-runee: JavaSE-1.7
-runfw: org.apache.felix.framework;version=5.0.1
-runsystempackages: \
sun.reflect
@@ -29,5 +29,5 @@ Include-Resource: resource=resource
Export-Package: \
org.apache.felix.scr.integration.*
-javac.source: 1.8
-javac.target: 1.8
\ No newline at end of file
+javac.source: 1.7
+javac.target: 1.7
\ No newline at end of file
Modified: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java?rev=1694778&r1=1694777&r2=1694778&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java (original)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/CircularReferenceTest.java Sat Aug 8 08:49:18 2015
@@ -56,6 +56,7 @@ public class CircularReferenceTest exten
"\\[.*\\] Could not get service from ref \\[org.apache.felix.scr.integration.components.circular.B\\]",
};
//DS_LOGLEVEL = "debug";
+ //WRITE_LOGS_TO_FILE = true;
}
/**
@@ -280,7 +281,7 @@ public class CircularReferenceTest exten
private void assertABoundToOneB(A a) {
if (a.getBs().size() != 1) {
- System.err.println("detected problem ...");
+ getLog().log(LogService.LOG_WARNING, "detected problem ...");
a.dumpStackTracesWhenBWasBound();
}
assertEquals( 1, a.getBs().size());
Modified: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/ComponentTestBase.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/ComponentTestBase.java?rev=1694778&r1=1694777&r2=1694778&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/ComponentTestBase.java (original)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/ComponentTestBase.java Sat Aug 8 08:49:18 2015
@@ -23,8 +23,10 @@ import static java.lang.System.err;
import static java.lang.System.out;
import java.io.BufferedOutputStream;
+import java.io.File;
import java.io.FileDescriptor;
import java.io.FileOutputStream;
+import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -118,9 +120,9 @@ public abstract class ComponentTestBase
protected static boolean NONSTANDARD_COMPONENT_FACTORY_BEHAVIOR = false;
- protected volatile Log log;
+ protected static volatile Log log;
- private ServiceRegistration<?> logService;
+ protected static ServiceRegistration<?> logService;
private final Set<ServiceReference> existingServices = new HashSet<>();
private final Set<Configuration> existingConfigurations = new HashSet<>();
@@ -134,7 +136,10 @@ public abstract class ComponentTestBase
protected static final String PROP_NAME_FACTORY = ComponentTestBase.PROP_NAME + ".factory";
-
+ // Writes the current log test to /tmp/<testname>.log, instead of write to stdout
+ protected boolean WRITE_LOGS_TO_FILE;
+
+ //
public ComponentTestBase()
{
// Will use by default this.descriptorFile and this.COMPONENT_PACKAGE
@@ -174,6 +179,10 @@ public abstract class ComponentTestBase
recordExistingConfigurations();
}
+
+ public static LogService getLog() {
+ return log;
+ }
@After
@@ -192,9 +201,9 @@ public abstract class ComponentTestBase
bundle = null;
}
-// Bundle scrBundle = scrTracker.getServiceReference().getBundle();
-// scrBundle.stop();
-// scrBundle.start();
+ Bundle scrBundle = scrTracker.getServiceReference().getBundle();
+ scrBundle.stop();
+ scrBundle.start();
configAdminTracker.close();
configAdminTracker = null;
@@ -202,6 +211,8 @@ public abstract class ComponentTestBase
scrTracker = null;
logService.unregister();
bundleContext.removeFrameworkListener( log );
+ WRITE_LOGS_TO_FILE = false;
+ log.close();
}
finally
{
@@ -779,7 +790,6 @@ public abstract class ComponentTestBase
private final long m_time;
private final Thread m_thread;
-
LogEntry( int level, String msg, Throwable t )
{
m_level = level;
@@ -844,10 +854,32 @@ public abstract class ComponentTestBase
private final String[] log = new String[1000];
private int i = 0;
+ /**
+ * Writer to log file, in tmp dir/<testname>.log instead of writing to stdout
+ */
+ private volatile PrintWriter fileWriter;
+
public Log( boolean restrictedLogging, String[] ignoredWarnings )
{
this.restrictedLogging = restrictedLogging;
this.ignoredWarnings = ignoredWarnings;
+ if (WRITE_LOGS_TO_FILE == true) {
+ try {
+ String testName = ComponentTestBase.this.getClass().getName() + "." + ComponentTestBase.this.getName();
+ File logFilePath = new File(System.getProperty("java.io.tmpdir")
+ + File.separator + testName + ".log");
+ fileWriter = new PrintWriter(new FileWriter(logFilePath, false));
+ } catch (IOException e) {
+ fileWriter = null;
+ }
+ }
+ }
+
+ public void close()
+ {
+ if (fileWriter != null) {
+ fileWriter.close();
+ }
}
public void start()
@@ -963,8 +995,13 @@ public abstract class ComponentTestBase
}
else
{
- m_out.println( sw.toString() );
- m_out.flush();
+ if (fileWriter != null) {
+ fileWriter.println(sw.toString());
+ fileWriter.flush();
+ } else {
+ m_out.println( sw.toString() );
+ m_out.flush();
+ }
}
}
}
Modified: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java?rev=1694778&r1=1694777&r2=1694778&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java (original)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds.itest/src/org/apache/felix/scr/integration/components/circular/A.java Sat Aug 8 08:49:18 2015
@@ -23,7 +23,9 @@ package org.apache.felix.scr.integration
import java.util.ArrayList;
import java.util.List;
+import org.apache.felix.scr.integration.ComponentTestBase;
import org.osgi.service.component.ComponentContext;
+import org.osgi.service.log.LogService;
/**
* @version $Rev: 1350816 $ $Date: 2012-06-15 23:37:30 +0200 (Fri, 15 Jun 2012) $
@@ -38,20 +40,20 @@ public class A
private void activate(ComponentContext cc)
{
- System.out.println(Thread.currentThread().getName() + ":" + "A.activate");
+ ComponentTestBase.getLog().log(LogService.LOG_DEBUG, "A.activate");
activated = true;
}
private void setB(B b)
{
- System.out.println(Thread.currentThread().getName() + ":" + "A.setB(" + b + ")");
+ ComponentTestBase.getLog().log(LogService.LOG_DEBUG, "A.setB(" + b + ")");
bs.add( b );
bsStackTraces.add(new Exception());
}
private void unsetB(B b)
{
- System.out.println(Thread.currentThread().getName() + ":" + "A.unsetB(" + b + ")");
+ ComponentTestBase.getLog().log(LogService.LOG_DEBUG, "A.unsetB(" + b + ")");
bs.remove( b );
bsStackTraces.remove(bsStackTraces.size()-1);
}
@@ -62,9 +64,9 @@ public class A
}
public void dumpStackTracesWhenBWasBound() {
- System.out.println("stack traces when B was bound:");
+ ComponentTestBase.getLog().log(LogService.LOG_WARNING, "Stack traces when B was bound:");
for (Exception e : bsStackTraces) {
- e.printStackTrace();
+ ComponentTestBase.getLog().log(LogService.LOG_WARNING, "stack trace:", e);
}
}
Modified: felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds/bnd.bnd?rev=1694778&r1=1694777&r2=1694778&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds/bnd.bnd (original)
+++ felix/sandbox/pderop/dependencymanager.ds/org.apache.felix.dependencymanager.ds/bnd.bnd Sat Aug 8 08:49:18 2015
@@ -59,7 +59,7 @@ DynamicImport-Package: \
Include-Resource: \
@kxml2-2.2.2.jar!/org/kxml2/io/KXmlParser.class|org/xmlpull/v1/XmlPull**
-javac.source: 1.8
-javac.target: 1.8
+javac.source: 1.7
+javac.target: 1.7