Add report progress infrastructure #173
GitHub Actions / Test SSH on macOS-latest
failed
Dec 13, 2023 in 1s
Test SSH on macOS-latest ❌
Report | Passed | Failed | Skipped | Time |
---|---|---|---|---|
out/TestResults/SSH-CS-net6.0.trx | 359✅ | 1❌ | 10⚪ | 58s |
out/TestResults/SSH-CS-netcoreapp3.1.trx | 366✅ | 10⚪ | 181s |
❌ out/TestResults/SSH-CS-net6.0.trx
370 tests were completed in 58s with 359 passed, 1 failed and 10 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
Microsoft.DevTunnels.Ssh.Test.ChannelTests | 58✅ | 10s | ||
Microsoft.DevTunnels.Ssh.Test.CryptoTests | 18✅ | 4s | ||
Microsoft.DevTunnels.Ssh.Test.InteropTests | 22✅ | 1❌ | 16s | |
Microsoft.DevTunnels.Ssh.Test.KeyImportExportTests | 87✅ | 10⚪ | 501ms | |
Microsoft.DevTunnels.Ssh.Test.MetricsTests | 8✅ | 4s | ||
Microsoft.DevTunnels.Ssh.Test.MultiChannelStreamTests | 13✅ | 336ms | ||
Microsoft.DevTunnels.Ssh.Test.PipeTests | 22✅ | 2s | ||
Microsoft.DevTunnels.Ssh.Test.PortForwardingTests | 58✅ | 4s | ||
Microsoft.DevTunnels.Ssh.Test.ReconnectTests | 18✅ | 8s | ||
Microsoft.DevTunnels.Ssh.Test.SecureStreamTests | 12✅ | 504ms | ||
Microsoft.DevTunnels.Ssh.Test.ServiceTests | 7✅ | 309ms | ||
Microsoft.DevTunnels.Ssh.Test.SessionTests | 23✅ | 5s | ||
Microsoft.DevTunnels.Ssh.Test.StreamTests | 6✅ | 261ms | ||
Microsoft.DevTunnels.Ssh.Test.VersionTests | 7✅ | 3ms |
✅ Microsoft.DevTunnels.Ssh.Test.ChannelTests
✅ ChannelReceiveWaitsForListener
✅ ChannelRequest(success: False)
✅ ChannelRequest(success: True)
✅ ChannelRequestEarlyCancellation
✅ ChannelRequestHandlerClosesChannel
✅ ChannelRequestHandlerException
✅ ChannelRequestLateCancellation
✅ CloseChannelWithSignal
✅ CloseChannelWithStatus
✅ CloseClientChannel
✅ CloseServerChannel
✅ CloseSessionClosesChannel
✅ CloseSessionClosesChannelWithException
✅ DisposeChannelCloses
✅ OpenAndCloseChannelFromClient(channelType: "test")
✅ OpenAndCloseChannelFromClient(channelType: null)
✅ OpenAndCloseChannelFromServer(channelType: "test")
✅ OpenAndCloseChannelFromServer(channelType: null)
✅ OpenChannelCancelByAcceptor
✅ OpenChannelCancelByOpener
✅ OpenChannelWithMultipleRequests
✅ OpenChannelWithRequest(serverExtension: False, clientExtension: False)
✅ OpenChannelWithRequest(serverExtension: False, clientExtension: True)
✅ OpenChannelWithRequest(serverExtension: True, clientExtension: False)
✅ OpenChannelWithRequest(serverExtension: True, clientExtension: True)
✅ OpenChannelWithRequestFail(serverExtension: False, clientExtension: False)
✅ OpenChannelWithRequestFail(serverExtension: False, clientExtension: True)
✅ OpenChannelWithRequestFail(serverExtension: True, clientExtension: False)
✅ OpenChannelWithRequestFail(serverExtension: True, clientExtension: True)
✅ OpenChannelWithRequestNoReply(serverExtension: False, clientExtension: False)
✅ OpenChannelWithRequestNoReply(serverExtension: False, clientExtension: True)
✅ OpenChannelWithRequestNoReply(serverExtension: True, clientExtension: False)
✅ OpenChannelWithRequestNoReply(serverExtension: True, clientExtension: True)
✅ OpenChannelWithRequestUnauthenticated
✅ SendBlocksOnClosedWindow
✅ SendChannelData(data: [[]])
✅ SendChannelData(data: [[0], []])
✅ SendChannelData(data: [[116, 101, 115, 116], []])
✅ SendChannelData(data: [[65, 65, 65, 65, 65, ...]])
✅ SendChannelDataOverMultipleChannels(data: [[]])
✅ SendChannelDataOverMultipleChannels(data: [[0], []])
✅ SendChannelDataOverMultipleChannels(data: [[116, 101, 115, 116], []])
✅ SendChannelDataOverMultipleChannels(data: [[65, 65, 65, 65, 65, ...]])
✅ SendChannelDataWithOffset
✅ SendIncreasingChannelData
✅ SendLargeChannelData(clientMaxWindowSize: 1048576, serverMaxWindowSize: 1048576)
✅ SendLargeChannelData(clientMaxWindowSize: 1048576, serverMaxWindowSize: 5242880)
✅ SendLargeChannelData(clientMaxWindowSize: 5242880, serverMaxWindowSize: 1048576)
✅ SendLargeDataWithoutAwait
✅ SendServerChannelData(data: [[]])
✅ SendServerChannelData(data: [[0], []])
✅ SendServerChannelData(data: [[116, 101, 115, 116], []])
✅ SendServerChannelData(data: [[65, 65, 65, 65, 65, ...]])
✅ SendWhileOpening
✅ TraceChannelData
✅ UnknownChannelAdjustWindowIsIgnored
✅ UnknownChannelDataIsIgnored
✅ UnknownChannelEofIsIgnored
✅ Microsoft.DevTunnels.Ssh.Test.CryptoTests
✅ EncryptDecrypt(encAlg: "aes256-cbc")
✅ EncryptDecrypt(encAlg: "aes256-ctr")
✅ EncryptDecrypt(encAlg: "aes256-gcm@openssh.com")
✅ Hmac(hmacAlg: "hmac-sha2-256-etm@openssh.com")
✅ Hmac(hmacAlg: "hmac-sha2-256")
✅ Hmac(hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ Hmac(hmacAlg: "hmac-sha2-512")
✅ KeyExchange(kexAlg: "diffie-hellman-group14-sha256")
✅ KeyExchange(kexAlg: "diffie-hellman-group16-sha512")
✅ KeyExchange(kexAlg: "ecdh-sha2-nistp256")
✅ KeyExchange(kexAlg: "ecdh-sha2-nistp384")
✅ KeyExchange(kexAlg: "ecdh-sha2-nistp521")
✅ SignVerify(pkAlg: "ecdsa-sha2-nistp256", keySize: null)
✅ SignVerify(pkAlg: "ecdsa-sha2-nistp384", keySize: null)
✅ SignVerify(pkAlg: "ecdsa-sha2-nistp521", keySize: null)
✅ SignVerify(pkAlg: "rsa-sha2-256", keySize: 1024)
✅ SignVerify(pkAlg: "rsa-sha2-512", keySize: 2048)
✅ SignVerify(pkAlg: "rsa-sha2-512", keySize: 4096)
❌ Microsoft.DevTunnels.Ssh.Test.InteropTests
❌ InteropJumpHostTest
System.Exception : Did not execute test command "echo abc"
sshd process output follows:
/usr/sbin/sshd -D -e -o "LogLevel=VERBOSE" -p 50851 -f "/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpuxgBgY.tmp" -o "AuthorizedKeysFile=/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp05iFu7.tmp" -o "StrictModes=no" -o "PidFile=/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpBGLwt3.tmp" -o "HostKey=/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpwkcVjE.tmp"
Server listening on :: port 50851.
Server listening on 0.0.0.0 port 50851.
Connection from 127.0.0.1 port 50854 on 127.0.0.1 port 50851
Accepted key RSA SHA256:UdKZmXZ2rURV154YmcuBalwjCUyCRUc/CoBSeJ43Gf4 found at /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp05iFu7.tmp:1
Accepted publickey for runner from 127.0.0.1 port 50854 ssh2: RSA SHA256:UdKZmXZ2rURV154YmcuBalwjCUyCRUc/CoBSeJ43Gf4
BSM audit: bsm_audit_session_setup: setaudit_addr failed: Operation not permitted
User child is on pid 4434
Starting session: command for runner from 127.0.0.1 port 50854 id 0
ssh process output follows:
/usr/bin/ssh -v -F "/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp" TargetSsh "echo abc"
OpenSSH_8.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp
debug1: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp line 8: Applying options for TargetSsh
debug1: Setting implicit ProxyCommand from ProxyJump: /usr/bin/ssh -F /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp -v -W '[%h]:%p' VSSsh
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Executing proxy command: exec /usr/bin/ssh -F /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp -v -W '[127.0.0.1]:50851' VSSsh
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp type -1
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.6
OpenSSH_8.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp
debug1: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp line 1: Applying options for VSSsh
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 50852.
debug1: Connection established.
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp type -1
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.6
debug1: Remote protocol version 2.0, remote software version Microsoft.DevTunnels.Ssh_3.11
debug1: compat_banner: no match: Microsoft.DevTunnels.Ssh_3.11
debug1: Authenticating to 127.0.0.1:50852 as 'testuser'
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group14-sha256
debug1: kex: host key algorithm: rsa-sha2-512
debug1: kex: server->client cipher: aes256-ctr MAC: hmac-sha2-512 compression: none
debug1: kex: client->server cipher: aes256-ctr MAC: hmac-sha2-512 compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-rsa SHA256:UHnN+H+f4XQFXHE7FMWLISczBNdqwAfJIuXz5eNu3pY
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '[127.0.0.1]:50852' is known and matches the RSA host key.
debug1: Found key in /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpYec2Dc.tmp:2
debug1: rekey out after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 4294967296 blocks
debug1: Will attempt key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: open-channel-request@microsoft.com (unrecognised)
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: none,password,publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp
debug1: Authentication succeeded (publickey).
Authenticated to 127.0.0.1 ([127.0.0.1]:50852).
debug1: channel_connect_stdio_fwd: 127.0.0.1:50851
debug1: channel 0: new [stdio-forward]
debug1: getpeername failed: Bad file descriptor
debug1: Entering interactive session.
debug1: pledge: network
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.6
debug1: compat_banner: match: OpenSSH_8.6 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 127.0.0.1:50851 as 'runner'
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: rsa-sha2-512
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-rsa SHA256:UHnN+H+f4XQFXHE7FMWLISczBNdqwAfJIuXz5eNu3pY
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '[127.0.0.1]:50851' is known and matches the RSA host key.
debug1: Found key in /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpYec2Dc.tmp:1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,webauthn-sk-ecdsa-sha2-nistp256@openssh.com>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp
debug1: Authentication succeeded (publickey).
Authenticated to 127.0.0.1 (via proxy).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: proc
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Remote: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp05iFu7.tmp:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Sending command: echo abc
---- System.Exception : Did not execute test command "echo abc"
✅ InteropWithSshClientTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshClientTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshClientTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshClientTool(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ InteropWithSshClientTool(kexAlg: "ecdh-sha2-nistp384", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshClientTool(kexAlg: "ecdh-sha2-nistp521", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ InteropWithSshClientTSLib(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512", reconnect: False)
✅ InteropWithSshClientTSLib(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512", reconnect: True)
✅ InteropWithSshClientTSLib(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: False)
✅ InteropWithSshClientTSLib(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: True)
✅ InteropWithSshServerTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshServerTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshServerTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshServerTool(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ InteropWithSshServerTool(kexAlg: "ecdh-sha2-nistp384", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshServerTool(kexAlg: "ecdh-sha2-nistp521", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ InteropWithSshServerTSLib(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512", reconnect: False)
✅ InteropWithSshServerTSLib(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512", reconnect: True)
✅ InteropWithSshServerTSLib(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: False)
✅ InteropWithSshServerTSLib(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: True)
✅ InteropWithSshServerTSLib(kexAlg: "ecdh-sha2-nistp384", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512", reconnect: False)
✅ InteropWithSshServerTSLib(kexAlg: "ecdh-sha2-nistp521", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: True)
✅ Microsoft.DevTunnels.Ssh.Test.KeyImportExportTests
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: "password")
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: "password")
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: "password")
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: "password")
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: null)
✅ ExportImportPublicKeyBytes(algorithm: "ecdsa384", keyFormat: Pkcs8)
✅ ExportImportPublicKeyBytes(algorithm: "ecdsa384", keyFormat: Ssh)
✅ ExportImportPublicKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs1)
✅ ExportImportPublicKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs8)
✅ ExportImportPublicKeyBytes(algorithm: "rsa2048", keyFormat: Ssh)
✅ ExportImportPublicKeyBytes(algorithm: "rsa2048", keyFormat: Ssh2)
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: "password")
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: null)
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: "password")
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: null)
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: "password")
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: null)
✅ ExportPrivateKey(algorithm: "ecdsa521", keyFormat: Pkcs8, passphrase: null)
✅ ExportPrivateKey(algorithm: "ecdsa521", keyFormat: Sec1, passphrase: null)
⚪ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Jwk, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: "password")
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: "password")
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: "password")
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: "password")
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: null)
⚪ ExportPrivateKey(algorithm: "rsa4096", keyFormat: Jwk, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa4096", keyFormat: OpenSsh, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa4096", keyFormat: Pkcs1, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa4096", keyFormat: Pkcs8, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa4096", keyFormat: Ssh2, passphrase: null)
⚪ ExportPublicKey(algorithm: "ecdsa384", keyFormat: Jwk)
✅ ExportPublicKey(algorithm: "ecdsa384", keyFormat: Pkcs8)
✅ ExportPublicKey(algorithm: "ecdsa384", keyFormat: Ssh)
✅ ExportPublicKey(algorithm: "ecdsa521", keyFormat: Pkcs8)
✅ ExportPublicKey(algorithm: "ecdsa521", keyFormat: Ssh)
⚪ ExportPublicKey(algorithm: "rsa2048", keyFormat: Jwk)
✅ ExportPublicKey(algorithm: "rsa2048", keyFormat: Pkcs1)
✅ ExportPublicKey(algorithm: "rsa2048", keyFormat: Pkcs8)
✅ ExportPublicKey(algorithm: "rsa2048", keyFormat: Ssh)
✅ ExportPublicKey(algorithm: "rsa2048", keyFormat: Ssh2)
⚪ ExportPublicKey(algorithm: "rsa4096", keyFormat: Jwk)
✅ ExportPublicKey(algorithm: "rsa4096", keyFormat: Pkcs1)
✅ ExportPublicKey(algorithm: "rsa4096", keyFormat: Pkcs8)
✅ ExportPublicKey(algorithm: "rsa4096", keyFormat: Ssh)
✅ ExportPublicKey(algorithm: "rsa4096", keyFormat: Ssh2)
✅ ExportPublicKeyNotSupported(algorithm: "ecdsa384", keyFormat: Sec1)
⚪ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Jwk, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: "password")
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: "password")
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: "password")
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa521", keyFormat: Pkcs8, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa521", keyFormat: Sec1, passphrase: null)
⚪ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Jwk, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: "password")
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: "password")
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: "password")
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: "password")
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: null)
⚪ ImportPrivateKey(algorithm: "rsa4096", keyFormat: Jwk, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa4096", keyFormat: OpenSsh, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa4096", keyFormat: Pkcs1, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa4096", keyFormat: Pkcs8, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa4096", keyFormat: Ssh2, passphrase: null)
✅ ImportPrivateKeyInvalidPassword(algorithm: "ecdsa384", keyFormat: OpenSsh)
✅ ImportPrivateKeyInvalidPassword(algorithm: "ecdsa384", keyFormat: Pkcs8)
✅ ImportPrivateKeyInvalidPassword(algorithm: "rsa2048", keyFormat: OpenSsh)
✅ ImportPrivateKeyInvalidPassword(algorithm: "rsa2048", keyFormat: Pkcs1)
✅ ImportPrivateKeyInvalidPassword(algorithm: "rsa2048", keyFormat: Pkcs8)
✅ ImportPrivateKeyInvalidPassword(algorithm: "rsa2048", keyFormat: Ssh2)
⚪ ImportPublicKey(algorithm: "ecdsa384", keyFormat: Jwk)
✅ ImportPublicKey(algorithm: "ecdsa384", keyFormat: Pkcs8)
✅ ImportPublicKey(algorithm: "ecdsa384", keyFormat: Ssh)
✅ ImportPublicKey(algorithm: "ecdsa521", keyFormat: Ssh)
⚪ ImportPublicKey(algorithm: "rsa2048", keyFormat: Jwk)
✅ ImportPublicKey(algorithm: "rsa2048", keyFormat: Pkcs1)
✅ ImportPublicKey(algorithm: "rsa2048", keyFormat: Pkcs8)
✅ ImportPublicKey(algorithm: "rsa2048", keyFormat: Ssh)
✅ ImportPublicKey(algorithm: "rsa2048", keyFormat: Ssh2)
✅ ImportPublicKey(algorithm: "rsa4096", keyFormat: Pkcs1)
✅ ImportPublicKey(algorithm: "rsa4096", keyFormat: Pkcs8)
✅ ImportPublicKey(algorithm: "rsa4096", keyFormat: Ssh)
✅ ImportPublicKey(algorithm: "rsa4096", keyFormat: Ssh2)
✅ Microsoft.DevTunnels.Ssh.Test.MetricsTests
✅ ClosedSessionHasNoLatency
✅ ExpandContourIntervals
✅ ExportImportContour
✅ MeasureChannelBytes
✅ MeasureSessionBytes
✅ MeasureSessionLatency
✅ MeasureSessionMessages
✅ RecordSessionContour
✅ Microsoft.DevTunnels.Ssh.Test.MultiChannelStreamTests
✅ ConnectAndRunUntilClosedAsync_Cancelled
✅ Dispose_DisposesTransportStream(disposeAsync: False)
✅ Dispose_DisposesTransportStream(disposeAsync: True)
✅ Dispose_FiresCloseEvent(isConnected: False, disposeAsync: False)
✅ Dispose_FiresCloseEvent(isConnected: False, disposeAsync: True)
✅ Dispose_FiresCloseEvent(isConnected: True, disposeAsync: False)
✅ Dispose_FiresCloseEvent(isConnected: True, disposeAsync: True)
✅ MultiChannelConnect
✅ MultiChannelReadWrite
✅ OpenChannelEvent_FiresWhenChannelOpened
✅ SequentialChannelOpenAccept
✅ SingleChannelConnect
✅ SingleChannelReadWrite
✅ Microsoft.DevTunnels.Ssh.Test.PipeTests
✅ PipeChannelClose(closeTarget: False)
✅ PipeChannelClose(closeTarget: True)
✅ PipeChannelPendingRequest
✅ PipeChannelSend(fromTarget: False)
✅ PipeChannelSend(fromTarget: True)
✅ PipeChannelSendLargeData(fromTarget: False)
✅ PipeChannelSendLargeData(fromTarget: True)
✅ PipeChannelSendSequence(fromTarget: False)
✅ PipeChannelSendSequence(fromTarget: True)
✅ PipeExtensibleChannelOpen
✅ PipeExtensibleChannelRequest(withChannelIdMapping: False)
✅ PipeExtensibleChannelRequest(withChannelIdMapping: True)
✅ PipeExtensibleSessionRequest
✅ PipeSessionChannelOpen(fromTarget: False)
✅ PipeSessionChannelOpen(fromTarget: True)
✅ PipeSessionChannelOpenAndClose(fromTarget: False)
✅ PipeSessionChannelOpenAndClose(fromTarget: True)
✅ PipeSessionChannelSend(fromTarget: False)
✅ PipeSessionChannelSend(fromTarget: True)
✅ PipeSessionClose(closeTarget: False)
✅ PipeSessionClose(closeTarget: True)
✅ PipeSessionPendingRequest
✅ Microsoft.DevTunnels.Ssh.Test.PortForwardingTests
✅ BlockConnectToNonForwardedPort
✅ BlockForwardAlreadyForwardedPort
✅ ConnectToForwardedPort
✅ ConnectToForwardedPortWithoutForwardingConnectionToLocalPort
✅ ConnectToForwardedPortWithTransform
✅ ForwardAndConnectTwoPorts
✅ ForwardFromRemotePortAutoChoose
✅ ForwardFromRemotePortCancel
✅ ForwardFromRemotePortClose(remoteClose: False)
✅ ForwardFromRemotePortClose(remoteClose: True)
✅ ForwardFromRemotePortEndSession(remoteEnd: False)
✅ ForwardFromRemotePortEndSession(remoteEnd: True)
✅ ForwardFromRemotePortError(remoteError: False)
✅ ForwardFromRemotePortError(remoteError: True)
✅ ForwardFromRemotePortInUse
✅ ForwardFromRemotePortRace(acceptLocalConnections: False)
✅ ForwardFromRemotePortRace(acceptLocalConnections: True)
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "::", remoteClientIPAddress: "::1", localForwardHost: "::1", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "::1", remoteClientIPAddress: "::1", localForwardHost: "::1", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "0.0.0.0", remoteClientIPAddress: "::1", localForwardHost: "::1", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "0.0.0.0", remoteClientIPAddress: "127.0.0.1", localForwardHost: "localhost", localServerIPAddress: "127.0.0.1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "::1", localForwardHost: "::1", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "::1", localForwardHost: "localhost", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "127.0.0.1", localForwardHost: "127.0.0.1", localServerIPAddress: "127.0.0.1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "127.0.0.1", localForwardHost: "localhost", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "127.0.0.1", localForwardHost: "localhost", localServerIPAddress: "127.0.0.1")
✅ ForwardFromRemotePortRequest(isRegistered: False, isAuthorized: False)
✅ ForwardFromRemotePortRequest(isRegistered: True, isAuthorized: False)
✅ ForwardFromRemotePortRequest(isRegistered: True, isAuthorized: True)
✅ ForwardFromRemotePortWithListenerFactory
✅ ForwardThroughPipe(fromRemote: False)
✅ ForwardThroughPipe(fromRemote: True)
✅ ForwardToRemotePortAutoChoose
✅ ForwardToRemotePortCancel
✅ ForwardToRemotePortClose(remoteClose: False)
✅ ForwardToRemotePortClose(remoteClose: True)
✅ ForwardToRemotePortEndSession(remoteEnd: False)
✅ ForwardToRemotePortEndSession(remoteEnd: True)
✅ ForwardToRemotePortError(remoteError: False)
✅ ForwardToRemotePortError(remoteError: True)
✅ ForwardToRemotePortInUse
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "::", localClientIPAddress: "::1", remoteForwardHost: "::1", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "::1", localClientIPAddress: "::1", remoteForwardHost: "::1", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "0.0.0.0", localClientIPAddress: "::1", remoteForwardHost: "::1", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "0.0.0.0", localClientIPAddress: "127.0.0.1", remoteForwardHost: "localhost", remoteServerIPAddress: "127.0.0.1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "::1", remoteForwardHost: "::1", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "::1", remoteForwardHost: "localhost", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "127.0.0.1", remoteForwardHost: "127.0.0.1", remoteServerIPAddress: "127.0.0.1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "127.0.0.1", remoteForwardHost: "localhost", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "127.0.0.1", remoteForwardHost: "localhost", remoteServerIPAddress: "127.0.0.1")
✅ ForwardToRemotePortRequest
✅ ForwardToRemotePortUnauthorized
✅ RaiseForwardedPortEvents
✅ ReforwardingTheSamePortWhenNotAcceptLocalConnectionsForForwardedPorts
✅ StreamFromRemotePort(autoChoose: False)
✅ StreamFromRemotePort(autoChoose: True)
✅ StreamToRemotePort
✅ StreamToRemotePortError
✅ Microsoft.DevTunnels.Ssh.Test.ReconnectTests
✅ AcceptChannelOnServerReconnect
✅ DisconnectViaClientSessionClose
✅ DisconnectViaServerSessionClose
✅ DisconnectViaStreamClose
✅ DisconnectViaStreamException
✅ MultiReconnect
✅ Reconnect
✅ ReconnectAfterInterruptedReconnect
✅ ReconnectBeforeServerDisconnected
✅ ReconnectChannel
✅ ReconnectSessionNotFound
✅ ReconnectThenKeyExchange
✅ ReconnectWhileStreaming
✅ ReconnectWithRetransmittedClientData
✅ ReconnectWithRetransmittedServerData
✅ ReconnectWrongHostKey
✅ ReconnectWrongSessionId
✅ SendWhileDisconnected
✅ Microsoft.DevTunnels.Ssh.Test.SecureStreamTests
✅ AuthenticateClient(authenticateSuccess: False)
✅ AuthenticateClient(authenticateSuccess: True)
✅ AuthenticateServer(authenticateSuccess: False)
✅ AuthenticateServer(authenticateSuccess: True)
✅ DisposeClosesTransportStream(disposeAsync: False)
✅ DisposeClosesTransportStream(disposeAsync: True)
✅ DisposeRaisesCloseEvent(isConnected: False, disposeAsync: False)
✅ DisposeRaisesCloseEvent(isConnected: False, disposeAsync: True)
✅ DisposeRaisesCloseEvent(isConnected: True, disposeAsync: False)
✅ DisposeRaisesCloseEvent(isConnected: True, disposeAsync: True)
✅ ReadWrite
✅ ReconnectSecureStream
✅ Microsoft.DevTunnels.Ssh.Test.ServiceTests
✅ ActivateOnChannelRequest
✅ ActivateOnChannelType
✅ ActivateOnChannelTypeChannelRequest
✅ ActivateOnServiceRequest
✅ ActivateOnSessionRequest
✅ SendDebugMessage
✅ SendUnimplementedMessage
✅ Microsoft.DevTunnels.Ssh.Test.SessionTests
✅ AuthenticateCallbackException
✅ AuthenticateClientPublicKeyQuery(result: False)
✅ AuthenticateClientPublicKeyQuery(result: True)
✅ AuthenticateClientWithNoCredentials
✅ AuthenticateClientWithPassword
✅ AuthenticateClientWithPasswordFail
✅ AuthenticateClientWithPublicKey(pkAlgorithmName: "ecdsa-sha2-nistp256", keySize: null)
✅ AuthenticateClientWithPublicKey(pkAlgorithmName: "ecdsa-sha2-nistp384", keySize: null)
✅ AuthenticateClientWithPublicKey(pkAlgorithmName: "rsa-sha2-256", keySize: 2048)
✅ AuthenticateClientWithPublicKey(pkAlgorithmName: "rsa-sha2-512", keySize: 4096)
✅ AuthenticateClientWithPublicKeyFail
✅ AuthenticateConnectionException
✅ AuthenticateInteractive
✅ AuthenticateServerFail
✅ CloseClientSession
✅ CloseServerSession
✅ CloseSessionStream
✅ NegotiateNoKeyExchange(clientForce: False)
✅ NegotiateNoKeyExchange(clientForce: True)
✅ OpenSessionWithMultipleRequests
✅ OverlappingSessionRequests
✅ SendWhileDisconnected
✅ SessionRequestUnauthenticated
✅ Microsoft.DevTunnels.Ssh.Test.StreamTests
✅ ClosedStreamCannotReadOrWrite
✅ CloseStreamClosesChannel
✅ StreamData(data: [[]])
✅ StreamData(data: [[0], []])
✅ StreamData(data: [[116, 101, 115, 116], []])
✅ StreamData(data: [[65, 65, 65, 65, 65, ...]])
✅ Microsoft.DevTunnels.Ssh.Test.VersionTests
✅ GetLocalVersion
✅ ParseOpenSshForWindowsVersion
✅ ParseOpenSshVersion
✅ ParseOpenSshVersionWithExtraInfo
✅ ParseVsSshCSVersion
✅ ParseVsSSHTSVersion
✅ ParseWithNoSoftwareVersion
✅ out/TestResults/SSH-CS-netcoreapp3.1.trx
376 tests were completed in 181s with 366 passed, 0 failed and 10 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
Microsoft.DevTunnels.Ssh.Test.ChannelTests | 58✅ | 35s | ||
Microsoft.DevTunnels.Ssh.Test.CryptoTests | 18✅ | 18s | ||
Microsoft.DevTunnels.Ssh.Test.InteropTests | 23✅ | 31s | ||
Microsoft.DevTunnels.Ssh.Test.KeyImportExportTests | 87✅ | 10⚪ | 3s | |
Microsoft.DevTunnels.Ssh.Test.MetricsTests | 8✅ | 6s | ||
Microsoft.DevTunnels.Ssh.Test.MultiChannelStreamTests | 13✅ | 380ms | ||
Microsoft.DevTunnels.Ssh.Test.PipeTests | 22✅ | 18s | ||
Microsoft.DevTunnels.Ssh.Test.PortForwardingTests | 58✅ | 26s | ||
Microsoft.DevTunnels.Ssh.Test.ReconnectTests | 18✅ | 21s | ||
Microsoft.DevTunnels.Ssh.Test.SecureStreamTests | 12✅ | 5s | ||
Microsoft.DevTunnels.Ssh.Test.ServiceTests | 7✅ | 2s | ||
Microsoft.DevTunnels.Ssh.Test.SessionTests | 23✅ | 12s | ||
Microsoft.DevTunnels.Ssh.Test.StreamTests | 6✅ | 2s | ||
Microsoft.DevTunnels.Ssh.Test.TaskExtensionsTests | 6✅ | 27ms | ||
Microsoft.DevTunnels.Ssh.Test.VersionTests | 7✅ | 2ms |
✅ Microsoft.DevTunnels.Ssh.Test.ChannelTests
✅ ChannelReceiveWaitsForListener
✅ ChannelRequest(success: False)
✅ ChannelRequest(success: True)
✅ ChannelRequestEarlyCancellation
✅ ChannelRequestHandlerClosesChannel
✅ ChannelRequestHandlerException
✅ ChannelRequestLateCancellation
✅ CloseChannelWithSignal
✅ CloseChannelWithStatus
✅ CloseClientChannel
✅ CloseServerChannel
✅ CloseSessionClosesChannel
✅ CloseSessionClosesChannelWithException
✅ DisposeChannelCloses
✅ OpenAndCloseChannelFromClient(channelType: "test")
✅ OpenAndCloseChannelFromClient(channelType: null)
✅ OpenAndCloseChannelFromServer(channelType: "test")
✅ OpenAndCloseChannelFromServer(channelType: null)
✅ OpenChannelCancelByAcceptor
✅ OpenChannelCancelByOpener
✅ OpenChannelWithMultipleRequests
✅ OpenChannelWithRequest(serverExtension: False, clientExtension: False)
✅ OpenChannelWithRequest(serverExtension: False, clientExtension: True)
✅ OpenChannelWithRequest(serverExtension: True, clientExtension: False)
✅ OpenChannelWithRequest(serverExtension: True, clientExtension: True)
✅ OpenChannelWithRequestFail(serverExtension: False, clientExtension: False)
✅ OpenChannelWithRequestFail(serverExtension: False, clientExtension: True)
✅ OpenChannelWithRequestFail(serverExtension: True, clientExtension: False)
✅ OpenChannelWithRequestFail(serverExtension: True, clientExtension: True)
✅ OpenChannelWithRequestNoReply(serverExtension: False, clientExtension: False)
✅ OpenChannelWithRequestNoReply(serverExtension: False, clientExtension: True)
✅ OpenChannelWithRequestNoReply(serverExtension: True, clientExtension: False)
✅ OpenChannelWithRequestNoReply(serverExtension: True, clientExtension: True)
✅ OpenChannelWithRequestUnauthenticated
✅ SendBlocksOnClosedWindow
✅ SendChannelData(data: [[]])
✅ SendChannelData(data: [[0], []])
✅ SendChannelData(data: [[116, 101, 115, 116], []])
✅ SendChannelData(data: [[65, 65, 65, 65, 65, ...]])
✅ SendChannelDataOverMultipleChannels(data: [[]])
✅ SendChannelDataOverMultipleChannels(data: [[0], []])
✅ SendChannelDataOverMultipleChannels(data: [[116, 101, 115, 116], []])
✅ SendChannelDataOverMultipleChannels(data: [[65, 65, 65, 65, 65, ...]])
✅ SendChannelDataWithOffset
✅ SendIncreasingChannelData
✅ SendLargeChannelData(clientMaxWindowSize: 1048576, serverMaxWindowSize: 1048576)
✅ SendLargeChannelData(clientMaxWindowSize: 1048576, serverMaxWindowSize: 5242880)
✅ SendLargeChannelData(clientMaxWindowSize: 5242880, serverMaxWindowSize: 1048576)
✅ SendLargeDataWithoutAwait
✅ SendServerChannelData(data: [[]])
✅ SendServerChannelData(data: [[0], []])
✅ SendServerChannelData(data: [[116, 101, 115, 116], []])
✅ SendServerChannelData(data: [[65, 65, 65, 65, 65, ...]])
✅ SendWhileOpening
✅ TraceChannelData
✅ UnknownChannelAdjustWindowIsIgnored
✅ UnknownChannelDataIsIgnored
✅ UnknownChannelEofIsIgnored
✅ Microsoft.DevTunnels.Ssh.Test.CryptoTests
✅ EncryptDecrypt(encAlg: "aes256-cbc")
✅ EncryptDecrypt(encAlg: "aes256-ctr")
✅ EncryptDecrypt(encAlg: "aes256-gcm@openssh.com")
✅ Hmac(hmacAlg: "hmac-sha2-256-etm@openssh.com")
✅ Hmac(hmacAlg: "hmac-sha2-256")
✅ Hmac(hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ Hmac(hmacAlg: "hmac-sha2-512")
✅ KeyExchange(kexAlg: "diffie-hellman-group14-sha256")
✅ KeyExchange(kexAlg: "diffie-hellman-group16-sha512")
✅ KeyExchange(kexAlg: "ecdh-sha2-nistp256")
✅ KeyExchange(kexAlg: "ecdh-sha2-nistp384")
✅ KeyExchange(kexAlg: "ecdh-sha2-nistp521")
✅ SignVerify(pkAlg: "ecdsa-sha2-nistp256", keySize: null)
✅ SignVerify(pkAlg: "ecdsa-sha2-nistp384", keySize: null)
✅ SignVerify(pkAlg: "ecdsa-sha2-nistp521", keySize: null)
✅ SignVerify(pkAlg: "rsa-sha2-256", keySize: 1024)
✅ SignVerify(pkAlg: "rsa-sha2-512", keySize: 2048)
✅ SignVerify(pkAlg: "rsa-sha2-512", keySize: 4096)
✅ Microsoft.DevTunnels.Ssh.Test.InteropTests
✅ InteropJumpHostTest
✅ InteropWithSshClientTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshClientTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshClientTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshClientTool(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ InteropWithSshClientTool(kexAlg: "ecdh-sha2-nistp384", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshClientTool(kexAlg: "ecdh-sha2-nistp521", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ InteropWithSshClientTSLib(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512", reconnect: False)
✅ InteropWithSshClientTSLib(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512", reconnect: True)
✅ InteropWithSshClientTSLib(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: False)
✅ InteropWithSshClientTSLib(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: True)
✅ InteropWithSshServerTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshServerTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshServerTool(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshServerTool(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ InteropWithSshServerTool(kexAlg: "ecdh-sha2-nistp384", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512")
✅ InteropWithSshServerTool(kexAlg: "ecdh-sha2-nistp521", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512-etm@openssh.com")
✅ InteropWithSshServerTSLib(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512", reconnect: False)
✅ InteropWithSshServerTSLib(kexAlg: "diffie-hellman-group14-sha256", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512", reconnect: True)
✅ InteropWithSshServerTSLib(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: False)
✅ InteropWithSshServerTSLib(kexAlg: "diffie-hellman-group16-sha512", pkAlg: "rsa-sha2-512", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: True)
✅ InteropWithSshServerTSLib(kexAlg: "ecdh-sha2-nistp384", pkAlg: "ecdsa-sha2-nistp384", hmacAlg: "hmac-sha2-512", reconnect: False)
✅ InteropWithSshServerTSLib(kexAlg: "ecdh-sha2-nistp521", pkAlg: "ecdsa-sha2-nistp521", hmacAlg: "hmac-sha2-512-etm@openssh.com", reconnect: True)
✅ Microsoft.DevTunnels.Ssh.Test.KeyImportExportTests
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: "password")
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: "password")
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: "password")
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: "password")
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: null)
✅ ExportImportPrivateKeyBytes(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: null)
✅ ExportImportPublicKeyBytes(algorithm: "ecdsa384", keyFormat: Pkcs8)
✅ ExportImportPublicKeyBytes(algorithm: "ecdsa384", keyFormat: Ssh)
✅ ExportImportPublicKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs1)
✅ ExportImportPublicKeyBytes(algorithm: "rsa2048", keyFormat: Pkcs8)
✅ ExportImportPublicKeyBytes(algorithm: "rsa2048", keyFormat: Ssh)
✅ ExportImportPublicKeyBytes(algorithm: "rsa2048", keyFormat: Ssh2)
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: "password")
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: null)
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: "password")
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: null)
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: "password")
✅ ExportPrivateKey(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: null)
✅ ExportPrivateKey(algorithm: "ecdsa521", keyFormat: Pkcs8, passphrase: null)
✅ ExportPrivateKey(algorithm: "ecdsa521", keyFormat: Sec1, passphrase: null)
⚪ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Jwk, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: "password")
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: "password")
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: "password")
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: "password")
✅ ExportPrivateKey(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: null)
⚪ ExportPrivateKey(algorithm: "rsa4096", keyFormat: Jwk, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa4096", keyFormat: OpenSsh, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa4096", keyFormat: Pkcs1, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa4096", keyFormat: Pkcs8, passphrase: null)
✅ ExportPrivateKey(algorithm: "rsa4096", keyFormat: Ssh2, passphrase: null)
⚪ ExportPublicKey(algorithm: "ecdsa384", keyFormat: Jwk)
✅ ExportPublicKey(algorithm: "ecdsa384", keyFormat: Pkcs8)
✅ ExportPublicKey(algorithm: "ecdsa384", keyFormat: Ssh)
✅ ExportPublicKey(algorithm: "ecdsa521", keyFormat: Pkcs8)
✅ ExportPublicKey(algorithm: "ecdsa521", keyFormat: Ssh)
⚪ ExportPublicKey(algorithm: "rsa2048", keyFormat: Jwk)
✅ ExportPublicKey(algorithm: "rsa2048", keyFormat: Pkcs1)
✅ ExportPublicKey(algorithm: "rsa2048", keyFormat: Pkcs8)
✅ ExportPublicKey(algorithm: "rsa2048", keyFormat: Ssh)
✅ ExportPublicKey(algorithm: "rsa2048", keyFormat: Ssh2)
⚪ ExportPublicKey(algorithm: "rsa4096", keyFormat: Jwk)
✅ ExportPublicKey(algorithm: "rsa4096", keyFormat: Pkcs1)
✅ ExportPublicKey(algorithm: "rsa4096", keyFormat: Pkcs8)
✅ ExportPublicKey(algorithm: "rsa4096", keyFormat: Ssh)
✅ ExportPublicKey(algorithm: "rsa4096", keyFormat: Ssh2)
✅ ExportPublicKeyNotSupported(algorithm: "ecdsa384", keyFormat: Sec1)
⚪ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Jwk, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: "password")
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: OpenSsh, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: "password")
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Pkcs8, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: "password")
✅ ImportPrivateKey(algorithm: "ecdsa384", keyFormat: Sec1, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa521", keyFormat: Pkcs8, passphrase: null)
✅ ImportPrivateKey(algorithm: "ecdsa521", keyFormat: Sec1, passphrase: null)
⚪ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Jwk, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: "password")
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: OpenSsh, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: "password")
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs1, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: "password")
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Pkcs8, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: "password")
✅ ImportPrivateKey(algorithm: "rsa2048", keyFormat: Ssh2, passphrase: null)
⚪ ImportPrivateKey(algorithm: "rsa4096", keyFormat: Jwk, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa4096", keyFormat: OpenSsh, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa4096", keyFormat: Pkcs1, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa4096", keyFormat: Pkcs8, passphrase: null)
✅ ImportPrivateKey(algorithm: "rsa4096", keyFormat: Ssh2, passphrase: null)
✅ ImportPrivateKeyInvalidPassword(algorithm: "ecdsa384", keyFormat: OpenSsh)
✅ ImportPrivateKeyInvalidPassword(algorithm: "ecdsa384", keyFormat: Pkcs8)
✅ ImportPrivateKeyInvalidPassword(algorithm: "rsa2048", keyFormat: OpenSsh)
✅ ImportPrivateKeyInvalidPassword(algorithm: "rsa2048", keyFormat: Pkcs1)
✅ ImportPrivateKeyInvalidPassword(algorithm: "rsa2048", keyFormat: Pkcs8)
✅ ImportPrivateKeyInvalidPassword(algorithm: "rsa2048", keyFormat: Ssh2)
⚪ ImportPublicKey(algorithm: "ecdsa384", keyFormat: Jwk)
✅ ImportPublicKey(algorithm: "ecdsa384", keyFormat: Pkcs8)
✅ ImportPublicKey(algorithm: "ecdsa384", keyFormat: Ssh)
✅ ImportPublicKey(algorithm: "ecdsa521", keyFormat: Ssh)
⚪ ImportPublicKey(algorithm: "rsa2048", keyFormat: Jwk)
✅ ImportPublicKey(algorithm: "rsa2048", keyFormat: Pkcs1)
✅ ImportPublicKey(algorithm: "rsa2048", keyFormat: Pkcs8)
✅ ImportPublicKey(algorithm: "rsa2048", keyFormat: Ssh)
✅ ImportPublicKey(algorithm: "rsa2048", keyFormat: Ssh2)
✅ ImportPublicKey(algorithm: "rsa4096", keyFormat: Pkcs1)
✅ ImportPublicKey(algorithm: "rsa4096", keyFormat: Pkcs8)
✅ ImportPublicKey(algorithm: "rsa4096", keyFormat: Ssh)
✅ ImportPublicKey(algorithm: "rsa4096", keyFormat: Ssh2)
✅ Microsoft.DevTunnels.Ssh.Test.MetricsTests
✅ ClosedSessionHasNoLatency
✅ ExpandContourIntervals
✅ ExportImportContour
✅ MeasureChannelBytes
✅ MeasureSessionBytes
✅ MeasureSessionLatency
✅ MeasureSessionMessages
✅ RecordSessionContour
✅ Microsoft.DevTunnels.Ssh.Test.MultiChannelStreamTests
✅ ConnectAndRunUntilClosedAsync_Cancelled
✅ Dispose_DisposesTransportStream(disposeAsync: False)
✅ Dispose_DisposesTransportStream(disposeAsync: True)
✅ Dispose_FiresCloseEvent(isConnected: False, disposeAsync: False)
✅ Dispose_FiresCloseEvent(isConnected: False, disposeAsync: True)
✅ Dispose_FiresCloseEvent(isConnected: True, disposeAsync: False)
✅ Dispose_FiresCloseEvent(isConnected: True, disposeAsync: True)
✅ MultiChannelConnect
✅ MultiChannelReadWrite
✅ OpenChannelEvent_FiresWhenChannelOpened
✅ SequentialChannelOpenAccept
✅ SingleChannelConnect
✅ SingleChannelReadWrite
✅ Microsoft.DevTunnels.Ssh.Test.PipeTests
✅ PipeChannelClose(closeTarget: False)
✅ PipeChannelClose(closeTarget: True)
✅ PipeChannelPendingRequest
✅ PipeChannelSend(fromTarget: False)
✅ PipeChannelSend(fromTarget: True)
✅ PipeChannelSendLargeData(fromTarget: False)
✅ PipeChannelSendLargeData(fromTarget: True)
✅ PipeChannelSendSequence(fromTarget: False)
✅ PipeChannelSendSequence(fromTarget: True)
✅ PipeExtensibleChannelOpen
✅ PipeExtensibleChannelRequest(withChannelIdMapping: False)
✅ PipeExtensibleChannelRequest(withChannelIdMapping: True)
✅ PipeExtensibleSessionRequest
✅ PipeSessionChannelOpen(fromTarget: False)
✅ PipeSessionChannelOpen(fromTarget: True)
✅ PipeSessionChannelOpenAndClose(fromTarget: False)
✅ PipeSessionChannelOpenAndClose(fromTarget: True)
✅ PipeSessionChannelSend(fromTarget: False)
✅ PipeSessionChannelSend(fromTarget: True)
✅ PipeSessionClose(closeTarget: False)
✅ PipeSessionClose(closeTarget: True)
✅ PipeSessionPendingRequest
✅ Microsoft.DevTunnels.Ssh.Test.PortForwardingTests
✅ BlockConnectToNonForwardedPort
✅ BlockForwardAlreadyForwardedPort
✅ ConnectToForwardedPort
✅ ConnectToForwardedPortWithoutForwardingConnectionToLocalPort
✅ ConnectToForwardedPortWithTransform
✅ ForwardAndConnectTwoPorts
✅ ForwardFromRemotePortAutoChoose
✅ ForwardFromRemotePortCancel
✅ ForwardFromRemotePortClose(remoteClose: False)
✅ ForwardFromRemotePortClose(remoteClose: True)
✅ ForwardFromRemotePortEndSession(remoteEnd: False)
✅ ForwardFromRemotePortEndSession(remoteEnd: True)
✅ ForwardFromRemotePortError(remoteError: False)
✅ ForwardFromRemotePortError(remoteError: True)
✅ ForwardFromRemotePortInUse
✅ ForwardFromRemotePortRace(acceptLocalConnections: False)
✅ ForwardFromRemotePortRace(acceptLocalConnections: True)
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "::", remoteClientIPAddress: "::1", localForwardHost: "::1", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "::1", remoteClientIPAddress: "::1", localForwardHost: "::1", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "0.0.0.0", remoteClientIPAddress: "::1", localForwardHost: "::1", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "0.0.0.0", remoteClientIPAddress: "127.0.0.1", localForwardHost: "localhost", localServerIPAddress: "127.0.0.1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "::1", localForwardHost: "::1", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "::1", localForwardHost: "localhost", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "127.0.0.1", localForwardHost: "127.0.0.1", localServerIPAddress: "127.0.0.1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "127.0.0.1", localForwardHost: "localhost", localServerIPAddress: "::1")
✅ ForwardFromRemotePortReadWrite(remoteServerIPAddress: "127.0.0.1", remoteClientIPAddress: "127.0.0.1", localForwardHost: "localhost", localServerIPAddress: "127.0.0.1")
✅ ForwardFromRemotePortRequest(isRegistered: False, isAuthorized: False)
✅ ForwardFromRemotePortRequest(isRegistered: True, isAuthorized: False)
✅ ForwardFromRemotePortRequest(isRegistered: True, isAuthorized: True)
✅ ForwardFromRemotePortWithListenerFactory
✅ ForwardThroughPipe(fromRemote: False)
✅ ForwardThroughPipe(fromRemote: True)
✅ ForwardToRemotePortAutoChoose
✅ ForwardToRemotePortCancel
✅ ForwardToRemotePortClose(remoteClose: False)
✅ ForwardToRemotePortClose(remoteClose: True)
✅ ForwardToRemotePortEndSession(remoteEnd: False)
✅ ForwardToRemotePortEndSession(remoteEnd: True)
✅ ForwardToRemotePortError(remoteError: False)
✅ ForwardToRemotePortError(remoteError: True)
✅ ForwardToRemotePortInUse
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "::", localClientIPAddress: "::1", remoteForwardHost: "::1", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "::1", localClientIPAddress: "::1", remoteForwardHost: "::1", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "0.0.0.0", localClientIPAddress: "::1", remoteForwardHost: "::1", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "0.0.0.0", localClientIPAddress: "127.0.0.1", remoteForwardHost: "localhost", remoteServerIPAddress: "127.0.0.1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "::1", remoteForwardHost: "::1", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "::1", remoteForwardHost: "localhost", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "127.0.0.1", remoteForwardHost: "127.0.0.1", remoteServerIPAddress: "127.0.0.1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "127.0.0.1", remoteForwardHost: "localhost", remoteServerIPAddress: "::1")
✅ ForwardToRemotePortReadWrite(localServerIPAddress: "127.0.0.1", localClientIPAddress: "127.0.0.1", remoteForwardHost: "localhost", remoteServerIPAddress: "127.0.0.1")
✅ ForwardToRemotePortRequest
✅ ForwardToRemotePortUnauthorized
✅ RaiseForwardedPortEvents
✅ ReforwardingTheSamePortWhenNotAcceptLocalConnectionsForForwardedPorts
✅ StreamFromRemotePort(autoChoose: False)
✅ StreamFromRemotePort(autoChoose: True)
✅ StreamToRemotePort
✅ StreamToRemotePortError
✅ Microsoft.DevTunnels.Ssh.Test.ReconnectTests
✅ AcceptChannelOnServerReconnect
✅ DisconnectViaClientSessionClose
✅ DisconnectViaServerSessionClose
✅ DisconnectViaStreamClose
✅ DisconnectViaStreamException
✅ MultiReconnect
✅ Reconnect
✅ ReconnectAfterInterruptedReconnect
✅ ReconnectBeforeServerDisconnected
✅ ReconnectChannel
✅ ReconnectSessionNotFound
✅ ReconnectThenKeyExchange
✅ ReconnectWhileStreaming
✅ ReconnectWithRetransmittedClientData
✅ ReconnectWithRetransmittedServerData
✅ ReconnectWrongHostKey
✅ ReconnectWrongSessionId
✅ SendWhileDisconnected
✅ Microsoft.DevTunnels.Ssh.Test.SecureStreamTests
✅ AuthenticateClient(authenticateSuccess: False)
✅ AuthenticateClient(authenticateSuccess: True)
✅ AuthenticateServer(authenticateSuccess: False)
✅ AuthenticateServer(authenticateSuccess: True)
✅ DisposeClosesTransportStream(disposeAsync: False)
✅ DisposeClosesTransportStream(disposeAsync: True)
✅ DisposeRaisesCloseEvent(isConnected: False, disposeAsync: False)
✅ DisposeRaisesCloseEvent(isConnected: False, disposeAsync: True)
✅ DisposeRaisesCloseEvent(isConnected: True, disposeAsync: False)
✅ DisposeRaisesCloseEvent(isConnected: True, disposeAsync: True)
✅ ReadWrite
✅ ReconnectSecureStream
✅ Microsoft.DevTunnels.Ssh.Test.ServiceTests
✅ ActivateOnChannelRequest
✅ ActivateOnChannelType
✅ ActivateOnChannelTypeChannelRequest
✅ ActivateOnServiceRequest
✅ ActivateOnSessionRequest
✅ SendDebugMessage
✅ SendUnimplementedMessage
✅ Microsoft.DevTunnels.Ssh.Test.SessionTests
✅ AuthenticateCallbackException
✅ AuthenticateClientPublicKeyQuery(result: False)
✅ AuthenticateClientPublicKeyQuery(result: True)
✅ AuthenticateClientWithNoCredentials
✅ AuthenticateClientWithPassword
✅ AuthenticateClientWithPasswordFail
✅ AuthenticateClientWithPublicKey(pkAlgorithmName: "ecdsa-sha2-nistp256", keySize: null)
✅ AuthenticateClientWithPublicKey(pkAlgorithmName: "ecdsa-sha2-nistp384", keySize: null)
✅ AuthenticateClientWithPublicKey(pkAlgorithmName: "rsa-sha2-256", keySize: 2048)
✅ AuthenticateClientWithPublicKey(pkAlgorithmName: "rsa-sha2-512", keySize: 4096)
✅ AuthenticateClientWithPublicKeyFail
✅ AuthenticateConnectionException
✅ AuthenticateInteractive
✅ AuthenticateServerFail
✅ CloseClientSession
✅ CloseServerSession
✅ CloseSessionStream
✅ NegotiateNoKeyExchange(clientForce: False)
✅ NegotiateNoKeyExchange(clientForce: True)
✅ OpenSessionWithMultipleRequests
✅ OverlappingSessionRequests
✅ SendWhileDisconnected
✅ SessionRequestUnauthenticated
✅ Microsoft.DevTunnels.Ssh.Test.StreamTests
✅ ClosedStreamCannotReadOrWrite
✅ CloseStreamClosesChannel
✅ StreamData(data: [[]])
✅ StreamData(data: [[0], []])
✅ StreamData(data: [[116, 101, 115, 116], []])
✅ StreamData(data: [[65, 65, 65, 65, 65, ...]])
✅ Microsoft.DevTunnels.Ssh.Test.TaskExtensionsTests
✅ WaitAsync_Cancelled
✅ WaitAsync_CannotBeCancelled
✅ WaitAsync_ReturnsResult
✅ WaitAsync_ThrowsException
✅ WaitAsync_ThrowsForCancellation
✅ WaitAsync_ThrowsForNullTask
✅ Microsoft.DevTunnels.Ssh.Test.VersionTests
✅ GetLocalVersion
✅ ParseOpenSshForWindowsVersion
✅ ParseOpenSshVersion
✅ ParseOpenSshVersionWithExtraInfo
✅ ParseVsSshCSVersion
✅ ParseVsSSHTSVersion
✅ ParseWithNoSoftwareVersion
Annotations
Check failure on line 647 in test/cs/Ssh.Test/InteropTests.cs
github-actions / Test SSH on macOS-latest
Microsoft.DevTunnels.Ssh.Test.InteropTests ► InteropJumpHostTest
Failed test found in:
out/TestResults/SSH-CS-net6.0.trx
Error:
System.Exception : Did not execute test command "echo abc"
sshd process output follows:
/usr/sbin/sshd -D -e -o "LogLevel=VERBOSE" -p 50851 -f "/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpuxgBgY.tmp" -o "AuthorizedKeysFile=/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp05iFu7.tmp" -o "StrictModes=no" -o "PidFile=/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpBGLwt3.tmp" -o "HostKey=/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpwkcVjE.tmp"
Server listening on :: port 50851.
Server listening on 0.0.0.0 port 50851.
Connection from 127.0.0.1 port 50854 on 127.0.0.1 port 50851
Accepted key RSA SHA256:UdKZmXZ2rURV154YmcuBalwjCUyCRUc/CoBSeJ43Gf4 found at /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp05iFu7.tmp:1
Accepted publickey for runner from 127.0.0.1 port 50854 ssh2: RSA SHA256:UdKZmXZ2rURV154YmcuBalwjCUyCRUc/CoBSeJ43Gf4
BSM audit: bsm_audit_session_setup: setaudit_addr failed: Operation not permitted
User child is on pid 4434
Starting session: command for runner from 127.0.0.1 port 50854 id 0
ssh process output follows:
/usr/bin/ssh -v -F "/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp" TargetSsh "echo abc"
OpenSSH_8.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp
debug1: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp line 8: Applying options for TargetSsh
debug1: Setting implicit ProxyCommand from ProxyJump: /usr/bin/ssh -F /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp -v -W '[%h]:%p' VSSsh
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Executing proxy command: exec /usr/bin/ssh -F /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp -v -W '[127.0.0.1]:50851' VSSsh
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp type -1
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.6
OpenSSH_8.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp
debug1: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp line 1: Applying options for VSSsh
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 50852.
debug1: Connection established.
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp type -1
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.6
debug1: Remote protocol version 2.0, remote software version Microsoft.DevTunnels.Ssh_3.11
debug1: compat_banner: no match: Microsoft.DevTunnels.Ssh_3.11
debug1: Authenticating to 127.0.0.1:50852 as 'testuser'
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group14-sha256
debug1: kex: host key algorithm: rsa-sha2-512
debug1: kex: server->client cipher: aes256-ctr MAC: hmac-sha2-512 compression: none
debug1: kex: client->server cipher: aes256-ctr MAC: hmac-sha2-512 compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-rsa SHA256:UHnN+H+f4XQFXHE7FMWLISczBNdqwAfJIuXz5eNu3pY
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '[127.0.0.1]:50852' is known and matches the RSA host key.
debug1: Found key in /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpYec2Dc.tmp:2
debug1: rekey out after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 4294967296 blocks
debug1: Will attempt key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: open-channel-request@microsoft.com (unrecognised)
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: none,password,publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp
debug1: Authentication succeeded (publickey).
Authenticated to 127.0.0.1 ([127.0.0.1]:50852).
debug1: channel_connect_stdio_fwd: 127.0.0.1:50851
debug1: channel 0: new [stdio-forward]
debug1: getpeername failed: Bad file descriptor
debug1: Entering interactive session.
debug1: pledge: network
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.6
debug1: compat_banner: match: OpenSSH_8.6 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 127.0.0.1:50851 as 'runner'
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: rsa-sha2-512
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-rsa SHA256:UHnN+H+f4XQFXHE7FMWLISczBNdqwAfJIuXz5eNu3pY
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '[127.0.0.1]:50851' is known and matches the RSA host key.
debug1: Found key in /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpYec2Dc.tmp:1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,webauthn-sk-ecdsa-sha2-nistp256@openssh.com>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp
debug1: Authentication succeeded (publickey).
Authenticated to 127.0.0.1 (via proxy).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: proc
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Remote: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp05iFu7.tmp:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Sending command: echo abc
---- System.Exception : Did not execute test command "echo abc"
Raw output
System.Exception : Did not execute test command "echo abc"
sshd process output follows:
/usr/sbin/sshd -D -e -o "LogLevel=VERBOSE" -p 50851 -f "/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpuxgBgY.tmp" -o "AuthorizedKeysFile=/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp05iFu7.tmp" -o "StrictModes=no" -o "PidFile=/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpBGLwt3.tmp" -o "HostKey=/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpwkcVjE.tmp"
Server listening on :: port 50851.
Server listening on 0.0.0.0 port 50851.
Connection from 127.0.0.1 port 50854 on 127.0.0.1 port 50851
Accepted key RSA SHA256:UdKZmXZ2rURV154YmcuBalwjCUyCRUc/CoBSeJ43Gf4 found at /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp05iFu7.tmp:1
Accepted publickey for runner from 127.0.0.1 port 50854 ssh2: RSA SHA256:UdKZmXZ2rURV154YmcuBalwjCUyCRUc/CoBSeJ43Gf4
BSM audit: bsm_audit_session_setup: setaudit_addr failed: Operation not permitted
User child is on pid 4434
Starting session: command for runner from 127.0.0.1 port 50854 id 0
ssh process output follows:
/usr/bin/ssh -v -F "/var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp" TargetSsh "echo abc"
OpenSSH_8.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp
debug1: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp line 8: Applying options for TargetSsh
debug1: Setting implicit ProxyCommand from ProxyJump: /usr/bin/ssh -F /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp -v -W '[%h]:%p' VSSsh
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Executing proxy command: exec /usr/bin/ssh -F /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp -v -W '[127.0.0.1]:50851' VSSsh
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp type -1
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.6
OpenSSH_8.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp
debug1: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpE8J0n4.tmp line 1: Applying options for VSSsh
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 50852.
debug1: Connection established.
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp type -1
debug1: identity file /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.6
debug1: Remote protocol version 2.0, remote software version Microsoft.DevTunnels.Ssh_3.11
debug1: compat_banner: no match: Microsoft.DevTunnels.Ssh_3.11
debug1: Authenticating to 127.0.0.1:50852 as 'testuser'
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: diffie-hellman-group14-sha256
debug1: kex: host key algorithm: rsa-sha2-512
debug1: kex: server->client cipher: aes256-ctr MAC: hmac-sha2-512 compression: none
debug1: kex: client->server cipher: aes256-ctr MAC: hmac-sha2-512 compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-rsa SHA256:UHnN+H+f4XQFXHE7FMWLISczBNdqwAfJIuXz5eNu3pY
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '[127.0.0.1]:50852' is known and matches the RSA host key.
debug1: Found key in /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpYec2Dc.tmp:2
debug1: rekey out after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 4294967296 blocks
debug1: Will attempt key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: open-channel-request@microsoft.com (unrecognised)
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: none,password,publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp
debug1: Authentication succeeded (publickey).
Authenticated to 127.0.0.1 ([127.0.0.1]:50852).
debug1: channel_connect_stdio_fwd: 127.0.0.1:50851
debug1: channel 0: new [stdio-forward]
debug1: getpeername failed: Bad file descriptor
debug1: Entering interactive session.
debug1: pledge: network
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.6
debug1: compat_banner: match: OpenSSH_8.6 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 127.0.0.1:50851 as 'runner'
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: rsa-sha2-512
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: SSH2_MSG_KEX_ECDH_REPLY received
debug1: Server host key: ssh-rsa SHA256:UHnN+H+f4XQFXHE7FMWLISczBNdqwAfJIuXz5eNu3pY
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: Host '[127.0.0.1]:50851' is known and matches the RSA host key.
debug1: Found key in /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpYec2Dc.tmp:1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,webauthn-sk-ecdsa-sha2-nistp256@openssh.com>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmpp6WFuL.tmp
debug1: Authentication succeeded (publickey).
Authenticated to 127.0.0.1 (via proxy).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: proc
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Remote: /var/folders/3s/vfzpb5r51gs6y328rmlgzm7c0000gn/T/tmp05iFu7.tmp:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Sending command: echo abc
---- System.Exception : Did not execute test command "echo abc"
at Microsoft.DevTunnels.Ssh.Test.InteropTests.InteropJumpHost(String sshExePath, String sshdExePath) in /Users/runner/work/dev-tunnels-ssh/dev-tunnels-ssh/test/cs/Ssh.Test/InteropTests.cs:line 647
at Microsoft.DevTunnels.Ssh.Test.InteropTests.InteropJumpHostTest() in /Users/runner/work/dev-tunnels-ssh/dev-tunnels-ssh/test/cs/Ssh.Test/InteropTests.cs:line 495
----- Inner Stack Trace -----
at Microsoft.DevTunnels.Ssh.Test.InteropTests.InteropJumpHost(String sshExePath, String sshdExePath) in /Users/runner/work/dev-tunnels-ssh/dev-tunnels-ssh/test/cs/Ssh.Test/InteropTests.cs:line 642
Loading