diff options
author | Hans Nilsson <[email protected]> | 2015-07-05 11:19:42 +0200 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2015-07-05 11:19:42 +0200 |
commit | 5f43059948e4ae242ba4e73a0728cd57b3360f1a (patch) | |
tree | cacb2dbda58e27a7bfe010dc8dc2cca191d926cd | |
parent | 26f1810479a837ab338e7a9e3aef027a9e4b098d (diff) | |
parent | ddc7ce9124a8fb03bb95b5d550812c34f4177946 (diff) | |
download | otp-5f43059948e4ae242ba4e73a0728cd57b3360f1a.tar.gz otp-5f43059948e4ae242ba4e73a0728cd57b3360f1a.tar.bz2 otp-5f43059948e4ae242ba4e73a0728cd57b3360f1a.zip |
Merge branch 'maint'
* maint:
ssh: be more generous about disconnect expects
ssh: add disjunction to ssh_trpt_test_lib:match
-rw-r--r-- | lib/ssh/test/ssh_protocol_SUITE.erl | 11 | ||||
-rw-r--r-- | lib/ssh/test/ssh_trpt_test_lib.erl | 7 |
2 files changed, 13 insertions, 5 deletions
diff --git a/lib/ssh/test/ssh_protocol_SUITE.erl b/lib/ssh/test/ssh_protocol_SUITE.erl index 58c8306c31..d82cdaf2c7 100644 --- a/lib/ssh/test/ssh_protocol_SUITE.erl +++ b/lib/ssh/test/ssh_protocol_SUITE.erl @@ -226,7 +226,8 @@ no_common_alg_server_disconnects(Config) -> {match, #ssh_msg_kexinit{_='_'}, receive_msg}, {send, ssh_msg_kexinit}, {match, - #ssh_msg_disconnect{code = ?SSH_DISCONNECT_KEY_EXCHANGE_FAILED, _='_'}, + {'or',[#ssh_msg_disconnect{code = ?SSH_DISCONNECT_KEY_EXCHANGE_FAILED, _='_'}, + tcp_closed]}, receive_msg} ] ). @@ -269,10 +270,10 @@ no_common_alg_client_disconnects(Config) -> first_kex_packet_follows = false, reserved = 0 }}, - - {match, - #ssh_msg_disconnect{code = ?SSH_DISCONNECT_KEY_EXCHANGE_FAILED, _='_'}, - receive_msg} + {match, + {'or',[#ssh_msg_disconnect{code = ?SSH_DISCONNECT_KEY_EXCHANGE_FAILED, _='_'}, + tcp_closed]}, + receive_msg} ], InitialState) } diff --git a/lib/ssh/test/ssh_trpt_test_lib.erl b/lib/ssh/test/ssh_trpt_test_lib.erl index a604fca1ac..75f495b6d7 100644 --- a/lib/ssh/test/ssh_trpt_test_lib.erl +++ b/lib/ssh/test/ssh_trpt_test_lib.erl @@ -218,6 +218,13 @@ match('$$', V, S) -> match('_', _, S) -> {true, S}; +match({'or',[P]}, V, S) -> match(P,V,S); +match({'or',[Ph|Pt]}, V, S) -> + case match(Ph,V,S) of + false -> match({'or',Pt}, V, S); + {true,S} -> {true,S} + end; + match(P, V, S) when is_atom(P) -> case atom_to_list(P) of "$"++_ -> |