From: Nikos Mavrogiannopoulos Date: Tue, 14 Feb 2012 20:57:24 +0000 (+0100) Subject: Added tests for non-blocking DTLS X-Git-Tag: gnutls_3_0_13~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f8fba3095a60697e433529785ac1b062e4191d45;p=thirdparty%2Fgnutls.git Added tests for non-blocking DTLS --- diff --git a/tests/dtls/Makefile.am b/tests/dtls/Makefile.am index 1dda703f92..334733920f 100644 --- a/tests/dtls/Makefile.am +++ b/tests/dtls/Makefile.am @@ -19,7 +19,7 @@ # along with this file; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -dist_check_SCRIPTS = dtls +dist_check_SCRIPTS = dtls dtls-nb AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) AM_CPPFLAGS = \ diff --git a/tests/dtls/dtls b/tests/dtls/dtls index d159518e7b..f35953bbef 100755 --- a/tests/dtls/dtls +++ b/tests/dtls/dtls @@ -26,11 +26,11 @@ if test "${WINDIR}" != "";then exit 77 fi -./dtls-stress -shello 021 -sfinished 01 -cfinished 012 SKeyExchange CKeyExchange CFinished >/dev/null 2>&1 -./dtls-stress -shello 012 -sfinished 10 -cfinished 210 SHello SKeyExchange SHelloDone >/dev/null 2>&1 -./dtls-stress -shello 012 -sfinished 01 -cfinished 021 SHello SKeyExchange SHelloDone >/dev/null 2>&1 -./dtls-stress -shello 021 -sfinished 01 -cfinished 201 SHello SHelloDone CChangeCipherSpec SChangeCipherSpec SFinished >/dev/null 2>&1 -./dtls-stress -shello 102 -sfinished 01 -cfinished 120 SHello SHelloDone CKeyExchange CFinished SChangeCipherSpec SFinished >/dev/null 2>&1 -./dtls-stress -shello 210 -sfinished 01 -cfinished 201 CChangeCipherSpec SChangeCipherSpec SFinished >/dev/null 2>&1 +./dtls-stress -shello 021 -sfinished 01 -cfinished 012 SKeyExchange CKeyExchange CFinished +./dtls-stress -shello 012 -sfinished 10 -cfinished 210 SHello SKeyExchange SHelloDone +./dtls-stress -shello 012 -sfinished 01 -cfinished 021 SHello SKeyExchange SHelloDone +./dtls-stress -shello 021 -sfinished 01 -cfinished 201 SHello SHelloDone CChangeCipherSpec SChangeCipherSpec SFinished +./dtls-stress -shello 102 -sfinished 01 -cfinished 120 SHello SHelloDone CKeyExchange CFinished SChangeCipherSpec SFinished +./dtls-stress -shello 210 -sfinished 01 -cfinished 201 CChangeCipherSpec SChangeCipherSpec SFinished exit 0 diff --git a/tests/dtls/dtls-nb b/tests/dtls/dtls-nb new file mode 100755 index 0000000000..d20d978d73 --- /dev/null +++ b/tests/dtls/dtls-nb @@ -0,0 +1,36 @@ +#!/bin/sh + +# Copyright (C) 2006-2008, 2010, 2012 Free Software Foundation, Inc. +# +# Author: Simon Josefsson +# +# This file is part of GnuTLS. +# +# GnuTLS is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at +# your option) any later version. +# +# GnuTLS is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GnuTLS; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +set -e + +if test "${WINDIR}" != "";then + exit 77 +fi + +./dtls-stress -nb -shello 021 -sfinished 01 -cfinished 012 SKeyExchange CKeyExchange CFinished +./dtls-stress -nb -shello 012 -sfinished 10 -cfinished 210 SHello SKeyExchange SHelloDone +./dtls-stress -nb -shello 012 -sfinished 01 -cfinished 021 SHello SKeyExchange SHelloDone +./dtls-stress -nb -shello 021 -sfinished 01 -cfinished 201 SHello SHelloDone CChangeCipherSpec SChangeCipherSpec SFinished +./dtls-stress -nb -shello 102 -sfinished 01 -cfinished 120 SHello SHelloDone CKeyExchange CFinished SChangeCipherSpec SFinished +./dtls-stress -nb -shello 210 -sfinished 01 -cfinished 201 CChangeCipherSpec SChangeCipherSpec SFinished + +exit 0 diff --git a/tests/dtls/dtls-stress.c b/tests/dtls/dtls-stress.c index 86d8cf75d5..d372b53003 100644 --- a/tests/dtls/dtls-stress.c +++ b/tests/dtls/dtls-stress.c @@ -141,6 +141,7 @@ static void filter_run_next(gnutls_transport_ptr_t fd, } else { send((long int) fd, buffer, len, 0); } + filter_current_idx--; } @@ -743,6 +744,8 @@ int arg; } } else if (strcmp("-d", argv[arg]) == 0) { debug++; + } else if (strcmp("-nb", argv[arg]) == 0) { + nonblock = 1; } else if (strcmp("-sfinished", argv[arg]) == 0) { arg++; if (arg >= argc) {