Fix jsr166 tests

Tests specified as static inner classes were failing because the CTS
runner does not support them. The temporary fix is to promote all static
inner test classes to top level classes. This should be reverted once
the CTS runner is fixed.

Bug: 13877168
Change-Id: Icb64d7d7fcf6202d54d6fe31d9e1c9a6a43a233b
diff --git a/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueFairTest.java b/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueFairTest.java
new file mode 100644
index 0000000..d6ed081
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueFairTest.java
@@ -0,0 +1,25 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ * Other contributors include Andrew Wright, Jeffrey Hayes,
+ * Pat Fisher, Mike Judd.
+ */
+
+package jsr166;
+
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.BlockingQueue;
+
+// In the upstream sources this class was nested inside ArrayBlockingQueueTests.
+// It was extracted to the top level because the CTS runner does not support
+// nested test classes. The same transformation was applied to all similar
+// classes from the jsr166 suite (see the parent CL for the complete list). This
+// should be reverted after CTS runner is fixed.
+public class ArrayBlockingQueueFairTest extends BlockingQueueTest {
+
+    protected BlockingQueue emptyCollection() {
+        return new ArrayBlockingQueue(SIZE, true);
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueNotFairTest.java b/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueNotFairTest.java
new file mode 100644
index 0000000..ddb1c5d
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueNotFairTest.java
@@ -0,0 +1,20 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ * Other contributors include Andrew Wright, Jeffrey Hayes,
+ * Pat Fisher, Mike Judd.
+ */
+
+package jsr166;
+
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.BlockingQueue;
+
+public class ArrayBlockingQueueNotFairTest extends BlockingQueueTest {
+
+    protected BlockingQueue emptyCollection() {
+        return new ArrayBlockingQueue(SIZE, false);
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueTest.java b/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueTest.java
index ce417ad..b999496 100644
--- a/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueTest.java
+++ b/jsr166-tests/src/test/java/jsr166/ArrayBlockingQueueTest.java
@@ -24,18 +24,6 @@
 
 public class ArrayBlockingQueueTest extends JSR166TestCase {
 
-    public static class Fair extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new ArrayBlockingQueue(SIZE, true);
-        }
-    }
-
-    public static class NonFair extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new ArrayBlockingQueue(SIZE, false);
-        }
-    }
-
     /**
      * Returns a new queue of given size containing consecutive
      * Integers 0 ... n.
diff --git a/jsr166-tests/src/test/java/jsr166/DelayQueueTest.java b/jsr166-tests/src/test/java/jsr166/DelayQueueTest.java
index 5d48c18..dc221ab 100644
--- a/jsr166-tests/src/test/java/jsr166/DelayQueueTest.java
+++ b/jsr166-tests/src/test/java/jsr166/DelayQueueTest.java
@@ -22,15 +22,14 @@
 import java.util.concurrent.TimeUnit;
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 
-public class DelayQueueTest extends JSR166TestCase {
+public class DelayQueueTest extends BlockingQueueTest {
 
-    public static class Generic extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new DelayQueue();
-        }
-        protected PDelay makeElement(int i) {
-            return new PDelay(i);
-        }
+    protected BlockingQueue emptyCollection() {
+        return new DelayQueue();
+    }
+
+    protected PDelay makeElement(int i) {
+        return new PDelay(i);
     }
 
     private static final int NOCAP = Integer.MAX_VALUE;
diff --git a/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeBoundedTest.java b/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeBoundedTest.java
new file mode 100644
index 0000000..7b43583
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeBoundedTest.java
@@ -0,0 +1,18 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+package jsr166;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingDeque;
+
+public class LinkedBlockingDequeBoundedTest extends JSR166TestCase {
+
+    protected BlockingQueue emptyCollection() {
+        return new LinkedBlockingDeque(SIZE);
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeTest.java b/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeTest.java
index 638a7ac..4016f6d 100644
--- a/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeTest.java
+++ b/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeTest.java
@@ -23,18 +23,6 @@
 
 public class LinkedBlockingDequeTest extends JSR166TestCase {
 
-    public static class Unbounded extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new LinkedBlockingDeque();
-        }
-    }
-
-    public static class Bounded extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new LinkedBlockingDeque(SIZE);
-        }
-    }
-
     /**
      * Returns a new deque of given size containing consecutive
      * Integers 0 ... n.
diff --git a/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeUnboundedTest.java b/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeUnboundedTest.java
new file mode 100644
index 0000000..4302f45
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/LinkedBlockingDequeUnboundedTest.java
@@ -0,0 +1,18 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+package jsr166;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingDeque;
+
+public class LinkedBlockingDequeUnboundedTest extends BlockingQueueTest {
+
+    protected BlockingQueue emptyCollection() {
+        return new LinkedBlockingDeque();
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueBoundedTest.java b/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueBoundedTest.java
new file mode 100644
index 0000000..67984b2
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueBoundedTest.java
@@ -0,0 +1,20 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ * Other contributors include Andrew Wright, Jeffrey Hayes,
+ * Pat Fisher, Mike Judd.
+ */
+
+package jsr166;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+
+public class LinkedBlockingQueueBoundedTest extends BlockingQueueTest {
+
+    protected BlockingQueue emptyCollection() {
+        return new LinkedBlockingQueue(SIZE);
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueTest.java b/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueTest.java
index 5628040..fe0b871 100644
--- a/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueTest.java
+++ b/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueTest.java
@@ -24,18 +24,6 @@
 
 public class LinkedBlockingQueueTest extends JSR166TestCase {
 
-    public static class Unbounded extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new LinkedBlockingQueue();
-        }
-    }
-
-    public static class Bounded extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new LinkedBlockingQueue(SIZE);
-        }
-    }
-
     /**
      * Returns a new queue of given size containing consecutive
      * Integers 0 ... n.
diff --git a/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueUnboundedTest.java b/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueUnboundedTest.java
new file mode 100644
index 0000000..b1fcdd9
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/LinkedBlockingQueueUnboundedTest.java
@@ -0,0 +1,20 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ * Other contributors include Andrew Wright, Jeffrey Hayes,
+ * Pat Fisher, Mike Judd.
+ */
+
+package jsr166;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+
+public class LinkedBlockingQueueUnboundedTest extends BlockingQueueTest {
+
+    protected BlockingQueue emptyCollection() {
+        return new LinkedBlockingQueue();
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/LinkedTransferQueueTest.java b/jsr166-tests/src/test/java/jsr166/LinkedTransferQueueTest.java
index a14f303..94427df 100644
--- a/jsr166-tests/src/test/java/jsr166/LinkedTransferQueueTest.java
+++ b/jsr166-tests/src/test/java/jsr166/LinkedTransferQueueTest.java
@@ -24,12 +24,10 @@
 import static java.util.concurrent.TimeUnit.NANOSECONDS;
 
 @SuppressWarnings({"unchecked", "rawtypes"})
-public class LinkedTransferQueueTest extends JSR166TestCase {
+public class LinkedTransferQueueTest extends BlockingQueueTest {
 
-    public static class Generic extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new LinkedTransferQueue();
-        }
+    protected BlockingQueue emptyCollection() {
+        return new LinkedTransferQueue();
     }
 
     /**
diff --git a/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueGenericTest.java b/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueGenericTest.java
new file mode 100644
index 0000000..8c5da7b
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueGenericTest.java
@@ -0,0 +1,20 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ * Other contributors include Andrew Wright, Jeffrey Hayes,
+ * Pat Fisher, Mike Judd.
+ */
+
+package jsr166;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.PriorityBlockingQueue;
+
+public class PriorityBlockingQueueGenericTest extends BlockingQueueTest {
+
+    protected BlockingQueue emptyCollection() {
+        return new PriorityBlockingQueue();
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueInitialCapacityTest.java b/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueInitialCapacityTest.java
new file mode 100644
index 0000000..7dee1fe
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueInitialCapacityTest.java
@@ -0,0 +1,20 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ * Other contributors include Andrew Wright, Jeffrey Hayes,
+ * Pat Fisher, Mike Judd.
+ */
+
+package jsr166;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.PriorityBlockingQueue;
+
+public class PriorityBlockingQueueInitialCapacityTest extends BlockingQueueTest {
+
+    protected BlockingQueue emptyCollection() {
+        return new PriorityBlockingQueue(SIZE);
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueTest.java b/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueTest.java
index 908910b..89d6d24 100644
--- a/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueTest.java
+++ b/jsr166-tests/src/test/java/jsr166/PriorityBlockingQueueTest.java
@@ -25,18 +25,6 @@
 
 public class PriorityBlockingQueueTest extends JSR166TestCase {
 
-    public static class Generic extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new PriorityBlockingQueue();
-        }
-    }
-
-    public static class InitialCapacity extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new PriorityBlockingQueue(SIZE);
-        }
-    }
-
     private static final int NOCAP = Integer.MAX_VALUE;
 
     /** Sample Comparator */
diff --git a/jsr166-tests/src/test/java/jsr166/SynchronousQueueFairTest.java b/jsr166-tests/src/test/java/jsr166/SynchronousQueueFairTest.java
new file mode 100644
index 0000000..fb4634f
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/SynchronousQueueFairTest.java
@@ -0,0 +1,20 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ * Other contributors include Andrew Wright, Jeffrey Hayes,
+ * Pat Fisher, Mike Judd.
+ */
+
+package jsr166;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.SynchronousQueue;
+
+public class SynchronousQueueFairTest extends BlockingQueueTest {
+
+    protected BlockingQueue emptyCollection() {
+        return new SynchronousQueue(true);
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/SynchronousQueueNotFairTest.java b/jsr166-tests/src/test/java/jsr166/SynchronousQueueNotFairTest.java
new file mode 100644
index 0000000..be15341
--- /dev/null
+++ b/jsr166-tests/src/test/java/jsr166/SynchronousQueueNotFairTest.java
@@ -0,0 +1,20 @@
+/*
+ * Written by Doug Lea with assistance from members of JCP JSR-166
+ * Expert Group and released to the public domain, as explained at
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ * Other contributors include Andrew Wright, Jeffrey Hayes,
+ * Pat Fisher, Mike Judd.
+ */
+
+package jsr166;
+
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.SynchronousQueue;
+
+public class SynchronousQueueNotFairTest extends BlockingQueueTest {
+
+    protected BlockingQueue emptyCollection() {
+        return new SynchronousQueue(true);
+    }
+
+}
diff --git a/jsr166-tests/src/test/java/jsr166/SynchronousQueueTest.java b/jsr166-tests/src/test/java/jsr166/SynchronousQueueTest.java
index 711b47b..bd030cf 100644
--- a/jsr166-tests/src/test/java/jsr166/SynchronousQueueTest.java
+++ b/jsr166-tests/src/test/java/jsr166/SynchronousQueueTest.java
@@ -24,18 +24,6 @@
 
 public class SynchronousQueueTest extends JSR166TestCase {
 
-    public static class Fair extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new SynchronousQueue(true);
-        }
-    }
-
-    public static class NonFair extends BlockingQueueTest {
-        protected BlockingQueue emptyCollection() {
-            return new SynchronousQueue(false);
-        }
-    }
-
     /**
      * Any SynchronousQueue is both empty and full
      */