X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fregex%2Ftest_regex_proofs.c;h=5458e46ec014c8a4c8f837394f5063a47ca53894;hb=ecb0ab123eca06cf982d388e69d1c6ddca3f9672;hp=8ba0e142f6c9c7ee72f270773c5ee075c43074ae;hpb=bd0e2cd49ae9ae916f6a4288ac8893128b8168d6;p=oweals%2Fgnunet.git diff --git a/src/regex/test_regex_proofs.c b/src/regex/test_regex_proofs.c index 8ba0e142f..5458e46ec 100644 --- a/src/regex/test_regex_proofs.c +++ b/src/regex/test_regex_proofs.c @@ -1,6 +1,6 @@ /* This file is part of GNUnet - (C) 2012 Christian Grothoff (and other contributing authors) + Copyright (C) 2012 GNUnet e.V. GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /** * @file regex/test_regex_proofs.c @@ -23,7 +23,8 @@ * @author Maximilian Szengel */ #include "platform.h" -#include "gnunet_regex_lib.h" +#include "regex_internal_lib.h" +#include "regex_test_lib.h" #include "regex_internal.h" @@ -38,19 +39,21 @@ * * @return 0 on success, 1 on failure */ -unsigned int +static unsigned int test_proof (const char *regex) { unsigned int error; - struct GNUNET_REGEX_Automaton *dfa; + struct REGEX_INTERNAL_Automaton *dfa; char *c_rx1; const char *c_rx2; - dfa = GNUNET_REGEX_construct_dfa (regex, strlen (regex)); - c_rx1 = GNUNET_strdup (GNUNET_REGEX_get_canonical_regex (dfa)); - GNUNET_REGEX_automaton_destroy (dfa); - dfa = GNUNET_REGEX_construct_dfa (c_rx1, strlen (c_rx1)); - c_rx2 = GNUNET_REGEX_get_canonical_regex (dfa); + dfa = REGEX_INTERNAL_construct_dfa (regex, strlen (regex), 1); + GNUNET_assert (NULL != dfa); + c_rx1 = GNUNET_strdup (REGEX_INTERNAL_get_canonical_regex (dfa)); + REGEX_INTERNAL_automaton_destroy (dfa); + dfa = REGEX_INTERNAL_construct_dfa (c_rx1, strlen (c_rx1), 1); + GNUNET_assert (NULL != dfa); + c_rx2 = REGEX_INTERNAL_get_canonical_regex (dfa); error = (0 == strcmp (c_rx1, c_rx2)) ? 0 : 1; @@ -62,11 +65,12 @@ test_proof (const char *regex) } GNUNET_free (c_rx1); - GNUNET_REGEX_automaton_destroy (dfa); + REGEX_INTERNAL_automaton_destroy (dfa); return error; } + /** * Use 'test_proof' function to randomly test the canonical regexes of 'count' * random expressions of length 'rx_length'. @@ -76,7 +80,7 @@ test_proof (const char *regex) * * @return 0 on succes, number of failures otherwise. */ -unsigned int +static unsigned int test_proofs_random (unsigned int count, size_t rx_length) { unsigned int i; @@ -87,7 +91,7 @@ test_proofs_random (unsigned int count, size_t rx_length) for (i = 0; i < count; i++) { - rand_rx = GNUNET_REGEX_generate_random_regex (rx_length, NULL); + rand_rx = REGEX_TEST_generate_random_regex (rx_length, NULL); failures += test_proof (rand_rx); GNUNET_free (rand_rx); } @@ -95,13 +99,14 @@ test_proofs_random (unsigned int count, size_t rx_length) return failures; } + /** * Test a number of known examples of regexes for proper canonicalization. * * @return 0 on success, number of failures otherwise. */ -unsigned int -test_proofs_static (void) +static unsigned int +test_proofs_static () { unsigned int i; unsigned int error; @@ -119,18 +124,20 @@ test_proofs_static (void) const char *canon_rx1; const char *canon_rx2; - struct GNUNET_REGEX_Automaton *dfa1; - struct GNUNET_REGEX_Automaton *dfa2; + struct REGEX_INTERNAL_Automaton *dfa1; + struct REGEX_INTERNAL_Automaton *dfa2; error = 0; for (i = 0; i < 8; i += 2) { - dfa1 = GNUNET_REGEX_construct_dfa (regex[i], strlen (regex[i])); - dfa2 = GNUNET_REGEX_construct_dfa (regex[i + 1], strlen (regex[i + 1])); + dfa1 = REGEX_INTERNAL_construct_dfa (regex[i], strlen (regex[i]), 1); + dfa2 = REGEX_INTERNAL_construct_dfa (regex[i + 1], strlen (regex[i + 1]), 1); + GNUNET_assert (NULL != dfa1); + GNUNET_assert (NULL != dfa2); - canon_rx1 = GNUNET_REGEX_get_canonical_regex (dfa1); - canon_rx2 = GNUNET_REGEX_get_canonical_regex (dfa2); + canon_rx1 = REGEX_INTERNAL_get_canonical_regex (dfa1); + canon_rx2 = REGEX_INTERNAL_get_canonical_regex (dfa2); error += (0 == strcmp (canon_rx1, canon_rx2)) ? 0 : 1; @@ -141,8 +148,8 @@ test_proofs_static (void) regex[i], canon_rx1, regex[i + 1], canon_rx2); } - GNUNET_REGEX_automaton_destroy (dfa1); - GNUNET_REGEX_automaton_destroy (dfa2); + REGEX_INTERNAL_automaton_destroy (dfa1); + REGEX_INTERNAL_automaton_destroy (dfa2); } return error; @@ -152,13 +159,7 @@ test_proofs_static (void) int main (int argc, char *argv[]) { - GNUNET_log_setup ("test-regex", -#if VERBOSE - "DEBUG", -#else - "WARNING", -#endif - NULL); + GNUNET_log_setup ("test-regex", "WARNING", NULL); int error;