|
Packit |
4f15d5 |
# -*- Autotest -*-
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
AT_BANNER([reported_to])
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
## -------------------- ##
|
|
Packit |
4f15d5 |
## add_reported_to_data ##
|
|
Packit |
4f15d5 |
## -------------------- ##
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
AT_TESTFUN([add_reported_to_data],
|
|
Packit |
4f15d5 |
[[
|
|
Packit |
4f15d5 |
#include "internal_libreport.h"
|
|
Packit |
4f15d5 |
#include <assert.h>
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
bool string_cmp(const char *orig, const char *other)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
if (strcmp(orig, other) == 0)
|
|
Packit |
4f15d5 |
return true;
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
printf("'%s' != '%s'\n", orig, other);
|
|
Packit |
4f15d5 |
return false;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
int main(void)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
g_verbose=3;
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define FIRST_LINE "Bugzilla: URL=https://goodluck.org"
|
|
Packit |
4f15d5 |
#define SECOND_LINE "ABRT Server: BTHASH=81680083BIGBOOBS"
|
|
Packit |
4f15d5 |
#define THIRD_LINE "RHTSupport: TIME=12345678 URL=https://access.redhat.com/home MSG=The world's best IT support"
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
assert(add_reported_to_data(&reported_to, FIRST_LINE) || !"Refused to add the first line");
|
|
Packit |
4f15d5 |
assert(string_cmp(FIRST_LINE"\n", reported_to) || !"Failed to create reported_to from the line");
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_data(&reported_to, SECOND_LINE) || !"Refused to add the second line" );
|
|
Packit |
4f15d5 |
assert(string_cmp(FIRST_LINE"\n"SECOND_LINE"\n", reported_to) || !"Failed to add the second line");
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_data(&reported_to, THIRD_LINE) || !"Refused to add the third line");
|
|
Packit |
4f15d5 |
assert(string_cmp(FIRST_LINE"\n"SECOND_LINE"\n"THIRD_LINE"\n", reported_to) || !"Failed to add the third line");
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(!add_reported_to_data(&reported_to, FIRST_LINE) || !"Added the first line again");
|
|
Packit |
4f15d5 |
assert(string_cmp(FIRST_LINE"\n"SECOND_LINE"\n"THIRD_LINE"\n", reported_to) || !"Modified the reported_to text not adding the first again");
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(!add_reported_to_data(&reported_to, SECOND_LINE) || !"Added the second line again");
|
|
Packit |
4f15d5 |
assert(string_cmp(FIRST_LINE"\n"SECOND_LINE"\n"THIRD_LINE"\n", reported_to) || !"Modified the reported_to text not adding the second again");
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(!add_reported_to_data(&reported_to, THIRD_LINE) || !"Added the third line again");
|
|
Packit |
4f15d5 |
assert(string_cmp(FIRST_LINE"\n"SECOND_LINE"\n"THIRD_LINE"\n", reported_to) || !"Modified the reported_to text not adding the second again");
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
free(reported_to);
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
return 0;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
]])
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
## -------------------------- ##
|
|
Packit |
4f15d5 |
## add_reported_to_entry_data ##
|
|
Packit |
4f15d5 |
## -------------------------- ##
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
AT_TESTFUN([add_reported_to_entry_data],
|
|
Packit |
4f15d5 |
[[
|
|
Packit |
4f15d5 |
#include "internal_libreport.h"
|
|
Packit |
4f15d5 |
#include <assert.h>
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
bool string_cmp(const char *orig, const char *other)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
if (strcmp(orig, other) == 0)
|
|
Packit |
4f15d5 |
return true;
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
printf("Exp: '%s'\nGot: '%s'\n", orig, other);
|
|
Packit |
4f15d5 |
return false;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
int main(void)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
g_verbose=3;
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
setenv("TZ", "", 1);
|
|
Packit |
4f15d5 |
setenv("LC_ALL", "C", 1);
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
report_result_t result = {
|
|
Packit |
4f15d5 |
.label = NULL,
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_entry_data(&reported_to, &result) == -EINVAL || !"0 string");
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
report_result_t result = {
|
|
Packit |
4f15d5 |
.label = (char *)"",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_entry_data(&reported_to, &result) == -EINVAL || !"Empty string");
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
report_result_t result = {
|
|
Packit |
4f15d5 |
.label = (char *)"Fo:",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_entry_data(&reported_to, &result) == -EINVAL || !"Contains :");
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
report_result_t result = {
|
|
Packit |
4f15d5 |
.label = (char *)"Foo = blah",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_entry_data(&reported_to, &result) || !"Label contains = and space");
|
|
Packit |
4f15d5 |
assert(reported_to != NULL);
|
|
Packit |
4f15d5 |
assert(string_cmp("Foo = blah:\n", reported_to));
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
report_result_t result = {
|
|
Packit |
4f15d5 |
.label = (char *)"OnlyURL",
|
|
Packit |
4f15d5 |
.url = (char *)"http://test1.com",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_entry_data(&reported_to, &result) || !"Only URL");
|
|
Packit |
4f15d5 |
assert(reported_to != NULL);
|
|
Packit |
4f15d5 |
assert(string_cmp("OnlyURL: URL=http://test1.com\n", reported_to));
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
report_result_t result = {
|
|
Packit |
4f15d5 |
.label = (char *)"OnlyBTHASH",
|
|
Packit |
4f15d5 |
.bthash = (char *)"0123456789ABCDEF",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_entry_data(&reported_to, &result) || !"Only BTHASH");
|
|
Packit |
4f15d5 |
assert(reported_to != NULL);
|
|
Packit |
4f15d5 |
assert(string_cmp("OnlyBTHASH: BTHASH=0123456789ABCDEF\n", reported_to));
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
report_result_t result = {
|
|
Packit |
4f15d5 |
.label = (char *)"OnlyMSG",
|
|
Packit |
4f15d5 |
.msg = (char *)"Message = foo : blah!",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_entry_data(&reported_to, &result) || !"Only MSG");
|
|
Packit |
4f15d5 |
assert(reported_to != NULL);
|
|
Packit |
4f15d5 |
assert(string_cmp("OnlyMSG: MSG=Message = foo : blah!\n", reported_to));
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
report_result_t result = {
|
|
Packit |
4f15d5 |
.label = (char *)"OnlyTIME",
|
|
Packit |
4f15d5 |
/* 2000-01-01-00:00:00 */
|
|
Packit |
4f15d5 |
.timestamp = 946684800,
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_entry_data(&reported_to, &result) || !"Only MSG");
|
|
Packit |
4f15d5 |
assert(reported_to != NULL);
|
|
Packit |
4f15d5 |
assert(string_cmp("OnlyTIME: TIME=2000-01-01-00:00:00\n", reported_to));
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
char *reported_to = NULL;
|
|
Packit |
4f15d5 |
report_result_t result = {
|
|
Packit |
4f15d5 |
.label = (char *)"Everything",
|
|
Packit |
4f15d5 |
/* 2000-01-01-00:00:00 */
|
|
Packit |
4f15d5 |
.timestamp = 946684800,
|
|
Packit |
4f15d5 |
.url = (char *)"http://epic.win",
|
|
Packit |
4f15d5 |
.bthash = (char *)"0123456789ABCDEF",
|
|
Packit |
4f15d5 |
.msg = (char *)"Exhausting libreport test!",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
assert(add_reported_to_entry_data(&reported_to, &result) || !"Everything");
|
|
Packit |
4f15d5 |
assert(reported_to != NULL);
|
|
Packit |
4f15d5 |
assert(string_cmp("Everything: TIME=2000-01-01-00:00:00 URL=http://epic.win BTHASH=0123456789ABCDEF MSG=Exhausting libreport test!\n", reported_to));
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
]])
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
## ---------------------- ##
|
|
Packit |
4f15d5 |
## parse_reported_to_data ##
|
|
Packit |
4f15d5 |
## ---------------------- ##
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
AT_TESTFUN([parse_reported_to_data],
|
|
Packit |
4f15d5 |
[[
|
|
Packit |
4f15d5 |
#include "internal_libreport.h"
|
|
Packit |
4f15d5 |
#include <assert.h>
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
bool parse_and_check(const char *reported_to, GList *expected)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
GList *reports = read_entire_reported_to_data(reported_to);
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
const unsigned expected_len = g_list_length(expected);
|
|
Packit |
4f15d5 |
const unsigned current_len = g_list_length(expected);
|
|
Packit |
4f15d5 |
if (expected_len != current_len)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("Expected %d != Current %d\n", expected_len, current_len);
|
|
Packit |
4f15d5 |
goto finish;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
bool res = false;
|
|
Packit |
4f15d5 |
for(unsigned i = 0; i < expected_len; ++i)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *e = (report_result_t *)g_list_nth_data(expected, i);
|
|
Packit |
4f15d5 |
report_result_t *c = (report_result_t *)g_list_nth_data(reports, i);
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
printf("Reported to record %d\n", i);
|
|
Packit |
4f15d5 |
if (strcmp(e->label, c->label) != 0)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("'%s' != '%s'\n", e->label, c->label);
|
|
Packit |
4f15d5 |
goto finish;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
if(e->timestamp != c->timestamp)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("Timestamps: '%ld' != '%ld'\n", e->timestamp, c->timestamp);
|
|
Packit |
4f15d5 |
goto finish;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
if(!((e->url == NULL && c->url == NULL) || strcmp(e->url, c->url) == 0))
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("'%s' != '%s'\n", e->url, c->url);
|
|
Packit |
4f15d5 |
goto finish;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
if(!((e->bthash == NULL && c->bthash == NULL) || (strcmp(e->bthash, c->bthash) == 0)))
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("'%s' != '%s'\n", e->bthash, c->bthash);
|
|
Packit |
4f15d5 |
goto finish;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
if(!((e->msg == NULL && c->msg == NULL) || (strcmp(e->msg, c->msg) == 0)))
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("'%s' != '%s'\n", e->msg, c->msg);
|
|
Packit |
4f15d5 |
goto finish;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
res = true;
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
finish:
|
|
Packit |
4f15d5 |
g_list_free_full(reports, (GDestroyNotify)free_report_result);
|
|
Packit |
4f15d5 |
return res;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
int main(void)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
g_verbose=3;
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
setenv("TZ", "", 1);
|
|
Packit |
4f15d5 |
setenv("LC_ALL", "C", 1);
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define FIRST_LINE "Bugzilla: URL=https://goodluck.org"
|
|
Packit |
4f15d5 |
#define FOURTH_LINE "Bugzilla: TIME=invalid URL=https://goodluck.org"
|
|
Packit |
4f15d5 |
report_result_t first_result = {
|
|
Packit |
4f15d5 |
.label = (char *)"Bugzilla",
|
|
Packit |
4f15d5 |
.url = (char *)"https://goodluck.org"
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define SECOND_LINE "ABRT Server: BTHASH=81680083BIGBOOBS"
|
|
Packit |
4f15d5 |
#define FIFTH_LINE "ABRT Server: TIME=invalid BTHASH=81680083BIGBOOBS"
|
|
Packit |
4f15d5 |
report_result_t second_result = {
|
|
Packit |
4f15d5 |
.label = (char *)"ABRT Server",
|
|
Packit |
4f15d5 |
.bthash = (char *)"81680083BIGBOOBS"
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define THIRD_LINE "RHTSupport: TIME=2000-01-01-00:00:00 URL=https://access.redhat.com/home MSG=The world's best IT support"
|
|
Packit |
4f15d5 |
report_result_t third_result = {
|
|
Packit |
4f15d5 |
.timestamp = 946684800,
|
|
Packit |
4f15d5 |
.label = (char *)"RHTSupport",
|
|
Packit |
4f15d5 |
.url = (char *)"https://access.redhat.com/home",
|
|
Packit |
4f15d5 |
.msg = (char *)"The world's best IT support",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
GList *expected = g_list_append(NULL, &first_result);
|
|
Packit |
4f15d5 |
assert(parse_and_check(FIRST_LINE, expected));
|
|
Packit |
4f15d5 |
assert(parse_and_check(FOURTH_LINE, expected));
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
expected = g_list_append(expected, &second_result);
|
|
Packit |
4f15d5 |
assert(parse_and_check(FIRST_LINE"\n"SECOND_LINE, expected));
|
|
Packit |
4f15d5 |
assert(parse_and_check(FIRST_LINE"\n"FIFTH_LINE, expected));
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
expected = g_list_append(expected, &third_result);
|
|
Packit |
4f15d5 |
assert(parse_and_check(FIRST_LINE"\n"SECOND_LINE"\n"THIRD_LINE, expected));
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
g_list_free(expected);
|
|
Packit |
4f15d5 |
expected = NULL;
|
|
Packit |
4f15d5 |
expected = g_list_append(expected, &second_result);
|
|
Packit |
4f15d5 |
assert(parse_and_check(SECOND_LINE, expected));
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
g_list_free(expected);
|
|
Packit |
4f15d5 |
expected = NULL;
|
|
Packit |
4f15d5 |
expected = g_list_append(expected, &third_result);
|
|
Packit |
4f15d5 |
assert(parse_and_check(THIRD_LINE, expected));
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
g_list_free(expected);
|
|
Packit |
4f15d5 |
expected = g_list_append(NULL, &first_result);
|
|
Packit |
4f15d5 |
assert(parse_and_check("Bugzilla URL=worksfine", NULL));
|
|
Packit |
4f15d5 |
assert(parse_and_check("Bugzilla URL=evenbetter\n"FIRST_LINE, expected));
|
|
Packit |
4f15d5 |
assert(parse_and_check(": URL=thebest\n"FIRST_LINE, expected));
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
g_list_free(expected);
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
return 0;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
]])
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
## ------------------- ##
|
|
Packit |
4f15d5 |
## find_in_reported_to ##
|
|
Packit |
4f15d5 |
## ------------------- ##
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
AT_TESTFUN([find_in_reported_to],
|
|
Packit |
4f15d5 |
[[
|
|
Packit |
4f15d5 |
#include "internal_libreport.h"
|
|
Packit |
4f15d5 |
#include <assert.h>
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
bool report_result_cmp(const report_result_t *e, const report_result_t *c)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
if (strcmp(e->label, c->label) != 0)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("'%s' != '%s'\n", e->label, c->label);
|
|
Packit |
4f15d5 |
return false;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
if(!((e->url == NULL && c->url == NULL) || (strcmp(e->url, c->url) == 0)))
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("'%s' != '%s'\n", e->url, c->url);
|
|
Packit |
4f15d5 |
return false;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
if(!((e->bthash == NULL && c->bthash == NULL) || (strcmp(e->bthash, c->bthash) == 0)))
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("'%s' != '%s'\n", e->bthash, c->bthash);
|
|
Packit |
4f15d5 |
return false;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
if(!((e->msg == NULL && c->msg == NULL) || (strcmp(e->msg, c->msg) == 0)))
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
printf("'%s' != '%s'\n", e->msg, c->msg);
|
|
Packit |
4f15d5 |
return false;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
return true;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
int main(void)
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
g_verbose=3;
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define FIRST_LINE "Bugzilla: URL=https://goodluck.org"
|
|
Packit |
4f15d5 |
report_result_t first_result = {
|
|
Packit |
4f15d5 |
.label = (char *)"Bugzilla",
|
|
Packit |
4f15d5 |
.url = (char *)"https://goodluck.org"
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define SECOND_LINE "ABRT Server: BTHASH=81680083BIGBOOBS"
|
|
Packit |
4f15d5 |
report_result_t second_result = {
|
|
Packit |
4f15d5 |
.label = (char *)"ABRT Server",
|
|
Packit |
4f15d5 |
.bthash = (char *)"81680083BIGBOOBS"
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define THIRD_LINE "RHTSupport: TIME=12345678 URL=https://access.redhat.com/home MSG=The world's best IT support"
|
|
Packit |
4f15d5 |
report_result_t third_result = {
|
|
Packit |
4f15d5 |
.label = (char *)"RHTSupport",
|
|
Packit |
4f15d5 |
.url = (char *)"https://access.redhat.com/home",
|
|
Packit |
4f15d5 |
.msg = (char *)"The world's best IT support",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define FOURTH_LINE "Bugzilla: URL=https://always.win"
|
|
Packit |
4f15d5 |
report_result_t fourth_result = {
|
|
Packit |
4f15d5 |
.label = (char *)"Bugzilla",
|
|
Packit |
4f15d5 |
.url = (char *)"https://always.win",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define FIFTH_LINE "ABRT Server: BTHASH=DEADBEAF"
|
|
Packit |
4f15d5 |
report_result_t fifth_result = {
|
|
Packit |
4f15d5 |
.label = (char *)"ABRT Server",
|
|
Packit |
4f15d5 |
.bthash = (char *)"DEADBEAF",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
#define SIXTH_LINE "RHTSupport: TIME=87654321 URL=https://bugzilla.redhat.com/ MSG=The world's biggest Bugzilla instance"
|
|
Packit |
4f15d5 |
report_result_t sixth_result = {
|
|
Packit |
4f15d5 |
.label = (char *)"RHTSupport",
|
|
Packit |
4f15d5 |
.url = (char *)"https://bugzilla.redhat.com/",
|
|
Packit |
4f15d5 |
.msg = (char *)"The world's biggest Bugzilla instance",
|
|
Packit |
4f15d5 |
};
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *found = find_in_reported_to_data(FIRST_LINE, "Bugzilla");
|
|
Packit |
4f15d5 |
assert(found != NULL || !"Failed to find Bugzilla");
|
|
Packit |
4f15d5 |
assert(report_result_cmp(found, &first_result) || !"Failed to parse Bugzilla");
|
|
Packit |
4f15d5 |
free_report_result(found);
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *found = find_in_reported_to_data(SECOND_LINE, "ABRT Server");
|
|
Packit |
4f15d5 |
assert(found != NULL || !"Failed to find ABRT Server");
|
|
Packit |
4f15d5 |
assert(report_result_cmp(found, &second_result) || !"Failed to parse ABRT Server");
|
|
Packit |
4f15d5 |
free_report_result(found);
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *found = find_in_reported_to_data(THIRD_LINE, "RHTSupport");
|
|
Packit |
4f15d5 |
assert(found != NULL || !"Failed to find RHTSupport");
|
|
Packit |
4f15d5 |
assert(report_result_cmp(found, &third_result) || !"Failed to parse RHTSupport");
|
|
Packit |
4f15d5 |
free_report_result(found);
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *found = find_in_reported_to_data(FIRST_LINE"\n"FOURTH_LINE, "Bugzilla");
|
|
Packit |
4f15d5 |
assert(found != NULL || !"Failed to find the latest Bugzilla");
|
|
Packit |
4f15d5 |
assert(report_result_cmp(found, &fourth_result) || !"Failed to parse the latest Bugzilla");
|
|
Packit |
4f15d5 |
free_report_result(found);
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *found = find_in_reported_to_data(SECOND_LINE"\n"FIFTH_LINE, "ABRT Server");
|
|
Packit |
4f15d5 |
assert(found != NULL || !"Failed to find the latest ABRT Server");
|
|
Packit |
4f15d5 |
assert(report_result_cmp(found, &fifth_result) || !"Failed to parse the latest ABRT Server");
|
|
Packit |
4f15d5 |
free_report_result(found);
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *found = find_in_reported_to_data(THIRD_LINE"\n"SIXTH_LINE, "RHTSupport");
|
|
Packit |
4f15d5 |
assert(found != NULL || !"Failed to find the RHTSupport");
|
|
Packit |
4f15d5 |
assert(report_result_cmp(found, &sixth_result) || !"Failed to parse the latest RHTSupport");
|
|
Packit |
4f15d5 |
free_report_result(found);
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *found = find_in_reported_to_data(FIRST_LINE"\n"SECOND_LINE"\n"THIRD_LINE"\n"FOURTH_LINE"\n"FIFTH_LINE"\n"SIXTH_LINE, "Bugzilla");
|
|
Packit |
4f15d5 |
assert(found != NULL || !"Failed to find the latest Bugzilla from huge file");
|
|
Packit |
4f15d5 |
assert(report_result_cmp(found, &fourth_result) || !"Failed to parse the latest Bugzilla from huge file");
|
|
Packit |
4f15d5 |
free_report_result(found);
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *found = find_in_reported_to_data(FIRST_LINE"\n"SECOND_LINE"\n"THIRD_LINE"\n"FOURTH_LINE"\n"FIFTH_LINE"\n"SIXTH_LINE, "ABRT Server");
|
|
Packit |
4f15d5 |
assert(found != NULL || !"Failed to find the latest ABRT Server from huge file");
|
|
Packit |
4f15d5 |
assert(report_result_cmp(found, &fifth_result) || !"Failed to parse the latest ABRT Server from huge file");
|
|
Packit |
4f15d5 |
free_report_result(found);
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
{
|
|
Packit |
4f15d5 |
report_result_t *found = find_in_reported_to_data(FIRST_LINE"\n"SECOND_LINE"\n"THIRD_LINE"\n"FOURTH_LINE"\n"FIFTH_LINE"\n"SIXTH_LINE, "RHTSupport");
|
|
Packit |
4f15d5 |
assert(found != NULL || !"Failed to find the RHTSupport from huge file");
|
|
Packit |
4f15d5 |
assert(report_result_cmp(found, &sixth_result) || !"Failed to parse the latest RHTSupport from huge file");
|
|
Packit |
4f15d5 |
free_report_result(found);
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
|
|
Packit |
4f15d5 |
return 0;
|
|
Packit |
4f15d5 |
}
|
|
Packit |
4f15d5 |
]])
|