anchor.diff:  
      testWithoutContext('Cache does not attempt to delete already missing stamp files', () {
       final FileSystem fileSystem = MemoryFileSystem.test();
  -    final ArtifactSet artifactSet = MockIosUsbArtifacts();
  +    final FakeIosUsbArtifacts artifactSet = FakeIosUsbArtifacts();
       final BufferLogger logger = BufferLogger.test();
   
  -    when(artifactSet.stampName).thenReturn('STAMP');
  +    artifactSet.stampName = 'STAMP';
       final Cache cache = Cache(
         artifacts: <ArtifactSet>[
           artifactSet,
  
positive.code:         logger: logger,
        );
        await expectLater(
          () => cache.updateAll(<DevelopmentArtifact>{null}),
          throwsException,
        );
        verify(artifact1.update(any, any, any, any));
        // Don't continue when retrieval fails.
        verifyNever(artifact2.update(any, any, any, any));
        expect(
          logger.errorText,
          contains('https://flutter.dev/community/china'),
  
negative.code:     });
  
      testWithoutContext('failed storage.googleapis.com download shows China warning', () async {
        final InternetAddress address = (await InternetAddress.lookup('storage.googleapis.com')).first;
        final FakeSecondayCachedArtifact artifact1 = FakeSecondayCachedArtifact()
          ..upToDate = false;
        final FakeSecondayCachedArtifact artifact2 = FakeSecondayCachedArtifact()
          ..upToDate = false
          ..updateException = SocketException(
          'Connection reset by peer',
          address: address,
        );
  
        final BufferLogger logger = BufferLogger.test();
        final Cache cache = Cache.test(
          artifacts: <CachedArtifact>[artifact1, artifact2],
  