summaryrefslogtreecommitdiff
path: root/tests/dtls
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2012-02-14 21:57:24 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2012-02-14 21:57:38 +0100
commitf8fba3095a60697e433529785ac1b062e4191d45 (patch)
tree9ea7fd851e93aab98b696cdb09f3f6ea05d2a10c /tests/dtls
parentafd7a0a2adb959f854d9ed93c4e3becc5d120eb4 (diff)
downloadgnutls-f8fba3095a60697e433529785ac1b062e4191d45.tar.gz
Added tests for non-blocking DTLS
Diffstat (limited to 'tests/dtls')
-rw-r--r--tests/dtls/Makefile.am2
-rwxr-xr-xtests/dtls/dtls12
-rwxr-xr-xtests/dtls/dtls-nb36
-rw-r--r--tests/dtls/dtls-stress.c3
4 files changed, 46 insertions, 7 deletions
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) {