coerce this into running on UWIN - or rather sort of. Ugly.
This commit is contained in:
parent
af1aa9655f
commit
36188c60be
10
Build.sh
10
Build.sh
@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
# $MirOS: src/bin/mksh/Build.sh,v 1.230 2007/07/01 18:00:18 tg Exp $
|
||||
# $MirOS: src/bin/mksh/Build.sh,v 1.231 2007/07/01 19:04:52 tg Exp $
|
||||
#-
|
||||
# Environment used: CC CFLAGS CPPFLAGS LDFLAGS LIBS NOWARN NROFF TARGET_OS
|
||||
# CPPFLAGS recognised: MKSH_SMALL MKSH_ASSUME_UTF8 MKSH_NEED_MKNOD MKSH_NOPWNAM
|
||||
@ -236,7 +236,8 @@ fi
|
||||
|
||||
test x"$TARGET_OS" = x"" && TARGET_OS=`uname -s 2>/dev/null || uname`
|
||||
warn=
|
||||
mscx=-Wc,
|
||||
mscx=-Wc,
|
||||
tsts=
|
||||
case $TARGET_OS in
|
||||
AIX)
|
||||
warn=' and is still experimental'
|
||||
@ -292,7 +293,8 @@ SunOS)
|
||||
CPPFLAGS="$CPPFLAGS -D_BSD_SOURCE -D__EXTENSIONS__"
|
||||
;;
|
||||
UWIN*)
|
||||
mscx='-Yc,'
|
||||
mscx='-Yc,'
|
||||
tsts=" 3<>/dev/tty"
|
||||
;;
|
||||
*)
|
||||
warn='; it may or may not work'
|
||||
@ -853,7 +855,7 @@ case $curdir in
|
||||
esac
|
||||
echo "export PATH='$PATH'" >>test.sh
|
||||
echo "exec perl '$srcdir/check.pl' -s '$srcdir/check.t'" \
|
||||
"-p '$curdir/mksh' -C $check_categories \$*" >>test.sh
|
||||
"-p '$curdir/mksh' -C $check_categories \$*$tsts" >>test.sh
|
||||
chmod 755 test.sh
|
||||
i=install
|
||||
test -f /usr/ucb/$i && i=/usr/ucb/$i
|
||||
|
23
check.t
23
check.t
@ -1,4 +1,4 @@
|
||||
# $MirOS: src/bin/mksh/check.t,v 1.118 2007/06/27 23:12:58 tg Exp $
|
||||
# $MirOS: src/bin/mksh/check.t,v 1.119 2007/07/01 19:04:52 tg Exp $
|
||||
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $
|
||||
# $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $
|
||||
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
|
||||
@ -2157,6 +2157,8 @@ expected-stdout:
|
||||
name: IFS-subst-1
|
||||
description:
|
||||
Simple test, IFS=<white-space>:
|
||||
# hangs, no idea why
|
||||
category: !os:uwin-nt
|
||||
stdin:
|
||||
showargs() { for i; do echo -n " <$i>"; done; echo; }
|
||||
IFS="$IFS:"
|
||||
@ -2660,6 +2662,8 @@ expected-stdout:
|
||||
foo bar
|
||||
---
|
||||
name: regression-13
|
||||
# no /etc/termcap on UWIN
|
||||
category: !os:uwin-nt
|
||||
description:
|
||||
The following command hangs forever:
|
||||
$ (: ; cat /etc/termcap) | sleep 2
|
||||
@ -2824,6 +2828,8 @@ expected-stdout:
|
||||
a
|
||||
---
|
||||
name: regression-26
|
||||
# hangs, no idea why
|
||||
category: !os:uwin-nt
|
||||
description:
|
||||
Check reading stdin in a while loop. The read should read both
|
||||
lines, not just the first.
|
||||
@ -3336,6 +3342,7 @@ expected-stdout:
|
||||
8 blah
|
||||
---
|
||||
name: regression-56
|
||||
# note: hangs on UWIN half of the time, no idea why
|
||||
description:
|
||||
Check eval vs substitution exit codes
|
||||
(this is what ksh88 does)
|
||||
@ -3362,6 +3369,8 @@ expected-stdout:
|
||||
F 1
|
||||
---
|
||||
name: regression-57
|
||||
# hangs, no idea why
|
||||
category: !os:uwin-nt
|
||||
description:
|
||||
Check if typeset output is correct for
|
||||
uninitialised array elements.
|
||||
@ -3407,6 +3416,8 @@ expected-stdout:
|
||||
2
|
||||
---
|
||||
name: regression-60
|
||||
# hangs, no idea why
|
||||
category: !os:uwin-nt
|
||||
description:
|
||||
Check if default exit status is previous command
|
||||
stdin:
|
||||
@ -3422,6 +3433,8 @@ expected-stdout:
|
||||
C 103
|
||||
---
|
||||
name: regression-61
|
||||
# hangs, no idea why
|
||||
category: !os:uwin-nt
|
||||
description:
|
||||
Check if EXIT trap is executed for sub shells.
|
||||
stdin:
|
||||
@ -3621,6 +3634,8 @@ expected-stdout:
|
||||
loop3=1
|
||||
---
|
||||
name: xxx-status-1
|
||||
# hangs, no idea why
|
||||
category: !os:uwin-nt
|
||||
description:
|
||||
Check that blank lines don't clear $?
|
||||
arguments: !-i!
|
||||
@ -3637,6 +3652,8 @@ expected-stdout:
|
||||
expected-stderr-pattern: /.*/
|
||||
---
|
||||
name: xxx-status-2
|
||||
# hangs, no idea why
|
||||
category: !os:uwin-nt
|
||||
description:
|
||||
Check that $? is preserved in subshells, includes, traps.
|
||||
stdin:
|
||||
@ -3687,6 +3704,8 @@ expected-exit: 1
|
||||
expected-stderr-pattern: /parameter null or not set/
|
||||
---
|
||||
name: xxx-param-_-1
|
||||
# fails due to weirdness of execv stuff
|
||||
category: !os:uwin-nt
|
||||
description:
|
||||
Check c flag is set.
|
||||
arguments: !-c!echo "[$-]"!
|
||||
@ -3935,7 +3954,7 @@ description:
|
||||
XXX if the OS can already execute them, we lose
|
||||
note: cygwin execve(2) doesn't return to us with ENOEXEC, we lose
|
||||
note: perl 5.004_04 on Linux 2.0 doesn't support Unicode, t4 fails
|
||||
category: pdksh,!os:cygwin
|
||||
category: pdksh,!os:cygwin,!os:uwin-nt
|
||||
env-setup: !FOO=BAR!
|
||||
stdin:
|
||||
print '#!'"$0"'\nprint "a=$ENV{FOO}";' >t1
|
||||
|
7
main.c
7
main.c
@ -13,7 +13,7 @@
|
||||
#include <locale.h>
|
||||
#endif
|
||||
|
||||
__RCSID("$MirOS: src/bin/mksh/main.c,v 1.80 2007/06/17 00:50:07 tg Exp $");
|
||||
__RCSID("$MirOS: src/bin/mksh/main.c,v 1.81 2007/07/01 19:04:53 tg Exp $");
|
||||
|
||||
extern char **environ;
|
||||
|
||||
@ -746,6 +746,11 @@ tty_init(int init_ttystate)
|
||||
}
|
||||
tty_devtty = 1;
|
||||
|
||||
#ifdef _UWIN
|
||||
if (isatty(3))
|
||||
tfd = 3;
|
||||
else
|
||||
#endif
|
||||
if ((tfd = open("/dev/tty", O_RDWR, 0)) < 0) {
|
||||
tty_devtty = 0;
|
||||
warningf(false, "No controlling tty (open /dev/tty: %s)",
|
||||
|
Loading…
x
Reference in New Issue
Block a user