Skip to content
Merged
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
bd0c3b4
Check for mixed SDK versions
adinauer Mar 18, 2025
f50173b
Format code
getsentry-bot Mar 20, 2025
a8875cf
format + api
adinauer Mar 20, 2025
c0eea6a
Init noops if mixed versions detected
adinauer Mar 20, 2025
5c09766
Add BuildConfig
adinauer Mar 20, 2025
735ff28
config entries for agentless module sdk names
adinauer Mar 20, 2025
fe20321
Add MANIFEST.MF for JARs
adinauer Mar 20, 2025
901830d
Throw on startup; use manifests for backend; reuse code for otel
adinauer Mar 21, 2025
65a7a6f
Format code
getsentry-bot Mar 21, 2025
62cb98f
Merge branch 'main' into feat/crash-on-startup-with-mixed-versions
adinauer Mar 24, 2025
954610d
Format code
getsentry-bot Mar 24, 2025
8144647
changelog
adinauer Mar 24, 2025
7d1942e
api
adinauer Mar 24, 2025
f062c3e
Merge branch 'main' into feat/manifest-for-jars
adinauer Mar 24, 2025
e72dff6
changelog
adinauer Mar 24, 2025
72c554b
Merge branch 'main' into feat/detect-mixed-sdk-versions
adinauer Mar 24, 2025
60e4cd3
Merge branch 'feat/detect-mixed-sdk-versions' into feat/noop-on-mixed…
adinauer Mar 24, 2025
b1ae3b4
Merge branch 'feat/noop-on-mixed-versions-android' into feat/manifest…
adinauer Mar 24, 2025
e13f518
Merge branch 'feat/manifest-for-jars' into feat/crash-on-startup-with…
adinauer Mar 24, 2025
c3d50ab
Remove duplicate addPackage calls
adinauer Mar 25, 2025
8185388
remove test assertion for package
adinauer Mar 25, 2025
f8ba72d
Introduce fatal SDK logger
adinauer Mar 26, 2025
e4d522f
Use Implementation-Version as raw version
adinauer Mar 27, 2025
7def3ea
Add tests for checking mixed versions
adinauer Mar 27, 2025
3b13d0d
Format code
getsentry-bot Mar 27, 2025
5504ccb
Merge branch 'main' into feat/mixed-version-tests
adinauer Mar 27, 2025
868ed6b
clear storage after test to not affect other tests
adinauer Mar 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package io.sentry

import kotlin.test.AfterTest
import kotlin.test.Test
import kotlin.test.assertFalse
import kotlin.test.assertTrue

class SentryIntegrationPackageStorageTest {

@AfterTest
fun teardown() {
SentryIntegrationPackageStorage.getInstance().clearStorage()
}

@Test
fun `same package version is OK`() {
val storage = SentryIntegrationPackageStorage.getInstance()
storage.clearStorage()

storage.addPackage("maven:io.sentry:sentry", BuildConfig.VERSION_NAME)
storage.addPackage("maven:io.sentry:sentry-logback", BuildConfig.VERSION_NAME)

assertFalse(storage.checkForMixedVersions(SystemOutLogger()))
}

@Test
fun `checking twice works`() {
val storage = SentryIntegrationPackageStorage.getInstance()
storage.clearStorage()

storage.addPackage("maven:io.sentry:sentry", BuildConfig.VERSION_NAME)
storage.addPackage("maven:io.sentry:sentry-logback", BuildConfig.VERSION_NAME)

assertFalse(storage.checkForMixedVersions(SystemOutLogger()))
assertFalse(storage.checkForMixedVersions(SystemOutLogger()))
}

@Test
fun `checking twice with changes works`() {
val storage = SentryIntegrationPackageStorage.getInstance()
storage.clearStorage()

storage.addPackage("maven:io.sentry:sentry", BuildConfig.VERSION_NAME)
storage.addPackage("maven:io.sentry:sentry-logback", BuildConfig.VERSION_NAME)

assertFalse(storage.checkForMixedVersions(SystemOutLogger()))

storage.addPackage("maven:io.sentry:sentry-spring", "8.0.0")
assertTrue(storage.checkForMixedVersions(SystemOutLogger()))
}

@Test
fun `mixed package version is not OK`() {
val storage = SentryIntegrationPackageStorage.getInstance()
storage.clearStorage()

storage.addPackage("maven:io.sentry:sentry", BuildConfig.VERSION_NAME)
storage.addPackage("maven:io.sentry:sentry-logback", "8.0.0")

assertTrue(storage.checkForMixedVersions(SystemOutLogger()))
}

@Test
fun `only java sdk modules are checked`() {
val storage = SentryIntegrationPackageStorage.getInstance()
storage.clearStorage()

storage.addPackage("maven:io.sentry:sentry", BuildConfig.VERSION_NAME)
storage.addPackage("maven:io.sentry:sentry-logback", BuildConfig.VERSION_NAME)
storage.addPackage("maven:io.sentry.other:sentry-other", "1.0.0")
storage.addPackage("maven:io.opentelemetry.javaagent:opentelemetry-javaagent", "2.0.0")

assertFalse(storage.checkForMixedVersions(SystemOutLogger()))
}
}
Loading