Skip to content

Commit

Permalink
Fix ThreadLocalRandom test
Browse files Browse the repository at this point in the history
  • Loading branch information
isaacl committed Sep 13, 2024
1 parent 042c378 commit c19c24f
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 6 deletions.
2 changes: 0 additions & 2 deletions lila/src/main/scala/Maths.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package scalalib

import scalalib.ThreadLocalRandom

import scala.Numeric.Implicits.*
import scala.reflect.ClassTag
import scala.util.Sorting
Expand Down
2 changes: 1 addition & 1 deletion lila/src/main/scala/Random.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package scalalib
import scala.collection.mutable.StringBuilder

object ThreadLocalRandom extends RandomApi:
protected def impl = java.util.concurrent.ThreadLocalRandom.current()
protected[scalalib] def impl = java.util.concurrent.ThreadLocalRandom.current()

object SecureRandom extends RandomApi:
protected val impl = java.security.SecureRandom.getInstanceStrong()
Expand Down
7 changes: 4 additions & 3 deletions lila/src/test/scala/RandomTest.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ package scalalib
class RandomTest extends munit.FunSuite:

test("different threads get different randoms"):
val r1 = ThreadLocalRandom
val t = ThreadLocalRandom
val r1 = t.impl

@volatile var r2: RandomApi = null
val thread2 = new Thread(() => r2 = ThreadLocalRandom)
@volatile var r2: java.util.Random = null
val thread2 = new Thread(() => r2 = t.impl)
thread2.start()
thread2.join()
assertNotEquals(r1, r2)

0 comments on commit c19c24f

Please sign in to comment.