Blame tests/iso_date.at

Packit Service 779887
# -*- Autotest -*-
Packit Service 779887
Packit Service 779887
AT_BANNER([ISO_date])
Packit Service 779887
Packit Service 779887
## --------------- ##
Packit Service 779887
## iso_date_string ##
Packit Service 779887
## --------------- ##
Packit Service 779887
Packit Service 779887
AT_TESTFUN([iso_date_string],
Packit Service 779887
[[#include "internal_libreport.h"
Packit Service 779887
#include <assert.h>
Packit Service 779887
#include <string.h>
Packit Service 779887
#include <stdio.h>
Packit Service 779887
Packit Service 779887
bool string_cmp(const char *orig, const char *other)
Packit Service 779887
{
Packit Service 779887
    if (strcmp(orig, other) == 0)
Packit Service 779887
        return true;
Packit Service 779887
Packit Service 779887
    printf("'%s' != '%s'\n", orig, other);
Packit Service 779887
    return false;
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
    setenv("TZ", "", 1);
Packit Service 779887
    setenv("LC_ALL", "C", 1);
Packit Service 779887
Packit Service 779887
    time_t local[3];
Packit Service 779887
Packit Service 779887
    time(&local[0]);
Packit Service 779887
    char *date = xstrdup(iso_date_string(NULL));
Packit Service 779887
Packit Service 779887
    local[1] = local[0] + 1;
Packit Service 779887
    local[2] = local[0] + 2;
Packit Service 779887
    size_t i = 0;
Packit Service 779887
    for (; ARRAY_SIZE(local); ++i)
Packit Service 779887
    {
Packit Service 779887
        if (string_cmp(date, iso_date_string(local + i)))
Packit Service 779887
            break;
Packit Service 779887
    }
Packit Service 779887
    assert((i != ARRAY_SIZE(local)) || !"None of attempts hit result date");
Packit Service 779887
    free(date);
Packit Service 779887
Packit Service 779887
    time_t y2k = 946684800;
Packit Service 779887
    assert(string_cmp("2000-01-01-00:00:00", iso_date_string(&y2k)));
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
## iso_date_string_parse ##
Packit Service 779887
## --------------------- ##
Packit Service 779887
Packit Service 779887
AT_TESTFUN([parse_numbers],
Packit Service 779887
[[#include "internal_libreport.h"
Packit Service 779887
#include <assert.h>
Packit Service 779887
#include <string.h>
Packit Service 779887
#include <stdio.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
    setenv("TZ", "", 1);
Packit Service 779887
    setenv("LC_ALL", "C", 1);
Packit Service 779887
Packit Service 779887
    {
Packit Service 779887
        time_t result = 0;
Packit Service 779887
        assert(iso_date_string_parse("", &result) == -EINVAL);
Packit Service 779887
    }
Packit Service 779887
Packit Service 779887
    {
Packit Service 779887
        time_t result = 0;
Packit Service 779887
        assert(iso_date_string_parse("foo", &result) == -EINVAL);
Packit Service 779887
    }
Packit Service 779887
Packit Service 779887
    {
Packit Service 779887
        time_t result = 0;
Packit Service 779887
        assert(iso_date_string_parse("1969-12-31-23:59:59", &result) == -EINVAL);
Packit Service 779887
    }
Packit Service 779887
Packit Service 779887
    {
Packit Service 779887
        time_t result = 0;
Packit Service 779887
        assert(iso_date_string_parse("1970-01-01-00:00:00", &result) == 0);
Packit Service 779887
        assert(result == 0);
Packit Service 779887
    }
Packit Service 779887
Packit Service 779887
    {
Packit Service 779887
        time_t result = 0;
Packit Service 779887
        assert(iso_date_string_parse("2000-01-01-00:00:00", &result) == 0);
Packit Service 779887
        assert(result == 946684800 || !"Y2k");
Packit Service 779887
    }
Packit Service 779887
Packit Service 779887
    {
Packit Service 779887
        time_t result = 0;
Packit Service 779887
        assert(iso_date_string_parse("2000-01-01-00:00:00fooo", &result) == -EINVAL);
Packit Service 779887
    }
Packit Service 779887
Packit Service 779887
    return 0;
Packit Service 779887
}
Packit Service 779887
]])