On Sat, Oct 13, 2012 at 4:40 PM, Glenn Fowler <[email protected]> wrote:
> ast-ksh 2012-10-12 alpha posted
In general the alpha looks very good. There seems to be no new
critical gcc warnings, interactive testing with builtin grep looks OK
(e.g. we tested job control and repeated CTRL-C usage for grep -r
etc.) and Solaris uses |posix_spawn()| without problems.
The only issue we stumbled over is ./src/lib/libcmd/iconv.c, function
|listall()|:
-- snip --
if (!access(p, X_OK) || !access(p += 4, X_OK))
{
sfprintf(sfstdout, "\n");
execl(p, "iconv", "-l", 0);
}
-- snip --
... obviously the |execl()| will terminate the whole shell... any
suggestions what can be used in this case (|sh_run()| _may_ trigger a
recursive loop if ".sh.op_astbin=/bin" is used... right ?) ?
The only other (now annoying... since it was AFAIK reported multiple
times) is that "shtests" should really really set "ulimit -n" to
something higher than 256 on older Unix variants... it's generating
false errors since some tests rely on "ulimit -n 512' while old Unix
variants like Solaris sometimes still default to 256 (and "ulimit -s"
should be at least 65536 to handle deeper stack consumption on RISC
architectures (e.g. Solaris/SPARC and Linux/IA64)).
The following patch solves that:
-- snip --
diff -r -u original/src/cmd/ksh93/tests/shtests
build_xattr/src/cmd/ksh93/tests/shtests
--- src/cmd/ksh93/tests/shtests 2012-05-29 23:15:16.000000000 +0200
+++ src/cmd/ksh93/tests/shtests 2012-07-11 12:52:48.115118411 +0200
@@ -10,7 +10,7 @@
USAGE=$'
[-s8?
-@(#)$Id: shtests (AT&T Research) 2012-05-29 $
+@(#)$Id: shtests (AT&T Research) 2012-07-10 $
]
'$USAGE_LICENSE$'
[+NAME?shtests - ksh regression test harness]
@@ -175,7 +175,7 @@
while getopts -a $command "$USAGE" OPT
do case $OPT in
- c) if (( $OPTARG ))
+ c) if (( OPTARG ))
then compile=2
else compile=0
fi
@@ -204,7 +204,12 @@
;;
esac
done
-shift $OPTIND-1
+shift $((OPTIND-1))
+
+# "fix" ulimit limits if the are too low for running the tests
+# (this has bitten us on Solaris more than once)
+(( $(ulimit -s) < 65536 )) && ulimit -s 65536
+(( $(ulimit -n) < 512 )) && ulimit -n 512
if (( debug )) || [[ $trace ]]
then export PS4=':$LINENO: '
-- snip --
(this patch was part of
http://svn.nrubsig.org/svn/people/gisburn/scripts/astopen_patches/astksh_cd_xattr.diff
- see http://marc.info/?l=ast-developers&m=134200728032414&w=2 for the
email...).
More testing is currently underway...
----
Bye,
Roland
--
__ . . __
(o.\ \/ /.o) [email protected]
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)
_______________________________________________
ast-developers mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-developers