Blame tests/osinfo.at

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
]])