diff options
author | Mark Wielaard <mwielaard@redhat.com> | 2008-05-20 00:12:25 +0200 |
---|---|---|
committer | Mark Wielaard <mwielaard@redhat.com> | 2008-05-20 00:12:25 +0200 |
commit | c4c1558bbb72f56307d70661ac125544f1b88ffd (patch) | |
tree | e842638460988ce8805fa5c692d5ebaa0f1da230 /testsuite/systemtap.base | |
parent | 495f9db8f6d9f29830972d4a494f1896cdf7eee2 (diff) | |
download | systemtap-steved-c4c1558bbb72f56307d70661ac125544f1b88ffd.tar.gz systemtap-steved-c4c1558bbb72f56307d70661ac125544f1b88ffd.tar.xz systemtap-steved-c4c1558bbb72f56307d70661ac125544f1b88ffd.zip |
PR6524: ctime() on bad values hangs system.
Diffstat (limited to 'testsuite/systemtap.base')
-rw-r--r-- | testsuite/systemtap.base/ctime.exp | 18 | ||||
-rw-r--r-- | testsuite/systemtap.base/ctime.stp | 55 |
2 files changed, 73 insertions, 0 deletions
diff --git a/testsuite/systemtap.base/ctime.exp b/testsuite/systemtap.base/ctime.exp new file mode 100644 index 00000000..f6db096a --- /dev/null +++ b/testsuite/systemtap.base/ctime.exp @@ -0,0 +1,18 @@ +set test "ctime" +set ::result_string {Thu Jan 1 00:00:00 1970 +Wed Dec 31 23:59:59 1969 +Thu Jan 1 00:00:01 1970 +Sat Mar 3 09:46:40 1973 +Fri Feb 13 23:31:30 2009 +Sat Jan 10 13:37:04 2004 +Fri Jul 13 11:01:20 2012 +a long, long time ago... +far far in the future... +Fri Dec 13 20:45:52 1901 +a long, long time ago... +Tue Jan 19 03:14:07 2038 +far far in the future... +a long, long time ago... +far far in the future... +} +stap_run2 $srcdir/$subdir/$test.stp diff --git a/testsuite/systemtap.base/ctime.stp b/testsuite/systemtap.base/ctime.stp new file mode 100644 index 00000000..680baff7 --- /dev/null +++ b/testsuite/systemtap.base/ctime.stp @@ -0,0 +1,55 @@ +probe begin +{ + // epoch + println(ctime(0)) + + // epoch - 1 + println(ctime(-1)) + + // epoch + 1 + println(ctime(1)) + + // Some funny numbers + println(ctime(100000000)) + println(ctime(1234567890)) + println(ctime(1073741824)) + println(ctime(0x50000000)) + + // some time really long ago + secspermin = 60 + minsperhour = 60 + hoursperday = 24 + secsperhour = secspermin * minsperhour + secsperday = secsperhour * hoursperday + epoch_year = 1970 + time = -1 * (epoch_year - 1000) * 365 * secsperday + println(ctime(time)) + + // some time in the far future + time = (9999 - epoch_year) * 365 * secsperday + println(ctime(time)) + + // min 32 bit + time = -2147483648 + println(ctime(time)) + + // over the edge, a long, long time ago... + time-- + println(ctime(time)) + + // max 32 bit + time = 2147483647 + println(ctime(time)) + + // over the edge, far far in the future... + time++ + println(ctime(time)) + + // min 64 bit + println(ctime(-9223372036854775808)) + + // max 64 bit + println(ctime(9223372036854775807)) + + exit() +} |