'Like test_ciphers, but for the various key exchanges.'

def test_keyexchanges(self):

    deferreds = []
    for kexAlgorithm in transport.SSHTransportBase.supportedKeyExchanges:
        def setKeyExchange(proto):
            proto.supportedKeyExchanges = [kexAlgorithm]
            return proto
        deferreds.append(self._runClientServer(setKeyExchange))
    return defer.DeferredList(deferreds, fireOnOneErrback=True)
