mirror of
https://github.com/austinried/subtracks.git
synced 2026-11-11 15:29:15 +01:00
close the test gaps a QA pass found, and de-flake the flaky ones
Verify the Subsonic token hash and salt freshness, and fall back to per-album songs when the empty-search probe fails with an I/O error instead of aborting the whole sync. Add a real-server sync test that mirrors navidrome and gonic into Room and reads the rows back, plus SyncManager coverage for the success, coalescing and mid-sync-failure paths. Cover the sort mapping and delete/ping ViewModels, the download engine's request flags, the queue helpers, download prefs and migration data preservation. Drop the leaked collectors in the ViewModel/queue tests, document the screenshot tests as render smoke tests, bind a real search term in the trigram plan test, and assert a positive in-flight invariant alongside the concurrency timing checks.
This commit is contained in:
@@ -75,12 +75,16 @@ ksp {
|
||||
arg("room.schemaLocation", "$projectDir/schemas")
|
||||
}
|
||||
|
||||
val integrationTestClassName = "com.subtracks.data.source.subsonic.SubsonicSourceIntegrationTest"
|
||||
val integrationTestClasses =
|
||||
listOf(
|
||||
"com.subtracks.data.source.subsonic.SubsonicSourceIntegrationTest",
|
||||
"com.subtracks.data.sync.SyncServiceIntegrationTest",
|
||||
)
|
||||
|
||||
tasks.withType<Test>().configureEach {
|
||||
if (name.endsWith("UnitTest")) {
|
||||
filter {
|
||||
excludeTestsMatching(integrationTestClassName)
|
||||
integrationTestClasses.forEach { excludeTestsMatching(it) }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -93,7 +97,7 @@ tasks.register<Test>("integrationTest") {
|
||||
testClassesDirs = files(provider { unitTest.get().testClassesDirs })
|
||||
classpath = files(provider { unitTest.get().classpath })
|
||||
filter {
|
||||
includeTestsMatching(integrationTestClassName)
|
||||
integrationTestClasses.forEach { includeTestsMatching(it) }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user