anchor.diff:  
       expect(exitCode, equals(1));
     }
  +
  +  test_exit_uninintializedWithShutdown() async {
  +    await sendShutdown();
  +    sendExit();
  +
  +    await client.channel.closed.timeout(const Duration(seconds: 10),
  +        onTimeout: () =>
  +            fail('Server channel did not close within 10 seconds'));
  +
  +    final exitCode = await client.exitCode.timeout(const Duration(seconds: 10),
  +        onTimeout: () => fail('Server process did not exit within 10 seconds'));
  +
  +    expect(exitCode, equals(0));
  +  }
  +
  +  test_exit_uninitializedWithoutShutdown() async {
  +    // This tests the same as test_exit_withoutShutdown but without sending
  +    // initialize. It can't be as strict with the timeout as the server may take
  +    // time to start up (we can't tell when it's ready without sending a request).
  +
  +    sendExit();
  +
  +    await client.channel.closed;
  +    final exitCode = await client.exitCode;
  +
  +    expect(exitCode, equals(1));
  +  }
   }
  
positive.code:     expect(exitCode, equals(0));
    }
  
    test_exit_withoutShutdown() async {
      sendExit();
  
      await client.channel.closed.timeout(const Duration(seconds: 10),
  
negative.code:     expect(responseBody, contains('<title>Analysis Server</title>'));
    }
  
    test_exit_inintializedWithShutdown() async {
      await initialize();
      await sendShutdown();
      sendExit();
  
  