summaryrefslogtreecommitdiff
path: root/tests/unit_tests/openvpn
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit_tests/openvpn')
-rw-r--r--tests/unit_tests/openvpn/Makefile.in183
-rw-r--r--tests/unit_tests/openvpn/mock_msg.c2
-rw-r--r--tests/unit_tests/openvpn/test_argv.c6
-rw-r--r--tests/unit_tests/openvpn/test_buffer.c183
-rw-r--r--tests/unit_tests/openvpn/test_packet_id.c2
-rw-r--r--tests/unit_tests/openvpn/test_tls_crypt.c2
6 files changed, 325 insertions, 53 deletions
diff --git a/tests/unit_tests/openvpn/Makefile.in b/tests/unit_tests/openvpn/Makefile.in
index 1ce10fc..89a552a 100644
--- a/tests/unit_tests/openvpn/Makefile.in
+++ b/tests/unit_tests/openvpn/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,7 +14,17 @@
@SET_MAKE@
VPATH = @srcdir@
-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
@@ -81,8 +91,6 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
@HAVE_LD_WRAP_SUPPORT_TRUE@am__append_1 = argv_testdriver buffer_testdriver
@ENABLE_CRYPTO_TRUE@am__append_2 = packet_id_testdriver tls_crypt_testdriver
subdir = tests/unit_tests/openvpn
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_emptyarray.m4 \
$(top_srcdir)/m4/ax_socklen_t.m4 \
@@ -93,6 +101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_emptyarray.m4 \
$(top_srcdir)/compat.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
$(top_builddir)/include/openvpn-plugin.h
@@ -171,7 +180,31 @@ am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/argv_testdriver-argv.Po \
+ ./$(DEPDIR)/argv_testdriver-buffer.Po \
+ ./$(DEPDIR)/argv_testdriver-mock_msg.Po \
+ ./$(DEPDIR)/argv_testdriver-platform.Po \
+ ./$(DEPDIR)/argv_testdriver-test_argv.Po \
+ ./$(DEPDIR)/buffer_testdriver-buffer.Po \
+ ./$(DEPDIR)/buffer_testdriver-mock_msg.Po \
+ ./$(DEPDIR)/buffer_testdriver-platform.Po \
+ ./$(DEPDIR)/buffer_testdriver-test_buffer.Po \
+ ./$(DEPDIR)/packet_id_testdriver-buffer.Po \
+ ./$(DEPDIR)/packet_id_testdriver-mock_msg.Po \
+ ./$(DEPDIR)/packet_id_testdriver-otime.Po \
+ ./$(DEPDIR)/packet_id_testdriver-packet_id.Po \
+ ./$(DEPDIR)/packet_id_testdriver-platform.Po \
+ ./$(DEPDIR)/packet_id_testdriver-test_packet_id.Po \
+ ./$(DEPDIR)/tls_crypt_testdriver-buffer.Po \
+ ./$(DEPDIR)/tls_crypt_testdriver-crypto.Po \
+ ./$(DEPDIR)/tls_crypt_testdriver-crypto_mbedtls.Po \
+ ./$(DEPDIR)/tls_crypt_testdriver-crypto_openssl.Po \
+ ./$(DEPDIR)/tls_crypt_testdriver-mock_msg.Po \
+ ./$(DEPDIR)/tls_crypt_testdriver-otime.Po \
+ ./$(DEPDIR)/tls_crypt_testdriver-packet_id.Po \
+ ./$(DEPDIR)/tls_crypt_testdriver-platform.Po \
+ ./$(DEPDIR)/tls_crypt_testdriver-test_tls_crypt.Po
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -243,6 +276,7 @@ am__tty_colors = { \
std=''; \
fi; \
}
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -291,6 +325,7 @@ LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
LZ4_CFLAGS = @LZ4_CFLAGS@
LZ4_LIBS = @LZ4_LIBS@
LZO_CFLAGS = @LZO_CFLAGS@
@@ -489,14 +524,13 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/unit_tests/openvpn/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign tests/unit_tests/openvpn/Makefile
-.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
@@ -539,30 +573,36 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-argv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-buffer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-mock_msg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-platform.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-test_argv.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer_testdriver-buffer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer_testdriver-mock_msg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer_testdriver-platform.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer_testdriver-test_buffer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-buffer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-mock_msg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-otime.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-packet_id.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-platform.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-test_packet_id.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-buffer.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-crypto.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-crypto_mbedtls.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-crypto_openssl.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-mock_msg.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-otime.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-packet_id.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-platform.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-test_tls_crypt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-argv.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-buffer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-mock_msg.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-platform.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argv_testdriver-test_argv.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer_testdriver-buffer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer_testdriver-mock_msg.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer_testdriver-platform.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer_testdriver-test_buffer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-buffer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-mock_msg.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-otime.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-packet_id.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-platform.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/packet_id_testdriver-test_packet_id.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-buffer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-crypto.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-crypto_mbedtls.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-crypto_openssl.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-mock_msg.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-otime.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-packet_id.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-platform.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_crypt_testdriver-test_tls_crypt.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1072,7 +1112,10 @@ check-TESTS: $(TESTS)
test "$$failed" -eq 0; \
else :; fi
-distdir: $(DISTFILES)
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
@@ -1144,7 +1187,30 @@ clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
mostlyclean-am
distclean: distclean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/argv_testdriver-argv.Po
+ -rm -f ./$(DEPDIR)/argv_testdriver-buffer.Po
+ -rm -f ./$(DEPDIR)/argv_testdriver-mock_msg.Po
+ -rm -f ./$(DEPDIR)/argv_testdriver-platform.Po
+ -rm -f ./$(DEPDIR)/argv_testdriver-test_argv.Po
+ -rm -f ./$(DEPDIR)/buffer_testdriver-buffer.Po
+ -rm -f ./$(DEPDIR)/buffer_testdriver-mock_msg.Po
+ -rm -f ./$(DEPDIR)/buffer_testdriver-platform.Po
+ -rm -f ./$(DEPDIR)/buffer_testdriver-test_buffer.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-buffer.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-mock_msg.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-otime.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-packet_id.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-platform.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-test_packet_id.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-buffer.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-crypto.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-crypto_mbedtls.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-crypto_openssl.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-mock_msg.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-otime.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-packet_id.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-platform.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-test_tls_crypt.Po
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
@@ -1190,7 +1256,30 @@ install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
+ -rm -f ./$(DEPDIR)/argv_testdriver-argv.Po
+ -rm -f ./$(DEPDIR)/argv_testdriver-buffer.Po
+ -rm -f ./$(DEPDIR)/argv_testdriver-mock_msg.Po
+ -rm -f ./$(DEPDIR)/argv_testdriver-platform.Po
+ -rm -f ./$(DEPDIR)/argv_testdriver-test_argv.Po
+ -rm -f ./$(DEPDIR)/buffer_testdriver-buffer.Po
+ -rm -f ./$(DEPDIR)/buffer_testdriver-mock_msg.Po
+ -rm -f ./$(DEPDIR)/buffer_testdriver-platform.Po
+ -rm -f ./$(DEPDIR)/buffer_testdriver-test_buffer.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-buffer.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-mock_msg.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-otime.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-packet_id.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-platform.Po
+ -rm -f ./$(DEPDIR)/packet_id_testdriver-test_packet_id.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-buffer.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-crypto.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-crypto_mbedtls.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-crypto_openssl.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-mock_msg.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-otime.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-packet_id.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-platform.Po
+ -rm -f ./$(DEPDIR)/tls_crypt_testdriver-test_tls_crypt.Po
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
@@ -1211,20 +1300,22 @@ uninstall-am:
.MAKE: check-am install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
- clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \
- ctags ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
+ check-am clean clean-checkPROGRAMS clean-generic clean-libtool \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
+.PRECIOUS: Makefile
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/tests/unit_tests/openvpn/mock_msg.c b/tests/unit_tests/openvpn/mock_msg.c
index 4bd11ca..140e637 100644
--- a/tests/unit_tests/openvpn/mock_msg.c
+++ b/tests/unit_tests/openvpn/mock_msg.c
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2016-2017 Fox Crypto B.V. <openvpn@fox-it.com>
+ * Copyright (C) 2016-2018 Fox Crypto B.V. <openvpn@fox-it.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
diff --git a/tests/unit_tests/openvpn/test_argv.c b/tests/unit_tests/openvpn/test_argv.c
index 4a3ba55..0fdd3f0 100644
--- a/tests/unit_tests/openvpn/test_argv.c
+++ b/tests/unit_tests/openvpn/test_argv.c
@@ -116,8 +116,12 @@ argv_str__multiple_argv__correct_output(void **state)
argv_printf(&a, "%s%sc", PATH1, PATH2);
argv_printf_cat(&a, "%s", PARAM1);
argv_printf_cat(&a, "%s", PARAM2);
+ argv_printf_cat(&a, "%d", -1);
+ argv_printf_cat(&a, "%u", -1);
+ argv_printf_cat(&a, "%lu", 1L );
output = argv_str(&a, &gc, PA_BRACKET);
- assert_string_equal(output, "[" PATH1 PATH2 "] [" PARAM1 "] [" PARAM2 "]");
+ assert_string_equal(output, "[" PATH1 PATH2 "] [" PARAM1 "] [" PARAM2 "]"
+ " [-1] [4294967295] [1]");
argv_reset(&a);
gc_free(&gc);
diff --git a/tests/unit_tests/openvpn/test_buffer.c b/tests/unit_tests/openvpn/test_buffer.c
index 69bb2e5..d083b78 100644
--- a/tests/unit_tests/openvpn/test_buffer.c
+++ b/tests/unit_tests/openvpn/test_buffer.c
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2016-2017 Fox Crypto B.V. <openvpn@fox-it.com>
+ * Copyright (C) 2016-2018 Fox Crypto B.V. <openvpn@fox-it.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@ -35,7 +35,7 @@
#include "buffer.h"
static void
-buffer_strprefix(void **state)
+test_buffer_strprefix(void **state)
{
assert_true(strprefix("123456", "123456"));
assert_true(strprefix("123456", "123"));
@@ -44,11 +44,188 @@ buffer_strprefix(void **state)
assert_false(strprefix("12", "123"));
}
+#define testsep ","
+#define testnosep ""
+#define teststr1 "one"
+#define teststr2 "two"
+#define teststr3 "three"
+#define teststr4 "four"
+
+#define assert_buf_equals_str(buf, str) \
+ assert_int_equal(BLEN(buf), strlen(str)); \
+ assert_memory_equal(BPTR(buf), str, BLEN(buf));
+
+struct test_buffer_list_aggregate_ctx {
+ struct buffer_list *empty;
+ struct buffer_list *one_two_three;
+ struct buffer_list *zero_length_strings;
+ struct buffer_list *empty_buffers;
+};
+
+static int test_buffer_list_setup(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = calloc(1, sizeof(*ctx));
+ ctx->empty = buffer_list_new(0);
+
+ ctx->one_two_three = buffer_list_new(3);
+ buffer_list_push(ctx->one_two_three, teststr1);
+ buffer_list_push(ctx->one_two_three, teststr2);
+ buffer_list_push(ctx->one_two_three, teststr3);
+
+ ctx->zero_length_strings = buffer_list_new(2);
+ buffer_list_push(ctx->zero_length_strings, "");
+ buffer_list_push(ctx->zero_length_strings, "");
+
+ ctx->empty_buffers = buffer_list_new(2);
+ uint8_t data = 0;
+ buffer_list_push_data(ctx->empty_buffers, &data, 0);
+ buffer_list_push_data(ctx->empty_buffers, &data, 0);
+
+ *state = ctx;
+ return 0;
+}
+
+static int test_buffer_list_teardown(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = *state;
+
+ buffer_list_free(ctx->empty);
+ buffer_list_free(ctx->one_two_three);
+ buffer_list_free(ctx->zero_length_strings);
+ buffer_list_free(ctx->empty_buffers);
+ free(ctx);
+ return 0;
+}
+
+static void
+test_buffer_list_full(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = *state;
+
+ /* list full */
+ assert_int_equal(ctx->one_two_three->size, 3);
+ buffer_list_push(ctx->one_two_three, teststr4);
+ assert_int_equal(ctx->one_two_three->size, 3);
+}
+
+static void
+test_buffer_list_aggregate_separator_empty(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = *state;
+
+ /* aggregating an empty buffer list results in an empty buffer list */
+ buffer_list_aggregate_separator(ctx->empty, 3, testsep);
+ assert_null(ctx->empty->head);
+}
+
+static void
+test_buffer_list_aggregate_separator_noop(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = *state;
+
+ /* With a max length of 2, no aggregation should take place */
+ buffer_list_aggregate_separator(ctx->one_two_three, 2, testsep);
+ assert_int_equal(ctx->one_two_three->size, 3);
+ struct buffer *buf = buffer_list_peek(ctx->one_two_three);
+ assert_buf_equals_str(buf, teststr1);
+}
+
+static void
+test_buffer_list_aggregate_separator_two(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = *state;
+ const char *expected = teststr1 testsep teststr2 testsep;
+
+ /* Aggregate the first two elements
+ * (add 1 to max_len to test if "three" is not sneaked in too)
+ */
+ buffer_list_aggregate_separator(ctx->one_two_three, strlen(expected) + 1,
+ testsep);
+ assert_int_equal(ctx->one_two_three->size, 2);
+ struct buffer *buf = buffer_list_peek(ctx->one_two_three);
+ assert_buf_equals_str(buf, expected);
+}
+
+static void
+test_buffer_list_aggregate_separator_all(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = *state;
+
+ /* Aggregate all */
+ buffer_list_aggregate_separator(ctx->one_two_three, 1<<16, testsep);
+ assert_int_equal(ctx->one_two_three->size, 1);
+ struct buffer *buf = buffer_list_peek(ctx->one_two_three);
+ assert_buf_equals_str(buf,
+ teststr1 testsep teststr2 testsep teststr3 testsep);
+}
+
+static void
+test_buffer_list_aggregate_separator_nosep(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = *state;
+
+ /* Aggregate all */
+ buffer_list_aggregate_separator(ctx->one_two_three, 1<<16, testnosep);
+ assert_int_equal(ctx->one_two_three->size, 1);
+ struct buffer *buf = buffer_list_peek(ctx->one_two_three);
+ assert_buf_equals_str(buf, teststr1 teststr2 teststr3);
+}
+
+static void
+test_buffer_list_aggregate_separator_zerolen(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = *state;
+ struct buffer_list *bl_zerolen = ctx->zero_length_strings;
+
+ /* Aggregate all */
+ buffer_list_aggregate_separator(bl_zerolen, 1<<16, testnosep);
+ assert_int_equal(bl_zerolen->size, 1);
+ struct buffer *buf = buffer_list_peek(bl_zerolen);
+ assert_buf_equals_str(buf, "");
+}
+
+static void
+test_buffer_list_aggregate_separator_emptybuffers(void **state)
+{
+ struct test_buffer_list_aggregate_ctx *ctx = *state;
+ struct buffer_list *bl_emptybuffers = ctx->empty_buffers;
+
+ /* Aggregate all */
+ buffer_list_aggregate_separator(bl_emptybuffers, 1<<16, testnosep);
+ assert_int_equal(bl_emptybuffers->size, 1);
+ struct buffer *buf = buffer_list_peek(bl_emptybuffers);
+ assert_int_equal(BLEN(buf), 0);
+}
+
int
main(void)
{
const struct CMUnitTest tests[] = {
- cmocka_unit_test(buffer_strprefix),
+ cmocka_unit_test(test_buffer_strprefix),
+ cmocka_unit_test_setup_teardown(test_buffer_list_full,
+ test_buffer_list_setup,
+ test_buffer_list_teardown),
+ cmocka_unit_test_setup_teardown(test_buffer_list_aggregate_separator_empty,
+ test_buffer_list_setup,
+ test_buffer_list_teardown),
+ cmocka_unit_test_setup_teardown(test_buffer_list_aggregate_separator_noop,
+ test_buffer_list_setup,
+ test_buffer_list_teardown),
+ cmocka_unit_test_setup_teardown(test_buffer_list_aggregate_separator_two,
+ test_buffer_list_setup,
+ test_buffer_list_teardown),
+ cmocka_unit_test_setup_teardown(test_buffer_list_aggregate_separator_all,
+ test_buffer_list_setup,
+ test_buffer_list_teardown),
+ cmocka_unit_test_setup_teardown(test_buffer_list_aggregate_separator_nosep,
+ test_buffer_list_setup,
+ test_buffer_list_teardown),
+ cmocka_unit_test_setup_teardown(test_buffer_list_aggregate_separator_zerolen,
+ test_buffer_list_setup,
+ test_buffer_list_teardown),
+ cmocka_unit_test_setup_teardown(test_buffer_list_aggregate_separator_emptybuffers,
+ test_buffer_list_setup,
+ test_buffer_list_teardown),
};
return cmocka_run_group_tests_name("buffer", tests, NULL, NULL);
diff --git a/tests/unit_tests/openvpn/test_packet_id.c b/tests/unit_tests/openvpn/test_packet_id.c
index 0a785ad..ba420c4 100644
--- a/tests/unit_tests/openvpn/test_packet_id.c
+++ b/tests/unit_tests/openvpn/test_packet_id.c
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2016 Fox Crypto B.V. <openvpn@fox-it.com>
+ * Copyright (C) 2016-2018 Fox Crypto B.V. <openvpn@fox-it.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
diff --git a/tests/unit_tests/openvpn/test_tls_crypt.c b/tests/unit_tests/openvpn/test_tls_crypt.c
index 0a6a08f..f5618f8 100644
--- a/tests/unit_tests/openvpn/test_tls_crypt.c
+++ b/tests/unit_tests/openvpn/test_tls_crypt.c
@@ -5,7 +5,7 @@
* packet encryption, packet authentication, and
* packet compression.
*
- * Copyright (C) 2016-2017 Fox Crypto B.V. <openvpn@fox-it.com>
+ * Copyright (C) 2016-2018 Fox Crypto B.V. <openvpn@fox-it.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2