@@ -318,7 +318,7 @@ public async Task ItCanFallbackWithNoUpdates(bool useOfflineCache)
318318 var workloadResolver = WorkloadResolver . CreateForTests ( workloadManifestProvider , dotnetRoot ) ;
319319 var nugetDownloader = new MockNuGetPackageDownloader ( dotnetRoot ) ;
320320 var installationRepo = new MockInstallationRecordRepository ( ) ;
321- var manifestUpdater = new WorkloadManifestUpdater ( _reporter , workloadResolver , nugetDownloader , Path . Combine ( testDir , ".dotnet" ) , installationRepo , new MockPackWorkloadInstaller ( dotnetRoot ) ) ;
321+ var manifestUpdater = new WorkloadManifestUpdater ( _reporter , workloadResolver , nugetDownloader , Path . Combine ( testDir , ".dotnet" ) , installationRepo , new MockPackWorkloadInstaller ( dotnetRoot ) , displayManifestUpdates : true ) ;
322322
323323 var offlineCacheDir = "" ;
324324 if ( useOfflineCache )
@@ -349,6 +349,49 @@ public async Task ItCanFallbackWithNoUpdates(bool useOfflineCache)
349349 _reporter . Lines . Should ( ) . Contain ( string . Format ( CliCommandStrings . AdManifestPackageDoesNotExist , testManifestName ) ) ;
350350 }
351351
352+ [ Fact ]
353+ public async Task ItSuppressesMessagesWhenDisplayManifestUpdatesIsFalse ( )
354+ {
355+ // Test that advertising manifest messages are suppressed when displayManifestUpdates is false
356+ // This validates the fix for https://github.com/dotnet/sdk/issues/xxxxx
357+
358+ // Arrange
359+ string sdkFeatureBand = "6.0.300" ;
360+ var testDir = _testAssetsManager . CreateTestDirectory ( ) . Path ;
361+ var dotnetRoot = Path . Combine ( testDir , "dotnet" ) ;
362+
363+ var emptyInstalledManifestsDir = Path . Combine ( dotnetRoot , "sdk-manifests" , "6.0.200" ) ;
364+ Directory . CreateDirectory ( emptyInstalledManifestsDir ) ;
365+
366+ var adManifestDir = Path . Combine ( testDir , ".dotnet" , "sdk-advertising" , sdkFeatureBand ) ;
367+ Directory . CreateDirectory ( adManifestDir ) ;
368+
369+ string testManifestName = "test-manifest" ;
370+ Directory . CreateDirectory ( Path . Combine ( emptyInstalledManifestsDir , testManifestName ) ) ;
371+ File . WriteAllText ( Path . Combine ( emptyInstalledManifestsDir , testManifestName , _manifestFileName ) , GetManifestContent ( new ManifestVersion ( "1.0.0" ) ) ) ;
372+
373+ var workloadManifestProvider = new MockManifestProvider ( ( testManifestName , Path . Combine ( emptyInstalledManifestsDir , testManifestName , _manifestFileName ) , "1.0.0" , "6.0.200" ) )
374+ {
375+ SdkFeatureBand = new SdkFeatureBand ( sdkFeatureBand )
376+ } ;
377+
378+ var workloadResolver = WorkloadResolver . CreateForTests ( workloadManifestProvider , dotnetRoot ) ;
379+ var nugetDownloader = new MockNuGetPackageDownloader ( dotnetRoot ) ;
380+ var installationRepo = new MockInstallationRecordRepository ( ) ;
381+ // Create updater with displayManifestUpdates: false (simulating non-diagnostic verbosity)
382+ var manifestUpdater = new WorkloadManifestUpdater ( _reporter , workloadResolver , nugetDownloader , Path . Combine ( testDir , ".dotnet" ) , installationRepo , new MockPackWorkloadInstaller ( dotnetRoot ) , displayManifestUpdates : false ) ;
383+
384+ nugetDownloader . PackageIdsToNotFind . Add ( $ "{ testManifestName } .Manifest-6.0.300") ;
385+ nugetDownloader . PackageIdsToNotFind . Add ( $ "{ testManifestName } .Manifest-6.0.200") ;
386+
387+ // Act
388+ await manifestUpdater . UpdateAdvertisingManifestsAsync ( includePreviews : true ) ;
389+
390+ // Assert - messages should be suppressed
391+ _reporter . Lines . Should ( ) . NotContain ( l => l . ToLowerInvariant ( ) . Contains ( "fail" ) ) ;
392+ _reporter . Lines . Should ( ) . NotContain ( string . Format ( CliCommandStrings . AdManifestPackageDoesNotExist , testManifestName ) ) ;
393+ }
394+
352395 [ Theory ]
353396 [ InlineData ( false ) ]
354397 [ InlineData ( true ) ]
@@ -384,7 +427,7 @@ public async Task GivenNoUpdatesAreAvailableAndNoRollbackItGivesAppropriateMessa
384427 var workloadResolver = WorkloadResolver . CreateForTests ( workloadManifestProvider , dotnetRoot ) ;
385428 var nugetDownloader = new MockNuGetPackageDownloader ( dotnetRoot ) ;
386429 var installationRepo = new MockInstallationRecordRepository ( ) ;
387- var manifestUpdater = new WorkloadManifestUpdater ( _reporter , workloadResolver , nugetDownloader , Path . Combine ( testDir , ".dotnet" ) , installationRepo , new MockPackWorkloadInstaller ( dotnetRoot ) ) ;
430+ var manifestUpdater = new WorkloadManifestUpdater ( _reporter , workloadResolver , nugetDownloader , Path . Combine ( testDir , ".dotnet" ) , installationRepo , new MockPackWorkloadInstaller ( dotnetRoot ) , displayManifestUpdates : true ) ;
388431
389432 var offlineCacheDir = "" ;
390433 if ( useOfflineCache )
0 commit comments