aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2015-07-05 11:19:42 +0200
committerHans Nilsson <[email protected]>2015-07-05 11:19:42 +0200
commit5f43059948e4ae242ba4e73a0728cd57b3360f1a (patch)
treecacb2dbda58e27a7bfe010dc8dc2cca191d926cd
parent26f1810479a837ab338e7a9e3aef027a9e4b098d (diff)
parentddc7ce9124a8fb03bb95b5d550812c34f4177946 (diff)
downloadotp-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.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
"$"++_ ->