mirror of
https://github.com/creack/pty.git
synced 2026-03-31 18:47:10 +09:00
added DeadlineHolder
This commit is contained in:
4
doc.go
4
doc.go
@@ -19,6 +19,10 @@ func Open() (Pty, Tty, error) {
|
||||
// FdHolder surfaces the Fd() method of the underlying handle.
|
||||
type FdHolder interface {
|
||||
Fd() uintptr
|
||||
}
|
||||
|
||||
// DeadlineHolder surfaces the SetDeadline() method to sets the read and write deadlines.
|
||||
type DeadlineHolder interface {
|
||||
SetDeadline(t time.Time) error
|
||||
}
|
||||
|
||||
|
||||
14
io_test.go
14
io_test.go
@@ -27,12 +27,14 @@ var mu sync.Mutex
|
||||
func TestReadDeadline(t *testing.T) {
|
||||
ptmx, success := prepare(t)
|
||||
|
||||
err := ptmx.SetDeadline(time.Now().Add(timeout / 10))
|
||||
if err != nil {
|
||||
if errors.Is(err, os.ErrNoDeadline) {
|
||||
t.Skipf("deadline is not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
|
||||
} else {
|
||||
t.Fatalf("error: set deadline: %v\n", err)
|
||||
if ptmxd, ok := ptmx.(DeadlineHolder); ok {
|
||||
err := ptmxd.SetDeadline(time.Now().Add(timeout / 10))
|
||||
if err != nil {
|
||||
if errors.Is(err, os.ErrNoDeadline) {
|
||||
t.Skipf("deadline is not supported on %s/%s", runtime.GOOS, runtime.GOARCH)
|
||||
} else {
|
||||
t.Fatalf("error: set deadline: %v\n", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user