X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_configuration.c;h=6227a28db0f99fa95fe03494d6b7b9fb8dd254dd;hb=8fa757a9418eed2685595227c86c3c34c389adcf;hp=2d280695658b63432351cca0ceed0f0d31f2377b;hpb=427dd6f998fb1fde515a3b5c800f9f6d308197b2;p=oweals%2Fgnunet.git diff --git a/src/util/test_configuration.c b/src/util/test_configuration.c index 2d2806956..6227a28db 100644 --- a/src/util/test_configuration.c +++ b/src/util/test_configuration.c @@ -1,22 +1,22 @@ /* This file is part of GNUnet. - (C) 2003, 2004, 2005, 2006, 2007 Christian Grothoff (and other contributing authors) + Copyright (C) 2003, 2004, 2005, 2006, 2007 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 - by the Free Software Foundation; either version 3, or (at your - option) any later version. + GNUnet is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. GNUnet 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. + Affero General Public License for more details. - 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. -*/ + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + SPDX-License-Identifier: AGPL3.0-or-later + */ /** * @file util/test_configuration.c * @brief Test that the configuration module works. @@ -37,12 +37,12 @@ enum ADD_NEW_ENTRY, REMOVE_SECTION, REMOVE_ENTRY, - COMPARE, + COMPARE, PRINT }; static struct GNUNET_CONFIGURATION_Handle *cfg; -static struct GNUNET_CONFIGURATION_Handle *cfgDefault; +static struct GNUNET_CONFIGURATION_Handle *cfg_default; struct DiffsCBData { @@ -68,7 +68,7 @@ initDiffsCBData (struct DiffsCBData *cbData) /** * callback function for modifying * and comparing configuration -*/ + */ static void diffsCallBack (void *cls, const char *section, const char *option, const char *value) @@ -89,45 +89,49 @@ diffsCallBack (void *cls, const char *section, const char *option, "new-value"); } break; + case EDIT_ALL: GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, option, "new-value"); GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section, option, "new-value"); break; - case ADD_NEW_ENTRY: - { - static int hit = 0; - if (hit == 0) + case ADD_NEW_ENTRY: { - hit = 1; - GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, "new-key", - "new-value"); - GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section, - "new-key", "new-value"); + static int hit = 0; + + if (hit == 0) + { + hit = 1; + GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, "new-key", + "new-value"); + GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section, + "new-key", "new-value"); + } + break; } - break; - } + case COMPARE: - { - int ret; - char *diffValue; + { + int ret; + char *diffValue; - diffValue = NULL; - ret = + diffValue = NULL; + ret = GNUNET_CONFIGURATION_get_value_string (cbData->cfgDiffs, section, option, &diffValue); - if (NULL != diffValue) - { - if (ret == GNUNET_SYSERR || strcmp (diffValue, value) != 0) + if (NULL != diffValue) + { + if ((ret == GNUNET_SYSERR) || (strcmp (diffValue, value) != 0) ) + cbData->status = 1; + } + else cbData->status = 1; + GNUNET_free_non_null (diffValue); + break; } - else - cbData->status = 1; - GNUNET_free_non_null (diffValue); - break; - } + #if 0 case PRINT: if (NULL == cbData->section) @@ -165,29 +169,34 @@ editConfiguration (struct GNUNET_CONFIGURATION_Handle *cfg, int option) diffsCB.cfg = cfg; GNUNET_CONFIGURATION_iterate (cfg, diffsCallBack, &diffsCB); break; + case EDIT_NOTHING: /* Do nothing */ break; - case ADD_NEW_SECTION: - { - int i; - char *key; - for (i = 0; i < 5; i++) + case ADD_NEW_SECTION: { - GNUNET_asprintf (&key, "key%d", i); - GNUNET_CONFIGURATION_set_value_string (cfg, "new-section", key, - "new-value"); - GNUNET_CONFIGURATION_set_value_string (diffsCB.cfgDiffs, "new-section", - key, "new-value"); - GNUNET_free (key); + int i; + char *key; + + for (i = 0; i < 5; i++) + { + GNUNET_asprintf (&key, "key%d", i); + GNUNET_CONFIGURATION_set_value_string (cfg, "new-section", key, + "new-value"); + GNUNET_CONFIGURATION_set_value_string (diffsCB.cfgDiffs, "new-section", + key, "new-value"); + GNUNET_free (key); + } + break; } - break; - } + case REMOVE_SECTION: break; + case REMOVE_ENTRY: break; + default: break; } @@ -195,11 +204,12 @@ editConfiguration (struct GNUNET_CONFIGURATION_Handle *cfg, int option) return diffsCB.cfgDiffs; } + /** * Checking configuration diffs */ static int -checkDiffs (struct GNUNET_CONFIGURATION_Handle *cfgDefault, int option) +checkDiffs (struct GNUNET_CONFIGURATION_Handle *cfg_default, int option) { struct GNUNET_CONFIGURATION_Handle *cfg; struct GNUNET_CONFIGURATION_Handle *cfgDiffs; @@ -223,27 +233,28 @@ checkDiffs (struct GNUNET_CONFIGURATION_Handle *cfgDefault, int option) GNUNET_CONFIGURATION_destroy (cfgDiffs); return 1; } - GNUNET_CONFIGURATION_write_diffs (cfgDefault, cfg, diffsFileName); + GNUNET_CONFIGURATION_write_diffs (cfg_default, cfg, diffsFileName); GNUNET_CONFIGURATION_destroy (cfg); /* Compare the dumped configuration with modifications done */ cfg = GNUNET_CONFIGURATION_create (); GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_parse (cfg, diffsFileName)); if (0 != remove (diffsFileName)) - GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, "remove", diffsFileName); + GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, "remove", + diffsFileName); cbData.callBackOption = COMPARE; cbData.cfgDiffs = cfgDiffs; GNUNET_CONFIGURATION_iterate (cfg, diffsCallBack, &cbData); if (1 == (ret = cbData.status)) { - FPRINTF (stderr, "%s", + fprintf (stderr, "%s", "Incorrect Configuration Diffs: Diffs may contain data not actually edited\n"); goto housekeeping; } cbData.cfgDiffs = cfg; GNUNET_CONFIGURATION_iterate (cfgDiffs, diffsCallBack, &cbData); if ((ret = cbData.status) == 1) - FPRINTF (stderr, "%s", + fprintf (stderr, "%s", "Incorrect Configuration Diffs: Data may be missing in diffs\n"); housekeeping: @@ -273,7 +284,7 @@ testConfig () return 1; if (0 != strcmp ("b", c)) { - FPRINTF (stderr, "Got `%s'\n", c); + fprintf (stderr, "Got `%s'\n", c); GNUNET_free (c); return 2; } @@ -316,12 +327,8 @@ testConfig () GNUNET_break (0); return 8; } -#ifndef MINGW + if (0 != strcmp (c, "/hello/world")) -#else -#define HI "\\hello\\world" - if (strstr (c, HI) != c + strlen (c) - strlen (HI)) -#endif { GNUNET_break (0); GNUNET_free (c); @@ -343,6 +350,7 @@ testConfig () return 0; } + static const char *want[] = { "/Hello", "/File Name", @@ -365,6 +373,7 @@ check (void *data, const char *fn) return GNUNET_SYSERR; } + static int testConfigFilenames () { @@ -466,7 +475,7 @@ main (int argc, char *argv[]) if (GNUNET_OK != GNUNET_CONFIGURATION_parse (cfg, "test_configuration_data.conf")) { - FPRINTF (stderr, "%s", "Failed to parse configuration file\n"); + fprintf (stderr, "%s", "Failed to parse configuration file\n"); GNUNET_CONFIGURATION_destroy (cfg); return 1; } @@ -480,12 +489,12 @@ main (int argc, char *argv[]) if (GNUNET_OK != GNUNET_CONFIGURATION_write (cfg, "/tmp/gnunet-test.conf")) { - FPRINTF (stderr, "%s", "Failed to write configuration file\n"); + fprintf (stderr, "%s", "Failed to write configuration file\n"); GNUNET_CONFIGURATION_destroy (cfg); return 1; } GNUNET_CONFIGURATION_destroy (cfg); - GNUNET_assert (0 == UNLINK ("/tmp/gnunet-test.conf")); + GNUNET_assert (0 == unlink ("/tmp/gnunet-test.conf")); cfg = GNUNET_CONFIGURATION_create (); if (GNUNET_OK != @@ -514,35 +523,35 @@ main (int argc, char *argv[]) GNUNET_CONFIGURATION_destroy (cfg); /* Testing configuration diffs */ - cfgDefault = GNUNET_CONFIGURATION_create (); - if (GNUNET_OK != GNUNET_CONFIGURATION_load (cfgDefault, NULL)) + cfg_default = GNUNET_CONFIGURATION_create (); + if (GNUNET_OK != GNUNET_CONFIGURATION_load (cfg_default, NULL)) { GNUNET_break (0); - GNUNET_CONFIGURATION_destroy (cfgDefault); + GNUNET_CONFIGURATION_destroy (cfg_default); return 1; } /* Nothing changed in the new configuration */ - failureCount += checkDiffs (cfgDefault, EDIT_NOTHING); + failureCount += checkDiffs (cfg_default, EDIT_NOTHING); /* Modify all entries of the last section */ - failureCount += checkDiffs (cfgDefault, EDIT_SECTION); + failureCount += checkDiffs (cfg_default, EDIT_SECTION); /* Add a new section */ - failureCount += checkDiffs (cfgDefault, ADD_NEW_SECTION); + failureCount += checkDiffs (cfg_default, ADD_NEW_SECTION); /* Add a new entry to the last section */ - failureCount += checkDiffs (cfgDefault, ADD_NEW_ENTRY); + failureCount += checkDiffs (cfg_default, ADD_NEW_ENTRY); /* Modify all entries in the configuration */ - failureCount += checkDiffs (cfgDefault, EDIT_ALL); + failureCount += checkDiffs (cfg_default, EDIT_ALL); - GNUNET_CONFIGURATION_destroy (cfgDefault); + GNUNET_CONFIGURATION_destroy (cfg_default); error: if (failureCount != 0) { - FPRINTF (stderr, "Test failed: %u\n", failureCount); + fprintf (stderr, "Test failed: %u\n", failureCount); return 1; } return 0;