modules/core/plugin-container/src/test/java/org/rhq/core/pc/inventory/AvailabilityProxyConcurrencyTest.java
| 28 +++-------
1 file changed, 10 insertions(+), 18 deletions(-)
New commits:
commit ebba986c1b5beb93b16d6a96d0fa9048275d748c
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Wed Nov 27 10:28:09 2013 -0500
fix up the test - this is still failing, but took out some unnecessary things
diff --git
a/modules/core/plugin-container/src/test/java/org/rhq/core/pc/inventory/AvailabilityProxyConcurrencyTest.java
b/modules/core/plugin-container/src/test/java/org/rhq/core/pc/inventory/AvailabilityProxyConcurrencyTest.java
index ed2764a..f2880dd 100644
---
a/modules/core/plugin-container/src/test/java/org/rhq/core/pc/inventory/AvailabilityProxyConcurrencyTest.java
+++
b/modules/core/plugin-container/src/test/java/org/rhq/core/pc/inventory/AvailabilityProxyConcurrencyTest.java
@@ -35,28 +35,20 @@ import org.rhq.core.pluginapi.availability.AvailabilityFacet;
@Test(enabled = false)
public class AvailabilityProxyConcurrencyTest implements AvailabilityFacet {
- private volatile int availSleepMillis;
- private ExecutorService executor;
- private volatile boolean interrupted;
-
public void testConcurrentAvailChecks() throws Exception {
Thread.interrupted(); // clear any hanging around interrupt status
- executor = Executors.newCachedThreadPool();
+ ExecutorService executor = Executors.newCachedThreadPool();
try {
// our one proxy we want to call concurrently
final AvailabilityProxy ap = new AvailabilityProxy(this, executor,
getClass().getClassLoader());
// prime the pump by getting the first one without problems
- availSleepMillis = 1;
- interrupted = false;
AvailabilityType firstAvail = ap.getAvailability();
assert UP.equals(firstAvail) : "Can't even get our first avail
correctly: " + firstAvail;
- assert !interrupted;
// create several threads that will concurrently call getAvailability
- availSleepMillis = 500;
- final int numThreads = 3;
+ final int numThreads = 2;
final Hashtable<String, AvailabilityType> availResults = new
Hashtable<String, AvailabilityType>(numThreads);
final Hashtable<String, Date> dateResults = new Hashtable<String,
Date>(numThreads);
final Hashtable<String, Throwable> throwableResults = new
Hashtable<String, Throwable>(numThreads);
@@ -82,13 +74,12 @@ public class AvailabilityProxyConcurrencyTest implements
AvailabilityFacet {
}
// release the hounds! then wait for them to all finish
- System.out.println("THREADS STARTED AT: " + new Date());
+ System.out.println("~~~THREADS STARTED AT: " + new Date());
startLatch.countDown();
- endLatch.await(10, TimeUnit.SECONDS); // should never take this long
- System.out.println("THREADS FINISHED AT: " + new Date());
- System.out.println("THREAD FINISH TIMES: " + dateResults);
- System.out.println("THREADS WITH EXCEPTIONS: " +
throwableResults);
- assert !interrupted : "Why was this interrupted?";
+ endLatch.await(10000, TimeUnit.SECONDS); // should never take this long
+ System.out.println("~~~THREADS FINISHED AT: " + new Date());
+ System.out.println("~~~THREAD FINISH TIMES: " + dateResults);
+ System.out.println("~~~THREADS WITH EXCEPTIONS: " +
throwableResults);
// now make sure all of them returns UP
assert availResults.size() == numThreads : "Failed, bad threads:
availResults = " + availResults;
@@ -103,8 +94,9 @@ public class AvailabilityProxyConcurrencyTest implements
AvailabilityFacet {
@Override
public synchronized AvailabilityType getAvailability() {
try {
- Thread.sleep(availSleepMillis);
- } catch (InterruptedException e) {
+ Thread.sleep(750);
+ } catch (Exception e) {
+ System.out.println("~~~AVAILABILITY SLEEP WAS ABORTED: " + e);
}
return UP;
}
Show replies by date