From 83f6ad10c7229130f81ff78e3669110e54d4a7ec Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Sat, 11 Dec 2010 10:24:36 -0500 Subject: Tests for brk(2) and sbrk(2). --- deheader | 25 +++++++++++++------------ test/brk.c | 15 +++++++++++++++ test/regress.chk | 36 +++++++++++++++++++++--------------- test/sbrk.c | 15 +++++++++++++++ 4 files changed, 64 insertions(+), 27 deletions(-) create mode 100644 test/brk.c create mode 100644 test/sbrk.c diff --git a/deheader b/deheader index fac6145..114c036 100755 --- a/deheader +++ b/deheader @@ -42,18 +42,19 @@ requirements = map(lambda (r, h): (re.compile(r), h), ( # Headers mandated by SuS that may not be required by a particular compiler, # usually because all the argument types and the return type are composed # from C scalar types. - (r"a64l\s*\(", [""]), - (r"l64a\s*\(", [""]), - (r"access\s*\(", [""]), - (r"acos\s*\(", [""]), - (r"acosh\s*\(", [""]), - (r"advance\s*\(", [""]), - (r"atan\s*\(", [""]), - (r"atanh\s*\(", [""]), - (r"atan2\s*\(", [""]), - (r"basename\s*\(", [""]), - (r"bcmp\s*\(", [""]), - (r"umask\s*\(", ["", ""]), + (r"\Wa64l\s*\(", [""]), + (r"\Wl64a\s*\(", [""]), + (r"\Waccess\s*\(", [""]), + (r"\Wacos\s*\(", [""]), + (r"\Wacosh\s*\(", [""]), + (r"\Wadvance\s*\(", [""]), + (r"\Watan\s*\(", [""]), + (r"\Watanh\s*\(", [""]), + (r"\Watan2\s*\(", [""]), + (r"\Wbasename\s*\(", [""]), + (r"\Wbcmp\s*\(", [""]), + (r"\Wbrk\s*\(", [""]), + (r"\Wumask\s*\(", ["", ""]), # Dependencies observed on systems other than the Linux this was # developed under. (r"", ["", ""]), diff --git a/test/brk.c b/test/brk.c new file mode 100644 index 0000000..e13c46b --- /dev/null +++ b/test/brk.c @@ -0,0 +1,15 @@ +/* brk() requires */ + +/* + * Items: brk( + * Requires: + * Standardized-By: SuS + * Detected-by: gcc-4.4.3 + Linux + */ + +#include + +main(int arg, char **argv) +{ + brk(NULL); +} diff --git a/test/regress.chk b/test/regress.chk index a1ea9c7..1edf712 100644 --- a/test/regress.chk +++ b/test/regress.chk @@ -2,41 +2,44 @@ deheader: test/string.c includes deheader: test/duplicate.c includes deheader: test/duplicate.c includes deheader: test/duplicate.c has more than one inclusion of +deheader: test/brk.c has requires from \Wbrk\s*\( +deheader: test/brk.c includes deheader: test/asinh.c includes -deheader: test/atol.c has requires from l64a\s*\( +deheader: test/atol.c has requires from \Wl64a\s*\( deheader: test/atol.c includes deheader: test/umask.c includes deheader: test/umask.c includes -deheader: test/umask.c has requires , from umask\s*\( -deheader: test/a64l.c has requires from a64l\s*\( +deheader: test/umask.c has requires , from \Wumask\s*\( +deheader: test/a64l.c has requires from \Wa64l\s*\( deheader: test/a64l.c includes -deheader: test/bcmp.c has requires from bcmp\s*\( +deheader: test/bcmp.c has requires from \Wbcmp\s*\( deheader: test/bcmp.c includes deheader: test/bcopy.c includes deheader: test/atexit.c includes deheader: test/abs.c includes -deheader: test/access.c has requires from access\s*\( +deheader: test/access.c has requires from \Waccess\s*\( deheader: test/access.c includes -deheader: test/atoi.c has requires from l64a\s*\( +deheader: test/atoi.c has requires from \Wl64a\s*\( deheader: test/atoi.c includes +deheader: test/sbrk.c includes deheader: test/alarm.c includes -deheader: test/acos.c has requires from acos\s*\( +deheader: test/acos.c has requires from \Wacos\s*\( deheader: test/acos.c includes deheader: test/abort.c includes -deheader: test/atanh.c has requires from atanh\s*\( +deheader: test/atanh.c has requires from \Watanh\s*\( deheader: test/atanh.c includes -deheader: test/atof.c has requires from l64a\s*\( +deheader: test/atof.c has requires from \Wl64a\s*\( deheader: test/atof.c includes -deheader: test/acosh.c has requires from acosh\s*\( +deheader: test/acosh.c has requires from \Wacosh\s*\( deheader: test/acosh.c includes -deheader: test/atan.c has requires from atan\s*\( +deheader: test/atan.c has requires from \Watan\s*\( deheader: test/atan.c includes -deheader: test/basename.c has requires from basename\s*\( +deheader: test/basename.c has requires from \Wbasename\s*\( deheader: test/basename.c includes deheader: test/asin.c includes -deheader: test/advance.c has requires from advance\s*\( +deheader: test/advance.c has requires from \Wadvance\s*\( deheader: test/advance.c includes -deheader: test/atan2.c has requires from atan2\s*\( +deheader: test/atan2.c has requires from \Watan2\s*\( deheader: test/atan2.c includes deheader: in test/advance.c, retaining required '#include \n' deheader: in test/atof.c, retaining required '#include \n' @@ -65,10 +68,13 @@ deheader: in test/atan2.c, retaining required '#include \n' deheader: in test/acosh.c, retaining required '#include \n' deheader: test/abort.c without succeeded. deheader: remove from test/abort.c +deheader: in test/brk.c, retaining required '#include \n' deheader: in test/bcmp.c, retaining required '#include \n' deheader: test/abs.c without succeeded. deheader: remove from test/abs.c deheader: in test/atan.c, retaining required '#include \n' deheader: test/atexit.c without failed (512). +deheader: test/sbrk.c without succeeded. +deheader: remove from test/sbrk.c deheader: in test/acos.c, retaining required '#include \n' -deheader: saw 24 files, 25 includes, 8 removed +deheader: saw 26 files, 27 includes, 9 removed diff --git a/test/sbrk.c b/test/sbrk.c new file mode 100644 index 0000000..c8bfca7 --- /dev/null +++ b/test/sbrk.c @@ -0,0 +1,15 @@ +/* sbrk() requires */ + +/* + * Items: sbrk( + * Requires: + * Standardized-By: SuS + * Not-Detected-by: gcc-4.4.3 + Linux + */ + +#include + +main(int arg, char **argv) +{ + sbrk(23); +} -- cgit v1.2.3-70-g09d2