/*
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 Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
- 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.
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
* @file util/test_configuration.c
*/
#include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_configuration_lib.h"
-#include "gnunet_disk_lib.h"
+#include "gnunet_util_lib.h"
-#define DEBUG GNUNET_NO
/* Test Configuration Diffs Options */
enum
ADD_NEW_ENTRY,
REMOVE_SECTION,
REMOVE_ENTRY,
- COMPARE
-#if DEBUG
- , PRINT
-#endif
+ COMPARE,
+ PRINT
};
static struct GNUNET_CONFIGURATION_Handle *cfg;
-static struct GNUNET_CONFIGURATION_Handle *cfgDefault;
+static struct GNUNET_CONFIGURATION_Handle *cfg_default;
struct DiffsCBData
{
* and comparing configuration
*/
static void
-diffsCallBack (void *cls,
- const char *section, const char *option, const char *value)
+diffsCallBack (void *cls, const char *section, const char *option,
+ const char *value)
{
struct DiffsCBData *cbData = cls;
int cbOption = cbData->callBackOption;
{
GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, option,
"new-value");
- GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section,
- option, "new-value");
+ GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section, 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");
+ GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section, option,
+ "new-value");
break;
case ADD_NEW_ENTRY:
{
if (hit == 0)
{
hit = 1;
- GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section,
- "new-key", "new-value");
+ GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, "new-key",
+ "new-value");
GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section,
"new-key", "new-value");
}
GNUNET_free_non_null (diffValue);
break;
}
-#if DEBUG
+#if 0
case PRINT:
if (NULL == cbData->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_CONFIGURATION_set_value_string (diffsCB.cfgDiffs, "new-section",
+ key, "new-value");
GNUNET_free (key);
}
break;
* 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;
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));
- remove (diffsFileName);
+ if (0 != 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,
+ 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,
+ FPRINTF (stderr, "%s",
"Incorrect Configuration Diffs: Data may be missing in diffs\n");
housekeeping:
-#if DEBUG
+#if 0
cbData.section = NULL;
cbData.callBackOption = PRINT;
printf ("\nExpected Diffs:\n");
return 1;
if (0 != strcmp ("b", c))
{
- fprintf (stderr, "Got `%s'\n", c);
+ FPRINTF (stderr, "Got `%s'\n", c);
GNUNET_free (c);
return 2;
}
GNUNET_free (c);
- if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (cfg,
- "test", "five", &l))
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_number (cfg, "test", "five", &l))
{
GNUNET_break (0);
return 3;
}
GNUNET_free (c);
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_size (cfg, "last", "size", &l))
+ {
+ GNUNET_break (0);
+ return 10;
+ }
+ if (l != 512 * 1024)
+ {
+ GNUNET_break (0);
+ return 11;
+ }
return 0;
}
int idx;
idx = 0;
- if (3 != GNUNET_CONFIGURATION_iterate_value_filenames (cfg,
- "FILENAMES",
- "test", &check, &idx))
+ if (3 !=
+ GNUNET_CONFIGURATION_iterate_value_filenames (cfg, "FILENAMES", "test",
+ &check, &idx))
{
GNUNET_break (0);
return 8;
if (idx != 3)
return 16;
if (GNUNET_OK !=
- GNUNET_CONFIGURATION_remove_value_filename (cfg,
- "FILENAMES",
- "test", "/File Name"))
+ GNUNET_CONFIGURATION_remove_value_filename (cfg, "FILENAMES", "test",
+ "/File Name"))
{
GNUNET_break (0);
return 24;
}
if (GNUNET_NO !=
- GNUNET_CONFIGURATION_remove_value_filename (cfg,
- "FILENAMES",
- "test", "/File Name"))
+ GNUNET_CONFIGURATION_remove_value_filename (cfg, "FILENAMES", "test",
+ "/File Name"))
{
GNUNET_break (0);
return 32;
}
if (GNUNET_NO !=
- GNUNET_CONFIGURATION_remove_value_filename (cfg,
- "FILENAMES", "test", "Stuff"))
+ GNUNET_CONFIGURATION_remove_value_filename (cfg, "FILENAMES", "test",
+ "Stuff"))
{
GNUNET_break (0);
return 40;
}
if (GNUNET_NO !=
- GNUNET_CONFIGURATION_append_value_filename (cfg,
- "FILENAMES",
- "test", "/Hello"))
+ GNUNET_CONFIGURATION_append_value_filename (cfg, "FILENAMES", "test",
+ "/Hello"))
{
GNUNET_break (0);
return 48;
}
if (GNUNET_NO !=
- GNUNET_CONFIGURATION_append_value_filename (cfg,
- "FILENAMES",
- "test", "/World"))
+ GNUNET_CONFIGURATION_append_value_filename (cfg, "FILENAMES", "test",
+ "/World"))
{
GNUNET_break (0);
return 56;
}
if (GNUNET_YES !=
- GNUNET_CONFIGURATION_append_value_filename (cfg,
- "FILENAMES",
- "test", "/File 1"))
+ GNUNET_CONFIGURATION_append_value_filename (cfg, "FILENAMES", "test",
+ "/File 1"))
{
GNUNET_break (0);
return 64;
}
if (GNUNET_YES !=
- GNUNET_CONFIGURATION_append_value_filename (cfg,
- "FILENAMES",
- "test", "/File 2"))
+ GNUNET_CONFIGURATION_append_value_filename (cfg, "FILENAMES", "test",
+ "/File 2"))
{
GNUNET_break (0);
return 72;
want[1] = "/World";
want[2] = "/File 1";
want[3] = "/File 2";
- if (4 != GNUNET_CONFIGURATION_iterate_value_filenames (cfg,
- "FILENAMES",
- "test", &check, &idx))
+ if (4 !=
+ GNUNET_CONFIGURATION_iterate_value_filenames (cfg, "FILENAMES", "test",
+ &check, &idx))
{
GNUNET_break (0);
return 80;
if (GNUNET_OK !=
GNUNET_CONFIGURATION_parse (cfg, "test_configuration_data.conf"))
{
- fprintf (stderr, "Failed to parse configuration file\n");
+ FPRINTF (stderr, "%s", "Failed to parse configuration file\n");
GNUNET_CONFIGURATION_destroy (cfg);
return 1;
}
if (GNUNET_OK != GNUNET_CONFIGURATION_write (cfg, "/tmp/gnunet-test.conf"))
{
- fprintf (stderr, "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);
/* 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;