r21688: Add simple tests for genrand
authorJelmer Vernooij <jelmer@samba.org>
Sun, 4 Mar 2007 22:36:41 +0000 (22:36 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:49:12 +0000 (14:49 -0500)
(This used to be commit 90f23f0de86bb63ad65556ff2dab8b066236f300)

source4/lib/compression/testsuite.c [new file with mode: 0644]
source4/lib/util/tests/genrand.c [new file with mode: 0644]
source4/torture/local/config.mk
source4/torture/local/local.c

diff --git a/source4/lib/compression/testsuite.c b/source4/lib/compression/testsuite.c
new file mode 100644 (file)
index 0000000..eb00d09
--- /dev/null
@@ -0,0 +1,33 @@
+/* 
+   Unix SMB/CIFS implementation.
+   test suite for the compression functions
+
+   Copyright (C) Jelmer Vernooij 2007
+   
+   This program 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 2 of the License, or
+   (at your option) any later version.
+   
+   This program 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 this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "includes.h"
+#include "torture/torture.h"
+#include "lib/compression/mszip.h"
+
+struct torture_suite *torture_local_compression(TALLOC_CTX *mem_ctx)
+{
+       struct torture_suite *suite = torture_suite_create(mem_ctx, "COMPRESSION");
+
+       torture_suite_add_simple_test(suite, "pull_charset", test_pull_charset);
+
+       return suite;
+}
diff --git a/source4/lib/util/tests/genrand.c b/source4/lib/util/tests/genrand.c
new file mode 100644 (file)
index 0000000..6160e1d
--- /dev/null
@@ -0,0 +1,66 @@
+/* 
+   Unix SMB/CIFS implementation.
+
+   local testing of random data routines.
+
+   Copyright (C) Jelmer Vernooij <jelmer@samba.org>
+   
+   This program 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 2 of the License, or
+   (at your option) any later version.
+   
+   This program 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 this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "includes.h"
+#include "torture/torture.h"
+
+static void dummy_reseed(int *d)
+{
+       *d = 42;
+}
+
+static bool test_reseed_callback(struct torture_context *tctx)
+{
+       set_rand_reseed_callback(dummy_reseed);
+       return true;
+}
+
+static bool test_check_password_quality(struct torture_context *tctx)
+{
+       torture_assert(tctx, !check_password_quality(""), "empty password");
+       torture_assert(tctx, !check_password_quality("a"), "one char password");
+       torture_assert(tctx, !check_password_quality("aaaaaaaaaaaa"), "same char password");
+       torture_assert(tctx, !check_password_quality("BLA"), "multiple upcases password");
+       torture_assert(tctx, !check_password_quality("123"), "digits only");
+       torture_assert(tctx, check_password_quality("A2e"), "valid");
+       torture_assert(tctx, check_password_quality("BA2eLi443"), "valid");
+       return true;
+}
+
+static bool test_generate_random_str(struct torture_context *tctx)
+{
+       TALLOC_CTX *mem_ctx = talloc_init(__FUNCTION__);
+       char *r = generate_random_str(mem_ctx, 10);
+       torture_assert_int_equal(tctx, strlen(r), 10, "right length generated");
+       r = generate_random_str(mem_ctx, 5);
+       torture_assert_int_equal(tctx, strlen(r), 5, "right length generated");
+       return true;
+}
+
+struct torture_suite *torture_local_genrand(TALLOC_CTX *mem_ctx)
+{
+       struct torture_suite *suite = torture_suite_create(mem_ctx, "GENRAND");
+       torture_suite_add_simple_test(suite, "reseed_callback", test_reseed_callback);
+       torture_suite_add_simple_test(suite, "check_password_quality", test_check_password_quality);
+       torture_suite_add_simple_test(suite, "generate_random_str", test_generate_random_str);
+       return suite;
+}
index c150aeda712d90751ce0b2bcd9a9b6304aced4dc..69d4ef2d2c7ef6213d2a9753c20f611a24adec0d 100644 (file)
@@ -25,6 +25,7 @@ OBJ_FILES = \
                resolve.o \
                ../../lib/util/tests/strlist.o \
                ../../lib/util/tests/file.o \
+               ../../lib/util/tests/genrand.o \
                sddl.o \
                ../../lib/tdr/testsuite.o \
                event.o \
index fbf89b6e4e4387a29d8efb88a3066f041f2f5566..3d8127a6d192fcb25edf424a585d5afb4d1e2fa6 100644 (file)
@@ -35,6 +35,7 @@
        torture_local_util_strlist, 
        torture_local_util_file, 
        torture_local_idtree, 
+       torture_local_genrand, 
        torture_local_iconv,
        torture_local_socket, 
        torture_local_socket_wrapper,