You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by tj...@apache.org on 2021/05/18 16:00:01 UTC
[felix-dev] 03/05: Hide LoggerFactory from Equinox for unit test.
This is an automated email from the ASF dual-hosted git repository.
tjwatson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git
commit 4dc2ed1865f5a2d0c6a1918b33a358b4edb753b2
Author: Thomas Watson <tj...@us.ibm.com>
AuthorDate: Tue May 11 12:20:17 2021 -0500
Hide LoggerFactory from Equinox for unit test.
---
.../org/apache/felix/scr/impl/logger/LoggerTest.java | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/scr/src/test/java/org/apache/felix/scr/impl/logger/LoggerTest.java b/scr/src/test/java/org/apache/felix/scr/impl/logger/LoggerTest.java
index faa534e..22f8e85 100644
--- a/scr/src/test/java/org/apache/felix/scr/impl/logger/LoggerTest.java
+++ b/scr/src/test/java/org/apache/felix/scr/impl/logger/LoggerTest.java
@@ -31,6 +31,7 @@ import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.io.StringWriter;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.ServiceLoader;
@@ -42,8 +43,11 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
import org.osgi.framework.BundleException;
import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.hooks.service.FindHook;
import org.osgi.framework.launch.Framework;
import org.osgi.service.log.LogLevel;
import org.osgi.service.log.Logger;
@@ -70,6 +74,20 @@ public class LoggerTest {
.newFramework(configuration);
framework.init();
framework.start();
+ // hide LoggerFactory from equinox
+ framework.getBundleContext().registerService(FindHook.class, new FindHook()
+ {
+
+ @Override
+ public void find(BundleContext context, String name, String filter,
+ boolean allServices, Collection<ServiceReference<?>> references)
+ {
+ if (name != null && "org.osgi.service.log.LoggerFactory".equals(name))
+ {
+ references.removeIf((r) -> r.getBundle().getBundleId() == 0);
+ }
+ }
+ }, null);
scr = framework.getBundleContext().installBundle("scr", makeBundle("scr").openInputStream());
component = framework.getBundleContext().installBundle("component",