# -*- Autotest -*-
AT_BANNER([Forbidden words])
## -------------------- ##
## load_words_from_file ##
## -------------------- ##
AT_TESTFUN([load_words_from_file],
[[
#include "testsuite.h"
#define CONF_DIR_PATH "../../conf/default/"
TS_MAIN
{
GList *dynamic_words;
TS_ASSERT_STDERR_EQ_BEGIN
{
g_verbose = 0;
dynamic_words = load_words_from_file("certainly_missing_file.conf");
g_verbose = 3;
}
TS_ASSERT_STDERR_EQ_END("", "No error messages produced!");
TS_ASSERT_PTR_IS_NULL(dynamic_words);
g_list_free_full(dynamic_words, (GDestroyNotify)free);
const char *static_words[] = { "one", "two", "three", "four", NULL };
xsetenv("LIBREPORT_DEBUG_USER_CONF_BASE_DIR", CONF_DIR_PATH);
TS_ASSERT_STDERR_EQ_BEGIN
{
dynamic_words = load_words_from_file("test_ignored.conf");
}
TS_ASSERT_STDERR_EQ_END("Can't open /etc/libreport/test_ignored.conf: No such file or directory\n", "User notified about errors!");
TS_ASSERT_PTR_IS_NOT_NULL(dynamic_words);
const char **fptr = static_words;
GList *sptr = dynamic_words;
for (; *fptr && sptr; ++fptr, sptr = g_list_next(sptr))
{
const char *fval = *fptr;
const char *sval = sptr->data;
TS_ASSERT_STRING_EQ(fval, sval, "List item equals");
}
TS_ASSERT_TRUE_MESSAGE(*fptr == NULL && sptr == NULL, "instances are not equal in size");
g_list_free_full(dynamic_words, (GDestroyNotify)free);
}
TS_RETURN_MAIN
]])