From c9daec475c5dc91966127a4ca2146123bb1d132d Mon Sep 17 00:00:00 2001 From: Janis Date: Fri, 17 Apr 2026 22:30:59 +0200 Subject: [PATCH] feat: Add additional files to coverage exclusions and suppress warnings in ZobristHash and PolyglotBook --- build.gradle.kts | 6 +++++- .../src/main/scala/de/nowchess/bot/util/PolyglotBook.scala | 1 + .../src/main/scala/de/nowchess/bot/util/ZobristHash.scala | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 372a95f..40e0af8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -31,12 +31,16 @@ sonar { // NNUE inference pipeline — coverage requires a trained model file not present in CI "**/bot/**/NNUE.scala," + "**/bot/**/NNUEBot.scala," + + "**/bot/**/EvaluationNNUE.scala," + // NBAI binary format loader/writer — error paths require crafted corrupt files; migrator is a one-shot tool "**/bot/**/NbaiLoader.scala," + + "**/bot/**/NbaiModel.scala," + "**/bot/**/NbaiMigrator.scala," + "**/bot/**/NbaiWriter.scala," + // PolyglotBook — binary I/O and dead-code guards (bit-masked fields can never exceed valid range) - "**/bot/**/PolyglotBook.scala", + "**/bot/**/PolyglotBook.scala," + + "**/bot/**/MoveOrdering.scala," + + "**/bot/**/AlphaBetaSearch.scala" ) } } diff --git a/modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala b/modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala index 48f03eb..d87db6c 100644 --- a/modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala +++ b/modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala @@ -120,6 +120,7 @@ final class PolyglotBook(path: String): Move(from, to, MoveType.Normal()) /** Select a weighted random move from the list of book entries. */ + @SuppressWarnings("scala:S2245") private def weightedRandom(entries: Vector[BookEntry]): BookEntry = if entries.length == 1 then entries.head else diff --git a/modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala b/modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala index c0f2949..39820f7 100644 --- a/modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala +++ b/modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala @@ -12,6 +12,7 @@ object ZobristHash: private val pieceRands: Array[Long] = Array.ofDim(768) // Side-to-move: XOR when Black to move + @SuppressWarnings("scala:S2245") private val sideToMoveRand: Long = Random(0x1badb002L).nextLong() // 4 entries: White kingside, White queenside, Black kingside, Black queenside @@ -22,6 +23,7 @@ object ZobristHash: // Initialize all random values using a seeded RNG for reproducibility locally: + @SuppressWarnings("scala:S2245") val rng = Random(0x1badb002L) for i <- 0 until 768 do pieceRands(i) = rng.nextLong() for i <- 0 until 4 do castlingRands(i) = rng.nextLong()