@@ -77,14 +77,24 @@ public void TryAddQuerySource_AboveThreshold_AddsSourceInfo()
7777 QuerySourceHelper . TryAddQuerySource ( span , fixture . Options , skipFrames : 0 ) ;
7878
7979 // Assert
80- // The test method itself should be captured as the source since it's in-app
81- span . Data . Should ( ) . ContainKey ( "code.filepath" ) ;
82- span . Data . Should ( ) . ContainKey ( "code.function" ) ;
83-
84- // Verify we logged something about finding the frame
85- fixture . Logger . Entries . Should ( ) . Contain ( e =>
86- e . Message . Contains ( "Found in-app frame" ) ||
87- e . Message . Contains ( "Added query source" ) ) ;
80+ // When PDB files are available, should capture source info
81+ // On Android or without PDBs, this may not be captured - that's OK
82+ if ( span . Data . ContainsKey ( "code.filepath" ) )
83+ {
84+ span . Data . Should ( ) . ContainKey ( "code.function" ) ;
85+
86+ // Verify we logged something about finding the frame
87+ fixture . Logger . Entries . Should ( ) . Contain ( e =>
88+ e . Message . Contains ( "Found in-app frame" ) ||
89+ e . Message . Contains ( "Added query source" ) ) ;
90+ }
91+ else
92+ {
93+ // PDB not available - verify we logged about missing file info
94+ fixture . Logger . Entries . Should ( ) . Contain ( e =>
95+ e . Message . Contains ( "No file info" ) ||
96+ e . Message . Contains ( "No in-app frame found" ) ) ;
97+ }
8898 }
8999
90100 [ Fact ]
@@ -103,10 +113,11 @@ public void TryAddQuerySource_WithException_DoesNotThrow()
103113 var action = ( ) => QuerySourceHelper . TryAddQuerySource ( span , fixture . Options ) ;
104114 action . Should ( ) . NotThrow ( ) ;
105115
106- // Should log the error (plus some debug entries from stack walking)
116+ // Should log the error if PDB is available and source capture was attempted
117+ // On Android/without PDB, may just log about missing file info
107118 fixture . Logger . Entries . Should ( ) . Contain ( e =>
108- e . Level == SentryLevel . Error &&
109- e . Message . Contains ( "Failed to capture query source" ) ) ;
119+ ( e . Level == SentryLevel . Error && e . Message . Contains ( "Failed to capture query source" ) ) ||
120+ ( e . Level == SentryLevel . Debug && e . Message . Contains ( "No file info" ) ) ) ;
110121 }
111122
112123 [ Fact ]
@@ -170,9 +181,17 @@ public void TryAddQuerySource_RespectsInAppInclude()
170181 QuerySourceHelper . TryAddQuerySource ( span , fixture . Options , skipFrames : 0 ) ;
171182
172183 // Assert
173- // Should find this test method as in-app since we explicitly included it
174- span . Data . Should ( ) . ContainKey ( "code.filepath" ) ;
175- span . Data . Should ( ) . ContainKey ( "code.function" ) ;
184+ // When PDB files are available, should find this test method as in-app since we explicitly included it
185+ // On Android or without PDBs, source info may not be captured - that's OK
186+ if ( span . Data . ContainsKey ( "code.filepath" ) )
187+ {
188+ span . Data . Should ( ) . ContainKey ( "code.function" ) ;
189+ // Verify the namespace is from the included pattern
190+ if ( span . Data . TryGetValue < string , string > ( "code.namespace" ) is { } ns )
191+ {
192+ ns . Should ( ) . StartWith ( "Sentry.Tests" ) ;
193+ }
194+ }
176195 }
177196
178197 [ Fact ]
0 commit comments