diff options
author | Thomas Watson | 2012-09-24 21:17:11 +0000 |
---|---|---|
committer | Thomas Watson | 2012-09-24 21:17:11 +0000 |
commit | d859065c1c15282b5ae9e202fd8ad030c3b9d50d (patch) | |
tree | 85728e4dce1d74e426eea18ac7986b9815c0bef8 | |
parent | f6a837990acdb2e52471723c177f0f8bea489650 (diff) | |
download | rt.equinox.framework-d859065c1c15282b5ae9e202fd8ad030c3b9d50d.tar.gz rt.equinox.framework-d859065c1c15282b5ae9e202fd8ad030c3b9d50d.tar.xz rt.equinox.framework-d859065c1c15282b5ae9e202fd8ad030c3b9d50d.zip |
Bug 387014 - Timing issues in logging tests v20120924-211711I20120925-0800
5 files changed, 179 insertions, 151 deletions
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogReaderServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogReaderServiceTest.java index 8d22ab768..cf12bdd80 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogReaderServiceTest.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogReaderServiceTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Cognos Incorporated, IBM Corporation and others + * Copyright (c) 2012 Cognos Incorporated, IBM Corporation and others * All rights reserved. This program and the accompanying materials are made * available under the terms of the Eclipse Public License v1.0 which * accompanies this distribution, and is available at @@ -49,9 +49,9 @@ public class ExtendedLogReaderServiceTest extends TestCase { }); synchronized (listener) { log.log(LogService.LOG_INFO, "info"); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_INFO); } public void testaddNullFilterr() throws Exception { @@ -83,9 +83,9 @@ public class ExtendedLogReaderServiceTest extends TestCase { }); synchronized (listener) { log.log(LogService.LOG_INFO, "info"); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_INFO); } public void testaddNullListener() throws Exception { @@ -131,27 +131,29 @@ public class ExtendedLogReaderServiceTest extends TestCase { long threadId = getCurrentThreadId(); synchronized (listener) { log.getLogger("test").log(logReference, LogService.LOG_INFO, "info", new Throwable("test")); - listener.wait(); + listener.waitForLogEntry(); } - long sequenceNumberBefore = listener.getEntryX().getSequenceNumber(); + ExtendedLogEntry entry = listener.getEntryX(); + long sequenceNumberBefore = entry.getSequenceNumber(); synchronized (listener) { log.getLogger("test").log(logReference, LogService.LOG_INFO, "info", new Throwable("test")); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntryX().getBundle() == OSGiTestsActivator.getContext().getBundle()); - assertTrue(listener.getEntryX().getMessage().equals("info")); - assertTrue(listener.getEntryX().getException().getMessage().equals("test")); - assertTrue(listener.getEntryX().getServiceReference() == logReference); - assertTrue(listener.getEntryX().getTime() >= timeBeforeLog); - assertTrue(listener.getEntryX().getLevel() == LogService.LOG_INFO); - - assertTrue(listener.getEntryX().getLoggerName().equals("test")); - assertTrue(listener.getEntryX().getThreadName().equals(threadName)); + entry = listener.getEntryX(); + assertTrue(entry.getBundle() == OSGiTestsActivator.getContext().getBundle()); + assertTrue(entry.getMessage().equals("info")); + assertTrue(entry.getException().getMessage().equals("test")); + assertTrue(entry.getServiceReference() == logReference); + assertTrue(entry.getTime() >= timeBeforeLog); + assertTrue(entry.getLevel() == LogService.LOG_INFO); + + assertTrue(entry.getLoggerName().equals("test")); + assertTrue(entry.getThreadName().equals(threadName)); if (threadId >= 0) - assertTrue(listener.getEntryX().getThreadId() == threadId); - assertTrue(listener.getEntryX().getContext() == logReference); - assertTrue(listener.getEntryX().getSequenceNumber() > sequenceNumberBefore); + assertTrue(entry.getThreadId() == threadId); + assertTrue(entry.getContext() == logReference); + assertTrue(entry.getSequenceNumber() > sequenceNumberBefore); } private long getCurrentThreadId() { diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java index 6683e53af..1eb988ce5 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/ExtendedLogServiceTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2011 IBM Corporation and others All rights reserved. This + * Copyright (c) 2007, 2012 IBM Corporation and others All rights reserved. This * program and the accompanying materials are made available under the terms of * the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -49,7 +49,7 @@ public class ExtendedLogServiceTest extends TestCase { public void testLogContext() throws Exception { synchronized (listener) { log.log(this, LogService.LOG_INFO, null); - listener.wait(); + listener.waitForLogEntry(); } assertTrue(listener.getEntryX().getContext() == this); } @@ -57,7 +57,7 @@ public class ExtendedLogServiceTest extends TestCase { public void testNullLogContext() throws Exception { synchronized (listener) { log.log(null, LogService.LOG_INFO, null); - listener.wait(); + listener.waitForLogEntry(); } assertTrue(listener.getEntryX().getContext() == null); } @@ -65,7 +65,7 @@ public class ExtendedLogServiceTest extends TestCase { public void testLogContextWithNullThrowable() throws Exception { synchronized (listener) { log.log(this, LogService.LOG_INFO, null, null); - listener.wait(); + listener.waitForLogEntry(); } assertTrue(listener.getEntryX().getContext() == this); } @@ -95,25 +95,27 @@ public class ExtendedLogServiceTest extends TestCase { public void testNamedLoggerLogNull() throws Exception { synchronized (listener) { log.getLogger("test").log(null, 0, null, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntryX().getLoggerName() == "test"); - assertTrue(listener.getEntry().getLevel() == 0); - assertTrue(listener.getEntry().getMessage() == null); - assertTrue(listener.getEntry().getException() == null); - assertTrue(listener.getEntry().getServiceReference() == null); + ExtendedLogEntry entry = listener.getEntryX(); + assertTrue(entry.getLoggerName() == "test"); + assertTrue(entry.getLevel() == 0); + assertTrue(entry.getMessage() == null); + assertTrue(entry.getException() == null); + assertTrue(entry.getServiceReference() == null); } public void testNullLoggerLogNull() throws Exception { synchronized (listener) { log.getLogger(null).log(null, 0, null, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntryX().getLoggerName() == null); - assertTrue(listener.getEntry().getLevel() == 0); - assertTrue(listener.getEntry().getMessage() == null); - assertTrue(listener.getEntry().getException() == null); - assertTrue(listener.getEntry().getServiceReference() == null); + ExtendedLogEntry entry = listener.getEntryX(); + assertTrue(entry.getLoggerName() == null); + assertTrue(entry.getLevel() == 0); + assertTrue(entry.getMessage() == null); + assertTrue(entry.getException() == null); + assertTrue(entry.getServiceReference() == null); } public void testNamedLoggerLogFull() throws Exception { @@ -121,14 +123,15 @@ public class ExtendedLogServiceTest extends TestCase { Throwable t = new Throwable("test"); synchronized (listener) { log.getLogger("test").log(logReference, LogService.LOG_INFO, message, t); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntryX().getLoggerName() == "test"); - assertTrue(listener.getEntry().getBundle() == bundle); - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); - assertTrue(listener.getEntry().getMessage().equals(message)); - assertTrue(listener.getEntry().getException().getMessage().equals(t.getMessage())); - assertTrue(listener.getEntry().getServiceReference() == logReference); + ExtendedLogEntry entry = listener.getEntryX(); + assertTrue(entry.getLoggerName() == "test"); + assertTrue(entry.getBundle() == bundle); + assertTrue(entry.getLevel() == LogService.LOG_INFO); + assertTrue(entry.getMessage().equals(message)); + assertTrue(entry.getException().getMessage().equals(t.getMessage())); + assertTrue(entry.getServiceReference() == logReference); } public void testNamedLoggerLogFullWithNullBundle() throws Exception { @@ -136,14 +139,15 @@ public class ExtendedLogServiceTest extends TestCase { Throwable t = new Throwable("test"); synchronized (listener) { log.getLogger(null, "test").log(logReference, LogService.LOG_INFO, message, t); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntryX().getLoggerName() == "test"); - assertTrue(listener.getEntry().getBundle() == bundle); - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); - assertTrue(listener.getEntry().getMessage().equals(message)); - assertTrue(listener.getEntry().getException().getMessage().equals(t.getMessage())); - assertTrue(listener.getEntry().getServiceReference() == logReference); + ExtendedLogEntry entry = listener.getEntryX(); + assertTrue(entry.getLoggerName() == "test"); + assertTrue(entry.getBundle() == bundle); + assertTrue(entry.getLevel() == LogService.LOG_INFO); + assertTrue(entry.getMessage().equals(message)); + assertTrue(entry.getException().getMessage().equals(t.getMessage())); + assertTrue(entry.getServiceReference() == logReference); } public void testNamedLoggerLogFullWithBundle() throws Exception { @@ -151,14 +155,15 @@ public class ExtendedLogServiceTest extends TestCase { Throwable t = new Throwable("test"); synchronized (listener) { log.getLogger(bundle, "test").log(logReference, LogService.LOG_INFO, message, t); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntryX().getLoggerName() == "test"); - assertTrue(listener.getEntry().getBundle() == bundle); - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); - assertTrue(listener.getEntry().getMessage().equals(message)); - assertTrue(listener.getEntry().getException().getMessage().equals(t.getMessage())); - assertTrue(listener.getEntry().getServiceReference() == logReference); + ExtendedLogEntry entry = listener.getEntryX(); + assertTrue(entry.getLoggerName() == "test"); + assertTrue(entry.getBundle() == bundle); + assertTrue(entry.getLevel() == LogService.LOG_INFO); + assertTrue(entry.getMessage().equals(message)); + assertTrue(entry.getException().getMessage().equals(t.getMessage())); + assertTrue(entry.getServiceReference() == logReference); } public void testLoggerIsLoggableTrue() throws Exception { diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java index a7c2e6a9e..563a8b859 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogReaderServiceTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 IBM Corporation and others All rights reserved. This + * Copyright (c) 2007, 2012 IBM Corporation and others All rights reserved. This * program and the accompanying materials are made available under the terms of * the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -45,9 +45,9 @@ public class LogReaderServiceTest extends AbstractBundleTests { reader.addLogListener(listener); synchronized (listener) { log.log(LogService.LOG_INFO, "info"); //$NON-NLS-1$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_INFO); } public void testaddListenerTwice() throws Exception { @@ -56,9 +56,9 @@ public class LogReaderServiceTest extends AbstractBundleTests { reader.addLogListener(listener); synchronized (listener) { log.log(LogService.LOG_INFO, "info"); //$NON-NLS-1$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_INFO); } public void testaddNullListener() throws Exception { @@ -91,14 +91,15 @@ public class LogReaderServiceTest extends AbstractBundleTests { long timeBeforeLog = System.currentTimeMillis(); synchronized (listener) { log.log(logReference, LogService.LOG_INFO, "info", new Throwable("test")); //$NON-NLS-1$ //$NON-NLS-2$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getBundle() == OSGiTestsActivator.getContext().getBundle()); - assertTrue(listener.getEntry().getMessage().equals("info")); //$NON-NLS-1$ - assertTrue(listener.getEntry().getException().getMessage().equals("test")); //$NON-NLS-1$ - assertTrue(listener.getEntry().getServiceReference() == logReference); - assertTrue(listener.getEntry().getTime() >= timeBeforeLog); - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); + LogEntry entry = listener.getEntryX(); + assertTrue(entry.getBundle() == OSGiTestsActivator.getContext().getBundle()); + assertTrue(entry.getMessage().equals("info")); //$NON-NLS-1$ + assertTrue(entry.getException().getMessage().equals("test")); //$NON-NLS-1$ + assertTrue(entry.getServiceReference() == logReference); + assertTrue(entry.getTime() >= timeBeforeLog); + assertTrue(entry.getLevel() == LogService.LOG_INFO); } public void testLogBundleEventInfo() throws Exception { @@ -109,9 +110,9 @@ public class LogReaderServiceTest extends AbstractBundleTests { reader.addLogListener(listener); synchronized (listener) { testBundle.start(); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_INFO); } public void testLogServiceEventInfo() throws Exception { @@ -119,9 +120,9 @@ public class LogReaderServiceTest extends AbstractBundleTests { reader.addLogListener(listener); synchronized (listener) { OSGiTestsActivator.getContext().registerService(Object.class.getName(), new Object(), null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_INFO); } public void testLogServiceEventDebug() throws Exception { @@ -131,9 +132,9 @@ public class LogReaderServiceTest extends AbstractBundleTests { reader.addLogListener(listener); synchronized (listener) { registration.setProperties(new Hashtable()); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_DEBUG); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_DEBUG); } public void testLogFrameworkEvent() throws Exception { @@ -142,8 +143,8 @@ public class LogReaderServiceTest extends AbstractBundleTests { reader.addLogListener(listener); synchronized (listener) { installer.refreshPackages(new Bundle[] {testBundle}); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_INFO); } } diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java index 2d774fbb3..12bb09608 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/LogServiceTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2011 IBM Corporation and others All rights reserved. This + * Copyright (c) 2007, 2012 IBM Corporation and others All rights reserved. This * program and the accompanying materials are made available under the terms of * the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -11,8 +11,7 @@ package org.eclipse.equinox.log.test; import junit.framework.TestCase; import org.eclipse.osgi.tests.OSGiTestsActivator; import org.osgi.framework.ServiceReference; -import org.osgi.service.log.LogReaderService; -import org.osgi.service.log.LogService; +import org.osgi.service.log.*; public class LogServiceTest extends TestCase { @@ -46,162 +45,167 @@ public class LogServiceTest extends TestCase { public void testLogDebug() throws Exception { synchronized (listener) { log.log(LogService.LOG_DEBUG, "debug"); //$NON-NLS-1$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_DEBUG); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_DEBUG); } public void testLogError() throws Exception { synchronized (listener) { log.log(LogService.LOG_ERROR, "error"); //$NON-NLS-1$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_ERROR); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_ERROR); } public void testLogInfo() throws Exception { synchronized (listener) { log.log(LogService.LOG_INFO, "info"); //$NON-NLS-1$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_INFO); } public void testLogWarning() throws Exception { synchronized (listener) { log.log(LogService.LOG_WARNING, "warning"); //$NON-NLS-1$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_WARNING); + assertTrue(listener.getEntryX().getLevel() == LogService.LOG_WARNING); } public void testLogZeroLevel() throws Exception { synchronized (listener) { log.log(0, "zero"); //$NON-NLS-1$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == 0); + assertTrue(listener.getEntryX().getLevel() == 0); } public void testLogNegativeLevel() throws Exception { synchronized (listener) { log.log(-1, "negative"); //$NON-NLS-1$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == -1); + assertTrue(listener.getEntryX().getLevel() == -1); } public void testLogMessage() throws Exception { synchronized (listener) { log.log(LogService.LOG_INFO, "message"); //$NON-NLS-1$ - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getMessage().equals("message")); //$NON-NLS-1$ + assertTrue(listener.getEntryX().getMessage().equals("message")); //$NON-NLS-1$ } public void testLogNullMessage() throws Exception { synchronized (listener) { log.log(LogService.LOG_INFO, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getMessage() == null); + assertTrue(listener.getEntryX().getMessage() == null); } public void testLogThrowable() throws Exception { Throwable t = new Throwable("throwable"); //$NON-NLS-1$ synchronized (listener) { log.log(LogService.LOG_INFO, null, t); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getException().getMessage().equals(t.getMessage())); + assertTrue(listener.getEntryX().getException().getMessage().equals(t.getMessage())); } public void testLogNullThrowable() throws Exception { synchronized (listener) { log.log(LogService.LOG_INFO, null, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getException() == null); + assertTrue(listener.getEntryX().getException() == null); } public void testLogServiceReference() throws Exception { synchronized (listener) { log.log(logReference, LogService.LOG_INFO, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getServiceReference().equals(logReference)); + assertTrue(listener.getEntryX().getServiceReference().equals(logReference)); } public void testNullLogServiceReference() throws Exception { synchronized (listener) { log.log(null, LogService.LOG_INFO, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getServiceReference() == null); + assertTrue(listener.getEntryX().getServiceReference() == null); } public void testLogServiceReferenceWithNullThrowable() throws Exception { synchronized (listener) { log.log(logReference, LogService.LOG_INFO, null, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getServiceReference().equals(logReference)); + assertTrue(listener.getEntryX().getServiceReference().equals(logReference)); } public void testLogNull1() throws Exception { synchronized (listener) { log.log(0, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == 0); - assertTrue(listener.getEntry().getMessage() == null); - assertTrue(listener.getEntry().getException() == null); - assertTrue(listener.getEntry().getServiceReference() == null); + LogEntry entry = listener.getEntryX(); + assertTrue(entry.getLevel() == 0); + assertTrue(entry.getMessage() == null); + assertTrue(entry.getException() == null); + assertTrue(entry.getServiceReference() == null); } public void testLogNull2() throws Exception { synchronized (listener) { log.log(0, null, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == 0); - assertTrue(listener.getEntry().getMessage() == null); - assertTrue(listener.getEntry().getException() == null); - assertTrue(listener.getEntry().getServiceReference() == null); + LogEntry entry = listener.getEntryX(); + assertTrue(entry.getLevel() == 0); + assertTrue(entry.getMessage() == null); + assertTrue(entry.getException() == null); + assertTrue(entry.getServiceReference() == null); } public void testLogNull3() throws Exception { synchronized (listener) { log.log(null, 0, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == 0); - assertTrue(listener.getEntry().getMessage() == null); - assertTrue(listener.getEntry().getException() == null); - assertTrue(listener.getEntry().getServiceReference() == null); + LogEntry entry = listener.getEntryX(); + assertTrue(entry.getLevel() == 0); + assertTrue(entry.getMessage() == null); + assertTrue(entry.getException() == null); + assertTrue(entry.getServiceReference() == null); } public void testLogNull4() throws Exception { synchronized (listener) { log.log(null, 0, null, null); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == 0); - assertTrue(listener.getEntry().getMessage() == null); - assertTrue(listener.getEntry().getException() == null); - assertTrue(listener.getEntry().getServiceReference() == null); + LogEntry entry = listener.getEntryX(); + assertTrue(entry.getLevel() == 0); + assertTrue(entry.getMessage() == null); + assertTrue(entry.getException() == null); + assertTrue(entry.getServiceReference() == null); } public void testLogFull1() throws Exception { String message = "test"; //$NON-NLS-1$ synchronized (listener) { log.log(LogService.LOG_INFO, message); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); - assertTrue(listener.getEntry().getMessage().equals(message)); - assertTrue(listener.getEntry().getException() == null); - assertTrue(listener.getEntry().getServiceReference() == null); + LogEntry entry = listener.getEntryX(); + assertTrue(entry.getLevel() == LogService.LOG_INFO); + assertTrue(entry.getMessage().equals(message)); + assertTrue(entry.getException() == null); + assertTrue(entry.getServiceReference() == null); } public void testLogFull2() throws Exception { @@ -209,24 +213,26 @@ public class LogServiceTest extends TestCase { Throwable t = new Throwable("test"); //$NON-NLS-1$ synchronized (listener) { log.log(LogService.LOG_INFO, message, t); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); - assertTrue(listener.getEntry().getMessage().equals(message)); - assertTrue(listener.getEntry().getException().getMessage().equals(t.getMessage())); - assertTrue(listener.getEntry().getServiceReference() == null); + LogEntry entry = listener.getEntryX(); + assertTrue(entry.getLevel() == LogService.LOG_INFO); + assertTrue(entry.getMessage().equals(message)); + assertTrue(entry.getException().getMessage().equals(t.getMessage())); + assertTrue(entry.getServiceReference() == null); } public void testLogFull3() throws Exception { String message = "test"; //$NON-NLS-1$ synchronized (listener) { log.log(logReference, LogService.LOG_INFO, message); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); - assertTrue(listener.getEntry().getMessage().equals(message)); - assertTrue(listener.getEntry().getException() == null); - assertTrue(listener.getEntry().getServiceReference() == logReference); + LogEntry entry = listener.getEntryX(); + assertTrue(entry.getLevel() == LogService.LOG_INFO); + assertTrue(entry.getMessage().equals(message)); + assertTrue(entry.getException() == null); + assertTrue(entry.getServiceReference() == logReference); } public void testLogFull4() throws Exception { @@ -234,11 +240,12 @@ public class LogServiceTest extends TestCase { Throwable t = new Throwable("test"); //$NON-NLS-1$ synchronized (listener) { log.log(logReference, LogService.LOG_INFO, message, t); - listener.wait(); + listener.waitForLogEntry(); } - assertTrue(listener.getEntry().getLevel() == LogService.LOG_INFO); - assertTrue(listener.getEntry().getMessage().equals(message)); - assertTrue(listener.getEntry().getException().getMessage().equals(t.getMessage())); - assertTrue(listener.getEntry().getServiceReference() == logReference); + LogEntry entry = listener.getEntryX(); + assertTrue(entry.getLevel() == LogService.LOG_INFO); + assertTrue(entry.getMessage().equals(message)); + assertTrue(entry.getException().getMessage().equals(t.getMessage())); + assertTrue(entry.getServiceReference() == logReference); } } diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/TestListener.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/TestListener.java index e54a9db53..e176c7c3b 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/TestListener.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/equinox/log/test/TestListener.java @@ -1,11 +1,12 @@ /******************************************************************************* - * Copyright (c) 2007, 2011 IBM Corporation All rights reserved. This program + * Copyright (c) 2007, 2012 IBM Corporation All rights reserved. This program * and the accompanying materials are made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ package org.eclipse.equinox.log.test; +import junit.framework.Assert; import org.eclipse.equinox.log.ExtendedLogEntry; import org.osgi.service.log.LogEntry; import org.osgi.service.log.LogListener; @@ -20,11 +21,23 @@ class TestListener implements LogListener { notifyAll(); } - public synchronized LogEntry getEntry() { - return entry; + public synchronized ExtendedLogEntry getEntryX() { + ExtendedLogEntry current = (ExtendedLogEntry) entry; + entry = null; + return current; } - public synchronized ExtendedLogEntry getEntryX() { - return (ExtendedLogEntry) entry; + public void waitForLogEntry() throws InterruptedException { + synchronized (this) { + long timeToWait = 20000; + long startTime = System.currentTimeMillis(); + while (this.entry == null && timeToWait > 0) { + this.wait(timeToWait); + timeToWait = timeToWait - (System.currentTimeMillis() - startTime); + } + if (this.entry == null) { + Assert.fail("No log entry logged."); + } + } } }
\ No newline at end of file |