mirror of
https://github.com/corda/corda.git
synced 2025-06-18 23:28:21 +00:00
Speed up JDBCHashMapTestSuite by 3min on my laptop by avoiding Exposed table existence checks each time a map/table is created by re-using the map/sets across tests (after clear()-ing to reset their state).
This commit is contained in:
@ -24,6 +24,10 @@ class JDBCHashMapTestSuite {
|
|||||||
lateinit var dataSource: Closeable
|
lateinit var dataSource: Closeable
|
||||||
lateinit var transaction: Transaction
|
lateinit var transaction: Transaction
|
||||||
lateinit var database: Database
|
lateinit var database: Database
|
||||||
|
lateinit var loadOnInitFalseMap: JDBCHashMap<String, String>
|
||||||
|
lateinit var loadOnInitTrueMap: JDBCHashMap<String, String>
|
||||||
|
lateinit var loadOnInitFalseSet: JDBCHashSet<String>
|
||||||
|
lateinit var loadOnInitTrueSet: JDBCHashSet<String>
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
@ -32,6 +36,10 @@ class JDBCHashMapTestSuite {
|
|||||||
dataSource = dataSourceAndDatabase.first
|
dataSource = dataSourceAndDatabase.first
|
||||||
database = dataSourceAndDatabase.second
|
database = dataSourceAndDatabase.second
|
||||||
setUpDatabaseTx()
|
setUpDatabaseTx()
|
||||||
|
loadOnInitFalseMap = JDBCHashMap<String, String>("test_map_false", loadOnInit = false)
|
||||||
|
loadOnInitTrueMap = JDBCHashMap<String, String>("test_map_true", loadOnInit = true)
|
||||||
|
loadOnInitFalseSet = JDBCHashSet<String>("test_set_false", loadOnInit = false)
|
||||||
|
loadOnInitTrueSet = JDBCHashSet<String>("test_set_true", loadOnInit = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@ -112,7 +120,8 @@ class JDBCHashMapTestSuite {
|
|||||||
*/
|
*/
|
||||||
class JDBCHashMapTestGenerator(val loadOnInit: Boolean) : com.google.common.collect.testing.TestStringMapGenerator() {
|
class JDBCHashMapTestGenerator(val loadOnInit: Boolean) : com.google.common.collect.testing.TestStringMapGenerator() {
|
||||||
override fun create(elements: Array<Map.Entry<String, String>>): Map<String, String> {
|
override fun create(elements: Array<Map.Entry<String, String>>): Map<String, String> {
|
||||||
val map = JDBCHashMap<String, String>("test_map_${System.nanoTime()}", loadOnInit = loadOnInit)
|
val map = if (loadOnInit) loadOnInitTrueMap else loadOnInitFalseMap
|
||||||
|
map.clear()
|
||||||
map.putAll(elements.associate { Pair(it.key, it.value) })
|
map.putAll(elements.associate { Pair(it.key, it.value) })
|
||||||
return map
|
return map
|
||||||
}
|
}
|
||||||
@ -143,7 +152,8 @@ class JDBCHashMapTestSuite {
|
|||||||
*/
|
*/
|
||||||
class JDBCHashSetTestGenerator(val loadOnInit: Boolean) : com.google.common.collect.testing.TestStringSetGenerator() {
|
class JDBCHashSetTestGenerator(val loadOnInit: Boolean) : com.google.common.collect.testing.TestStringSetGenerator() {
|
||||||
override fun create(elements: Array<String>): Set<String> {
|
override fun create(elements: Array<String>): Set<String> {
|
||||||
val set = JDBCHashSet<String>("test_set_${System.nanoTime()}", loadOnInit = loadOnInit)
|
val set = if (loadOnInit) loadOnInitTrueSet else loadOnInitFalseSet
|
||||||
|
set.clear()
|
||||||
set.addAll(elements)
|
set.addAll(elements)
|
||||||
return set
|
return set
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user