1package com.peachpasswords.sync23import org.junit.Assert.assertFalse4import org.junit.Assert.assertTrue5import org.junit.Test6import java.io.File78class RustNoiseNativeCoverageTest {9 @Test10 fun `release Noise loader uses only the packaged library name`() {11 val source = projectFile("app/src/main/java/com/peachpasswords/sync/RustNoiseNative.kt").readText()1213 assertTrue(source.contains("System.loadLibrary(\"peach_noise_core\")"))14 assertFalse(source.contains("System.load("))15 assertFalse(source.contains("peach.noise.library.path"))16 assertFalse(source.contains("System.getProperty"))17 }1819 @Test20 fun `host loading configuration stays outside the release loader`() {21 val gradle = projectFile("app/build.gradle").readText()22 val rustBuild = projectFile("scripts/build-noise-core.sh").readText()2324 assertTrue(gradle.contains("target/release/libpeach_noise_core.dylib"))25 assertTrue(gradle.contains("systemProperty \"java.library.path\""))26 assertFalse(gradle.contains("systemProperty \"peach.noise.library.path\""))27 assertFalse(rustBuild.contains("test-constructors"))28 }29 private fun projectFile(relativePath: String): File =30 listOf(File(relativePath), File("../$relativePath"), File("../../$relativePath"))31 .firstOrNull { it.exists() && (relativePath != "build.gradle" || it.readText().contains("PEACH_NOISE_CORE_FEATURES")) }32 ?: error("project file not found: $relativePath")33}