]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Added tests for non-blocking DTLS
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 14 Feb 2012 20:57:24 +0000 (21:57 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 14 Feb 2012 20:57:38 +0000 (21:57 +0100)
tests/dtls/Makefile.am
tests/dtls/dtls
tests/dtls/dtls-nb [new file with mode: 0755]
tests/dtls/dtls-stress.c

index 1dda703f92cc29e7bcc5a6049a27c7329c4b840d..334733920f1a8b9152f40d710220efded19e32aa 100644 (file)
@@ -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 = \
index d159518e7b1b3592d484fd080939b62432fc24e4..f35953bbefc01460baa54592836024f9d2d4a671 100755 (executable)
@@ -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 (executable)
index 0000000..d20d978
--- /dev/null
@@ -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
index 86d8cf75d54f459a68df31fe99aa58791615af07..d372b530034c820f26f8543710e86be3e868846a 100644 (file)
@@ -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) {