runtime, syscall: fix Solaris exec tests

Also fixes a long-existing problem in the fork/exec path.

Change-Id: Idec40b1cee0cfb1625fe107db3eafdc0d71798f2
Reviewed-on: https://go-review.googlesource.com/8030
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
Aram Hăvărneanu 2015-03-24 18:33:37 +01:00
parent 75447d0623
commit 41f9c430f3
4 changed files with 45 additions and 13 deletions

View file

@ -167,17 +167,12 @@ func TestForeground(t *testing.T) {
tty, err := os.OpenFile("/dev/tty", os.O_RDWR, 0)
if err != nil {
t.Skipf("Can't test Foreground. Couldn't open /dev/tty: %s",
err)
t.Skipf("Can't test Foreground. Couldn't open /dev/tty: %s", err)
}
fpgrp := 0
_, _, errno := syscall.Syscall(syscall.SYS_IOCTL,
tty.Fd(),
syscall.TIOCGPGRP,
uintptr(unsafe.Pointer(&fpgrp)))
errno := syscall.Ioctl(tty.Fd(), syscall.TIOCGPGRP, uintptr(unsafe.Pointer(&fpgrp)))
if errno != 0 {
t.Fatalf("TIOCGPGRP failed with error code: %s", errno)
}
@ -212,11 +207,7 @@ func TestForeground(t *testing.T) {
cmd.Stop()
_, _, errno = syscall.Syscall(syscall.SYS_IOCTL,
tty.Fd(),
syscall.TIOCSPGRP,
uintptr(unsafe.Pointer(&fpgrp)))
errno = syscall.Ioctl(tty.Fd(), syscall.TIOCSPGRP, uintptr(unsafe.Pointer(&fpgrp)))
if errno != 0 {
t.Fatalf("TIOCSPGRP failed with error code: %s", errno)
}