Esempio n. 1
0
int
main(int argc, char **argv)
{
	time_t t;
	char buf[BUFSIZ];

	time(&t);
	memset(buf, 0x55, sizeof buf);
	TIM_format(t, buf);
	printf("scan = %d <%s>\n", TIM_parse(buf), buf);

	/* Examples from RFC2616 section 3.3.1 */
	tst("Sun, 06 Nov 1994 08:49:37 GMT", 784111777);
	tst("Sunday, 06-Nov-94 08:49:37 GMT", 784111777);
	tst("Sun Nov  6 08:49:37 1994", 784111777);

	tst_delta();

	return (0);
}
Esempio n. 2
0
int
main(int argc, char **argv)
{
	time_t t;
	struct tm tm;
	double tt;
	char buf[BUFSIZ];
	char buf1[BUFSIZ];

	AZ(setenv("TZ", "UTC", 1));
	assert(sizeof t >= 8);

	/* Brute force test against libc version */
	for (t = -2209852800; t < 20000000000; t += 3599) {
		gmtime_r(&t, &tm);
		strftime(buf1, sizeof buf1, "%a, %d %b %Y %T GMT", &tm);
		VTIM_format(t, buf);
		if (strcmp(buf, buf1)) {
			printf("libc: <%s> Vtim <%s> %jd\n",
			    buf1, buf, (intmax_t)t);
			exit(2);
		}
		tt = VTIM_parse(buf1);
		if (tt != t) {
			VTIM_format(tt, buf);
			printf("  fm: %12jd <%s>\n", (intmax_t)t, buf1);
			printf("  to: %12.0f <%s>\n", tt, buf);
			exit(2);
		}

		strftime(buf1, sizeof buf1, "%a %b %e %T %Y", &tm);
		tt = VTIM_parse(buf1);
		if (tt != t) {
			VTIM_format(tt, buf);
			printf("  fm: %12jd <%s>\n", (intmax_t)t, buf1);
			printf("  to: %12.0f <%s>\n", tt, buf);
			exit(2);
		}

		strftime(buf1, sizeof buf1, "%Y-%m-%dT%T", &tm);
		tt = VTIM_parse(buf1);
		if (tt != t) {
			VTIM_format(tt, buf);
			printf("  fm: %12jd <%s>\n", (intmax_t)t, buf1);
			printf("  to: %12.0f <%s>\n", tt, buf);
			exit(2);
		}

		if (tm.tm_year >= 69 && tm.tm_year < 169) {
			strftime(buf1, sizeof buf1, "%A, %d-%b-%y %T GMT", &tm);
			tt = VTIM_parse(buf1);
			if (tt != t) {
				VTIM_format(tt, buf);
				printf("  fm: %12jd <%s>\n", (intmax_t)t, buf1);
				printf("  to: %12.0f <%s>\n", tt, buf);
				exit(2);
			}
		}
	}

	/* Examples from RFC2616 section 3.3.1 */
	tst("Sun, 06 Nov 1994 08:49:37 GMT", 784111777);
	tst("Sunday, 06-Nov-94 08:49:37 GMT", 784111777);
	tst("Sun Nov  6 08:49:37 1994", 784111777);

	tst("1994-11-06T08:49:37", 784111777);

	tst_delta();

	return (0);
}