aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2015-07-05 11:18:45 +0200
committerHans Nilsson <[email protected]>2015-07-05 11:18:45 +0200
commitddc7ce9124a8fb03bb95b5d550812c34f4177946 (patch)
tree91f489c0a8ba1ba6f30396809636020090fa8f06
parent99003f395207a23935bfd2859f9c7121da5110eb (diff)
parent9931cad6d5f653a8be2bb324450c1d4b2c5637cf (diff)
downloadotp-ddc7ce9124a8fb03bb95b5d550812c34f4177946.tar.gz
otp-ddc7ce9124a8fb03bb95b5d550812c34f4177946.tar.bz2
otp-ddc7ce9124a8fb03bb95b5d550812c34f4177946.zip
Merge branch 'hans/ssh/no_common_algs/OTP-11531' into maint
* hans/ssh/no_common_algs/OTP-11531: 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.erl11
-rw-r--r--lib/ssh/test/ssh_trpt_test_lib.erl7
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
"$"++_ ->