|
Packit Service |
779887 |
# -*- Autotest -*-
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
AT_BANNER([osinfo])
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
## ------------ ##
|
|
Packit Service |
779887 |
## parse_osinfo ##
|
|
Packit Service |
779887 |
## ------------ ##
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
AT_TESTFUN([parse_osinfo],
|
|
Packit Service |
779887 |
[[
|
|
Packit Service |
779887 |
#include "internal_libreport.h"
|
|
Packit Service |
779887 |
#include <assert.h>
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
int main(void)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
g_verbose=3;
|
|
Packit Service |
779887 |
map_string_t *osinfo = new_map_string();
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
/* Test for empty input */
|
|
Packit Service |
779887 |
parse_osinfo("", osinfo);
|
|
Packit Service |
779887 |
free_map_string(osinfo);
|
|
Packit Service |
779887 |
osinfo = NULL;
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
osinfo = new_map_string();
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
/* Test for standard valid os-release*/
|
|
Packit Service |
779887 |
parse_osinfo(
|
|
Packit Service |
779887 |
"# Very useful comment\n"
|
|
Packit Service |
779887 |
"NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION=\"19 (Schrödinger\\'s Cat)\"\n"
|
|
Packit Service |
779887 |
"ID=fedora\n"
|
|
Packit Service |
779887 |
"VERSION_ID=19\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Fedora 19 (Schrödinger\\'s Cat)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;34\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:fedoraproject:fedora:18\"\n", osinfo);
|
|
Packit Service |
779887 |
assert(0 == strcmp("Fedora", get_map_string_item_or_NULL(osinfo, OSINFO_NAME)));
|
|
Packit Service |
779887 |
assert(0 == strcmp("19 (Schrödinger's Cat)", get_map_string_item_or_NULL(osinfo, "VERSION")));
|
|
Packit Service |
779887 |
assert(0 == strcmp("fedora", get_map_string_item_or_NULL(osinfo, OSINFO_ID)));
|
|
Packit Service |
779887 |
assert(0 == strcmp("19", get_map_string_item_or_NULL(osinfo, OSINFO_VERSION_ID)));
|
|
Packit Service |
779887 |
assert(0 == strcmp("Fedora 19 (Schrödinger\'s Cat)", get_map_string_item_or_NULL(osinfo, OSINFO_PRETTY_NAME)));
|
|
Packit Service |
779887 |
assert(0 == strcmp("0;34", get_map_string_item_or_NULL(osinfo, "ANSI_COLOR")));
|
|
Packit Service |
779887 |
assert(0 == strcmp("cpe:/o:fedoraproject:fedora:18", get_map_string_item_or_NULL(osinfo, "CPE_NAME")));
|
|
Packit Service |
779887 |
free_map_string(osinfo);
|
|
Packit Service |
779887 |
osinfo = NULL;
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
osinfo = new_map_string();
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
/* Test for standard valid os-release*/
|
|
Packit Service |
779887 |
parse_osinfo(
|
|
Packit Service |
779887 |
"NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION=\"20 (Rawhide)\"\n"
|
|
Packit Service |
779887 |
"ID=fedora\n"
|
|
Packit Service |
779887 |
"VERSION_ID=20\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Fedora 20 (Rawhide)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;34\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:fedoraproject:fedora:20\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT=\"Fedora\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT_VERSION=Rawhide\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT=\"Fedora\"\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT_VERSION=Rawhide\n", osinfo);
|
|
Packit Service |
779887 |
assert(0 == strcmp("Fedora", get_map_string_item_or_NULL(osinfo, OSINFO_NAME)));
|
|
Packit Service |
779887 |
assert(0 == strcmp("20 (Rawhide)", get_map_string_item_or_NULL(osinfo, "VERSION")));
|
|
Packit Service |
779887 |
assert(0 == strcmp("fedora", get_map_string_item_or_NULL(osinfo, OSINFO_ID)));
|
|
Packit Service |
779887 |
assert(0 == strcmp("20", get_map_string_item_or_NULL(osinfo, OSINFO_VERSION_ID)));
|
|
Packit Service |
779887 |
assert(0 == strcmp("Fedora 20 (Rawhide)", get_map_string_item_or_NULL(osinfo, OSINFO_PRETTY_NAME)));
|
|
Packit Service |
779887 |
assert(0 == strcmp("0;34", get_map_string_item_or_NULL(osinfo, "ANSI_COLOR")));
|
|
Packit Service |
779887 |
assert(0 == strcmp("cpe:/o:fedoraproject:fedora:20", get_map_string_item_or_NULL(osinfo, "CPE_NAME")));
|
|
Packit Service |
779887 |
assert(0 == strcmp("Fedora", get_map_string_item_or_NULL(osinfo, "REDHAT_BUGZILLA_PRODUCT")));
|
|
Packit Service |
779887 |
assert(0 == strcmp("Rawhide", get_map_string_item_or_NULL(osinfo, "REDHAT_BUGZILLA_PRODUCT_VERSION")));
|
|
Packit Service |
779887 |
assert(0 == strcmp("Fedora", get_map_string_item_or_NULL(osinfo, "REDHAT_SUPPORT_PRODUCT")));
|
|
Packit Service |
779887 |
assert(0 == strcmp("Rawhide", get_map_string_item_or_NULL(osinfo, "REDHAT_SUPPORT_PRODUCT_VERSION")));
|
|
Packit Service |
779887 |
free_map_string(osinfo);
|
|
Packit Service |
779887 |
osinfo = NULL;
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
osinfo = new_map_string();
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
/* Test for standard os-release with few errors */
|
|
Packit Service |
779887 |
parse_osinfo(
|
|
Packit Service |
779887 |
"# Very useful comment\n"
|
|
Packit Service |
779887 |
"# FOO=blah\n"
|
|
Packit Service |
779887 |
"NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION\n"
|
|
Packit Service |
779887 |
"ID=fedora\n"
|
|
Packit Service |
779887 |
"# Comment in lines\n"
|
|
Packit Service |
779887 |
"VERSION_ID=19\n"
|
|
Packit Service |
779887 |
"=\"Fedora 19 (Schrödinger\\'s Cat)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;34\"\n"
|
|
Packit Service |
779887 |
"# The next line misses new line character\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:fedoraproject:fedora:18\"", osinfo);
|
|
Packit Service |
779887 |
assert(NULL == get_map_string_item_or_NULL(osinfo, "FOO"));
|
|
Packit Service |
779887 |
assert(0 == strcmp("Fedora", get_map_string_item_or_NULL(osinfo, OSINFO_NAME)));
|
|
Packit Service |
779887 |
assert(NULL == get_map_string_item_or_NULL(osinfo, "VERSION"));
|
|
Packit Service |
779887 |
assert(0 == strcmp("fedora", get_map_string_item_or_NULL(osinfo, OSINFO_ID)));
|
|
Packit Service |
779887 |
assert(0 == strcmp("19", get_map_string_item_or_NULL(osinfo, OSINFO_VERSION_ID)));
|
|
Packit Service |
779887 |
assert(NULL == get_map_string_item_or_NULL(osinfo, OSINFO_PRETTY_NAME));
|
|
Packit Service |
779887 |
assert(0 == strcmp("0;34", get_map_string_item_or_NULL(osinfo, "ANSI_COLOR")));
|
|
Packit Service |
779887 |
assert(0 == strcmp("cpe:/o:fedoraproject:fedora:18", get_map_string_item_or_NULL(osinfo, "CPE_NAME")));
|
|
Packit Service |
779887 |
free_map_string(osinfo);
|
|
Packit Service |
779887 |
osinfo = NULL;
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
return 0;
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
]])
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
## ------------------- ##
|
|
Packit Service |
779887 |
## parse_osinfo_for_bz ##
|
|
Packit Service |
779887 |
## ------------------- ##
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
AT_TESTFUN([parse_osinfo_for_bz],
|
|
Packit Service |
779887 |
[[
|
|
Packit Service |
779887 |
#include "internal_libreport.h"
|
|
Packit Service |
779887 |
#include <assert.h>
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
void test(const char *osinfo_bytes, const char *product, const char *version)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
map_string_t *osinfo = new_map_string();
|
|
Packit Service |
779887 |
parse_osinfo(osinfo_bytes, osinfo);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
char *built_product = (char *)0xDEADBEAF;
|
|
Packit Service |
779887 |
char *built_version = (char *)0xDEADBEAF;
|
|
Packit Service |
779887 |
parse_osinfo_for_bz(osinfo, &built_product, &built_version);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
if (product != NULL && built_product != NULL)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
if (0 != strcmp(product, built_product))
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
fprintf(stderr, "'%s' != '%s'", product, built_product);
|
|
Packit Service |
779887 |
assert(!"Parsed version doesn't match with expected");
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
else if (product != built_product)
|
|
Packit Service |
779887 |
assert(!"Invalid result. Both should be NULL");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
if (version != NULL && built_version != NULL)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
if (0 != strcmp(version, built_version))
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
fprintf(stderr, "'%s' != '%s'", version, built_version);
|
|
Packit Service |
779887 |
assert(!"Parsed version doesn't match with expected");
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
else if (version != built_version)
|
|
Packit Service |
779887 |
assert(!"Invalid result. Both should be NULL");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
free(built_version);
|
|
Packit Service |
779887 |
free(built_product);
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
int main(void)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
g_verbose=3;
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION=\"19 (Schrödinger\\'s Cat)\"\n"
|
|
Packit Service |
779887 |
"ID=fedora\n"
|
|
Packit Service |
779887 |
"VERSION_ID=19\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Fedora 19 (Schrödinger\\'s Cat)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;34\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:fedoraproject:fedora:18\"\n"
|
|
Packit Service |
779887 |
,"Fedora", "19");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION=\"20 (Rawhide)\"\n"
|
|
Packit Service |
779887 |
"ID=fedora\n"
|
|
Packit Service |
779887 |
"VERSION_ID=20\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Fedora 20 (Rawhide)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;34\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:fedoraproject:fedora:20\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT=\"Fedora\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT_VERSION=Rawhide\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT=\"Fedora\"\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT_VERSION=Rawhide\n"
|
|
Packit Service |
779887 |
,"Fedora", "Rawhide");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=\"Red Hat Enterprise Linux Client\"\n"
|
|
Packit Service |
779887 |
"VERSION=\"7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ID=rhel\n"
|
|
Packit Service |
779887 |
"VERSION_ID=7.0\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Red Hat Enterprise Linux Client 7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;31\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:redhat:enterprise_linux:7.0.0:beta:client\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT=\"Red Hat Enterprise Linux 7\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT_VERSION=7.1\n"
|
|
Packit Service |
779887 |
,"Red Hat Enterprise Linux 7", "7.1");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=\"Red Hat Enterprise Linux Client\"\n"
|
|
Packit Service |
779887 |
"VERSION=\"7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ID=rhel\n"
|
|
Packit Service |
779887 |
"VERSION_ID=7.0\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Red Hat Enterprise Linux Client 7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;31\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:redhat:enterprise_linux:7.0.0:beta:client\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT=\"Red Hat Enterprise Linux 7\"\n"
|
|
Packit Service |
779887 |
,"Red Hat Enterprise Linux 7", "7.0");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=\"Red Hat Enterprise Linux Client\"\n"
|
|
Packit Service |
779887 |
"VERSION=\"7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ID=rhel\n"
|
|
Packit Service |
779887 |
"VERSION_ID=7.0\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Red Hat Enterprise Linux Client 7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;31\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:redhat:enterprise_linux:7.0.0:beta:client\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT_VERSION=7.1\n"
|
|
Packit Service |
779887 |
,"Red Hat Enterprise Linux Client", "7.1");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("PRETTY_NAME=\"Red Hat Enterprise Linux Server release 6.2 Beta (Santiago)\"\n"
|
|
Packit Service |
779887 |
,"Red Hat Enterprise Linux 6", "6.2");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("" ,NULL ,NULL);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
return 0;
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
]])
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
## ----------------------- ##
|
|
Packit Service |
779887 |
## parse_osinfo_for_bugurl ##
|
|
Packit Service |
779887 |
## ----------------------- ##
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
AT_TESTFUN([parse_osinfo_for_bugurl], [[
|
|
Packit Service |
779887 |
#include "testsuite.h"
|
|
Packit Service |
779887 |
#include "internal_libreport.h"
|
|
Packit Service |
779887 |
#include <assert.h>
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
void test(const char *osinfo_bytes, const char *url)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
map_string_t *osinfo = new_map_string();
|
|
Packit Service |
779887 |
parse_osinfo(osinfo_bytes, osinfo);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
char *default_BugzillaURL = (char *)0xDEADBEEF;
|
|
Packit Service |
779887 |
parse_osinfo_for_bug_url(osinfo, &default_BugzillaURL);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
TS_ASSERT_STRING_EQ(default_BugzillaURL, url, "Tested URL");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
free(default_BugzillaURL);
|
|
Packit Service |
779887 |
free_map_string(osinfo);
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
int main(void)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
g_verbose=3;
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION=\"19 (Schrödinger\\'s Cat)\"\n"
|
|
Packit Service |
779887 |
"ID=fedora\n"
|
|
Packit Service |
779887 |
"VERSION_ID=19\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Fedora 19 (Schrödinger\\'s Cat)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;34\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:fedoraproject:fedora:18\"\n"
|
|
Packit Service |
779887 |
,NULL);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=\"Red Hat Enterprise Linux Client\"\n"
|
|
Packit Service |
779887 |
"VERSION=\"7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ID=rhel\n"
|
|
Packit Service |
779887 |
"VERSION_ID=7.0\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Red Hat Enterprise Linux Client 7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;31\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:redhat:enterprise_linux:7.0.0:beta:client\"\n"
|
|
Packit Service |
779887 |
"BUG_REPORT_URL=\"notrfc\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT=\"Red Hat Enterprise Linux 7\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT_VERSION=7.1\n"
|
|
Packit Service |
779887 |
,"notrfc");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=\"Red Hat Enterprise Linux Client\"\n"
|
|
Packit Service |
779887 |
"VERSION=\"7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ID=rhel\n"
|
|
Packit Service |
779887 |
"VERSION_ID=7.0\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Red Hat Enterprise Linux Client 7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;31\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:redhat:enterprise_linux:7.0.0:beta:client\"\n"
|
|
Packit Service |
779887 |
"BUG_REPORT_URL=\"http://bugzilla.redhat.com\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT=\"Red Hat Enterprise Linux 7\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT_VERSION=7.1\n"
|
|
Packit Service |
779887 |
,"http://bugzilla.redhat.com");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("" , NULL);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
return 0;
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
]])
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
## --------------------- ##
|
|
Packit Service |
779887 |
## parse_osinfo_for_rhts ##
|
|
Packit Service |
779887 |
## --------------------- ##
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
AT_TESTFUN([parse_osinfo_for_rhts],
|
|
Packit Service |
779887 |
[[
|
|
Packit Service |
779887 |
#include "internal_libreport.h"
|
|
Packit Service |
779887 |
#include <assert.h>
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
void test(const char *osinfo_bytes, const char *product, const char *version)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
map_string_t *osinfo = new_map_string();
|
|
Packit Service |
779887 |
parse_osinfo(osinfo_bytes, osinfo);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
char *built_product = (char *)0xDEADBEAF;
|
|
Packit Service |
779887 |
char *built_version = (char *)0xDEADBEAF;
|
|
Packit Service |
779887 |
parse_osinfo_for_rhts(osinfo, &built_product, &built_version);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
if (product != NULL && built_product != NULL)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
if (0 != strcmp(product, built_product))
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
fprintf(stderr, "'%s' != '%s'", product, built_product);
|
|
Packit Service |
779887 |
assert(!"Parsed version doesn't match with expected");
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
else if (product != built_product)
|
|
Packit Service |
779887 |
assert(!"Invalid result. Both should be NULL");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
if (version != NULL && built_version != NULL)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
if (0 != strcmp(version, built_version))
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
fprintf(stderr, "'%s' != '%s'", version, built_version);
|
|
Packit Service |
779887 |
assert(!"Parsed version doesn't match with expected");
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
else if (version != built_version)
|
|
Packit Service |
779887 |
assert(!"Invalid result. Both should be NULL");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
free(built_version);
|
|
Packit Service |
779887 |
free(built_product);
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
int main(void)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
g_verbose=3;
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION=\"19 (Schrödinger\\'s Cat)\"\n"
|
|
Packit Service |
779887 |
"ID=fedora\n"
|
|
Packit Service |
779887 |
"VERSION_ID=19\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Fedora 19 (Schrödinger\\'s Cat)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;34\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:fedoraproject:fedora:18\"\n"
|
|
Packit Service |
779887 |
,"Fedora", "19");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION=\"20 (Rawhide)\"\n"
|
|
Packit Service |
779887 |
"ID=fedora\n"
|
|
Packit Service |
779887 |
"VERSION_ID=20\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Fedora 20 (Rawhide)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;34\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:fedoraproject:fedora:20\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT=\"Fedora\"\n"
|
|
Packit Service |
779887 |
"REDHAT_BUGZILLA_PRODUCT_VERSION=Rawhide\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT=\"Fedora\"\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT_VERSION=Rawhide\n"
|
|
Packit Service |
779887 |
,"Fedora", "Rawhide");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=\"Red Hat Enterprise Linux Client\"\n"
|
|
Packit Service |
779887 |
"VERSION=\"7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ID=rhel\n"
|
|
Packit Service |
779887 |
"VERSION_ID=7.0\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Red Hat Enterprise Linux Client 7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;31\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:redhat:enterprise_linux:7.0.0:beta:client\"\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT=\"Red Hat Enterprise Linux 7\"\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT_VERSION=7.1\n"
|
|
Packit Service |
779887 |
,"Red Hat Enterprise Linux 7", "7.1");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=\"Red Hat Enterprise Linux Client\"\n"
|
|
Packit Service |
779887 |
"VERSION=\"7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ID=rhel\n"
|
|
Packit Service |
779887 |
"VERSION_ID=7.0\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Red Hat Enterprise Linux Client 7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;31\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:redhat:enterprise_linux:7.0.0:beta:client\"\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT=\"Red Hat Enterprise Linux 7\"\n"
|
|
Packit Service |
779887 |
,"Red Hat Enterprise Linux 7", "7.0");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("NAME=\"Red Hat Enterprise Linux Client\"\n"
|
|
Packit Service |
779887 |
"VERSION=\"7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ID=rhel\n"
|
|
Packit Service |
779887 |
"VERSION_ID=7.0\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Red Hat Enterprise Linux Client 7.0 Beta (Maipo)\"\n"
|
|
Packit Service |
779887 |
"ANSI_COLOR=\"0;31\"\n"
|
|
Packit Service |
779887 |
"CPE_NAME=\"cpe:/o:redhat:enterprise_linux:7.0.0:beta:client\"\n"
|
|
Packit Service |
779887 |
"REDHAT_SUPPORT_PRODUCT_VERSION=7.1\n"
|
|
Packit Service |
779887 |
,"Red Hat Enterprise Linux Client", "7.1");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("PRETTY_NAME=\"Red Hat Enterprise Linux Server release 6.2 Beta (Santiago)\"\n"
|
|
Packit Service |
779887 |
,"Red Hat Enterprise Linux", "6.2 Beta");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
test("" ,NULL ,NULL);
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
return 0;
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
]])
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
## ----------------------- ##
|
|
Packit Service |
779887 |
## problem_data_get_osinfo ##
|
|
Packit Service |
779887 |
## ----------------------- ##
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
AT_TESTFUN([problem_data_get_osinfo],
|
|
Packit Service |
779887 |
[[
|
|
Packit Service |
779887 |
#include "internal_libreport.h"
|
|
Packit Service |
779887 |
#include <assert.h>
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
int main(void)
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
g_verbose=3;
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
problem_data_t *pd = problem_data_new();
|
|
Packit Service |
779887 |
map_string_t *osinfo = new_map_string();
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
problem_data_add_text_noteditable(pd, FILENAME_OS_INFO,
|
|
Packit Service |
779887 |
"NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION_ID=19\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Fedora 19 (Schrödinger\\'s Cat)\"\n");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
problem_data_get_osinfo(pd, osinfo);
|
|
Packit Service |
779887 |
assert(0 == strcmp("Fedora", get_map_string_item_or_NULL(osinfo, OSINFO_NAME)));
|
|
Packit Service |
779887 |
free_map_string(osinfo);
|
|
Packit Service |
779887 |
problem_data_free(pd);
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
pd = problem_data_new();
|
|
Packit Service |
779887 |
osinfo = new_map_string();
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
problem_data_add_text_noteditable(pd, FILENAME_OS_RELEASE, "Fedora release 19 (Schrödinger's Cat)");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
problem_data_get_osinfo(pd, osinfo);
|
|
Packit Service |
779887 |
assert(0 == strcmp("Fedora release 19 (Schrödinger's Cat)", get_map_string_item_or_NULL(osinfo, OSINFO_PRETTY_NAME)));
|
|
Packit Service |
779887 |
free_map_string(osinfo);
|
|
Packit Service |
779887 |
problem_data_free(pd);
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
pd = problem_data_new();
|
|
Packit Service |
779887 |
osinfo = new_map_string();
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
problem_data_add_text_noteditable(pd, FILENAME_ROOTDIR, "/var/lib/mock");
|
|
Packit Service |
779887 |
problem_data_add_text_noteditable(pd, FILENAME_OS_INFO_IN_ROOTDIR,
|
|
Packit Service |
779887 |
"NAME=\"Red Hat Enterprise Linux Client\"\n"
|
|
Packit Service |
779887 |
"VERSION_ID=7.0\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Red Hat Enterprise Linux Client 7.0 Beta (Maipo)\"\n");
|
|
Packit Service |
779887 |
problem_data_add_text_noteditable(pd, FILENAME_OS_INFO,
|
|
Packit Service |
779887 |
"NAME=Fedora\n"
|
|
Packit Service |
779887 |
"VERSION_ID=19\n"
|
|
Packit Service |
779887 |
"PRETTY_NAME=\"Fedora 19 (Schrödinger\\'s Cat)\"\n");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
problem_data_get_osinfo(pd, osinfo);
|
|
Packit Service |
779887 |
assert(0 == strcmp("Red Hat Enterprise Linux Client", get_map_string_item_or_NULL(osinfo, OSINFO_NAME)));
|
|
Packit Service |
779887 |
free_map_string(osinfo);
|
|
Packit Service |
779887 |
problem_data_free(pd);
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
pd = problem_data_new();
|
|
Packit Service |
779887 |
osinfo = new_map_string();
|
|
Packit Service |
779887 |
{
|
|
Packit Service |
779887 |
problem_data_add_text_noteditable(pd, FILENAME_ROOTDIR, "/var/lib/mock");
|
|
Packit Service |
779887 |
problem_data_add_text_noteditable(pd, FILENAME_OS_RELEASE_IN_ROOTDIR, "Red Hat Enterprise Linux Client 7.0 Beta (Maipo)");
|
|
Packit Service |
779887 |
problem_data_add_text_noteditable(pd, FILENAME_OS_RELEASE, "Fedora release 19 (Schrödinger's Cat)");
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
problem_data_get_osinfo(pd, osinfo);
|
|
Packit Service |
779887 |
assert(0 == strcmp("Red Hat Enterprise Linux Client 7.0 Beta (Maipo)", get_map_string_item_or_NULL(osinfo, OSINFO_PRETTY_NAME)));
|
|
Packit Service |
779887 |
free_map_string(osinfo);
|
|
Packit Service |
779887 |
problem_data_free(pd);
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
return 0;
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
]])
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
## ------------------- ##
|
|
Packit Service |
779887 |
## parse_osinfo_python ##
|
|
Packit Service |
779887 |
## ------------------- ##
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
AT_PYTESTFUN([parse_osinfo_python],
|
|
Packit Service |
779887 |
[[import sys
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
sys.path.insert(0, "../../../src/report-python")
|
|
Packit Service |
779887 |
sys.path.insert(0, "../../../src/report-python/report/report/.libs")
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
report = __import__("report", globals(), locals(), [], 0)
|
|
Packit Service |
779887 |
sys.modules["report"] = report
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
lines = [
|
|
Packit Service |
779887 |
'NAME=fedora\n',
|
|
Packit Service |
779887 |
'VERSION="20 (Heisenbug)"\n',
|
|
Packit Service |
779887 |
'ID=fedora\n',
|
|
Packit Service |
779887 |
'VERSION_ID=20\n',
|
|
Packit Service |
779887 |
'PRETTY_NAME="Fedora 20 (Heisenbug)"\n',
|
|
Packit Service |
779887 |
'ANSI_COLOR="0;34"\n',
|
|
Packit Service |
779887 |
'CPE_NAME="cpe:/o:fedoraproject:fedora:20"\n',
|
|
Packit Service |
779887 |
'HOME_URL="https://fedoraproject.org/"\n',
|
|
Packit Service |
779887 |
'BUG_REPORT_URL="https://bugzilla.redhat.com/"\n',
|
|
Packit Service |
779887 |
'REDHAT_BUGZILLA_PRODUCT="Fedora"\n',
|
|
Packit Service |
779887 |
'REDHAT_BUGZILLA_PRODUCT_VERSION=20\n',
|
|
Packit Service |
779887 |
'REDHAT_SUPPORT_PRODUCT="Fedora"\n',
|
|
Packit Service |
779887 |
'REDHAT_SUPPORT_PRODUCT_VERSION=20',
|
|
Packit Service |
779887 |
]
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
expected = {
|
|
Packit Service |
779887 |
'NAME':'fedora',
|
|
Packit Service |
779887 |
'VERSION':'20 (Heisenbug)',
|
|
Packit Service |
779887 |
'ID':'fedora',
|
|
Packit Service |
779887 |
'VERSION_ID':'20',
|
|
Packit Service |
779887 |
'PRETTY_NAME':'Fedora 20 (Heisenbug)',
|
|
Packit Service |
779887 |
'ANSI_COLOR':'0;34',
|
|
Packit Service |
779887 |
'CPE_NAME':'cpe:/o:fedoraproject:fedora:20',
|
|
Packit Service |
779887 |
'HOME_URL':'https://fedoraproject.org/',
|
|
Packit Service |
779887 |
'BUG_REPORT_URL':'https://bugzilla.redhat.com/',
|
|
Packit Service |
779887 |
'REDHAT_BUGZILLA_PRODUCT':'Fedora',
|
|
Packit Service |
779887 |
'REDHAT_BUGZILLA_PRODUCT_VERSION':'20',
|
|
Packit Service |
779887 |
'REDHAT_SUPPORT_PRODUCT':'Fedora',
|
|
Packit Service |
779887 |
'REDHAT_SUPPORT_PRODUCT_VERSION':'20'
|
|
Packit Service |
779887 |
}
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
osrel = report.parse_os_release_lines(lines)
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
print(sorted(expected.items()))
|
|
Packit Service |
779887 |
print(sorted(osrel.items()))
|
|
Packit Service |
779887 |
|
|
Packit Service |
779887 |
sys.exit(not bool(osrel == expected))
|
|
Packit Service |
779887 |
]])
|