blob: 10d0643be846259152217c60673a9b703ee609b4 (
plain) (
tree)
|
|
// package here to be able access the package-private implementation and shutdown the pool
package scala
import org.scalacheck._
import scala.collection.parallel._
class ParCollProperties extends Properties("Parallel collections") {
def includeAllTestsWith(support: TaskSupport, descriptor: String) {
// parallel arrays with default task support
include(new mutable.IntParallelArrayCheck(support, descriptor) { })
// parallel ranges
include(new immutable.ParallelRangeCheck(support, descriptor) { })
// parallel immutable hash maps (tries)
include(new immutable.IntIntParallelHashMapCheck(support, descriptor) { })
// parallel immutable hash sets (tries)
include(new immutable.IntParallelHashSetCheck(support, descriptor) { })
// parallel mutable hash maps (tables)
include(new mutable.IntIntParallelHashMapCheck(support, descriptor) { })
// parallel ctrie
include(new mutable.IntIntParallelConcurrentTrieMapCheck(support, descriptor) { })
// parallel mutable hash sets (tables)
include(new mutable.IntParallelHashSetCheck(support, descriptor) { })
// parallel vectors
include(new immutable.IntParallelVectorCheck(support, descriptor) { })
}
includeAllTestsWith(defaultTaskSupport, "defaultTaskSupport")
val ec = scala.concurrent.ExecutionContext.fromExecutorService(java.util.concurrent.Executors.newFixedThreadPool(5))
val ectasks = new collection.parallel.ExecutionContextTaskSupport(ec)
includeAllTestsWith(ectasks, "ectasks")
// no post test hooks in scalacheck, so cannot do:
// ec.shutdown()
}
/*
def main(args: Array[String]) {
val pc = new ParCollProperties
org.scalacheck.Test.checkProperties(
org.scalacheck.Test.Params(
rng = new java.util.Random(5134L),
testCallback = new ConsoleReporter(0),
workers = 1,
minSize = 0,
maxSize = 4000,
minSuccessfulTests = 5
),
pc
)
}
*/
|