From 159e5304a9c1eba4902cafc2ee200a15c2d6ac73 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Wed, 16 Oct 2019 13:13:44 +0200 Subject: [PATCH] term: use pseudo terminal in TestIsTerminalTerm on linux Use /dev/ptmx to create a new pseudo terminal and use this in TestIsTerminalTerm. This should fix the test failing with ENXIO on some linux builders. Change-Id: I39880d2cb538e3e9c8063ac79b5380ed00a476f5 Reviewed-on: https://go-review.googlesource.com/c/term/+/201417 Run-TryBot: Tobias Klauser TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- term_linux_test.go | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/term_linux_test.go b/term_linux_test.go index 5f2443a..3931b8d 100644 --- a/term_linux_test.go +++ b/term_linux_test.go @@ -5,32 +5,14 @@ package term_test import ( - "io/ioutil" "os" - "path/filepath" "testing" - "golang.org/x/sys/unix" "golang.org/x/term" ) func TestIsTerminalTerm(t *testing.T) { - - dir, err := ioutil.TempDir("", "TestIsTerminalTerm") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) - - tty := filepath.Join(dir, "tty") - err = unix.Mknod(tty, unix.S_IFCHR, int(unix.Mkdev(5, 0))) - if err == unix.EPERM { - t.Skip("no permission to create terminal file, skipping test") - } else if err != nil { - t.Fatal(err) - } - - file, err := os.Open(tty) + file, err := os.OpenFile("/dev/ptmx", os.O_RDWR, 0) if err != nil { t.Fatal(err) }