waitforread_test.go 539 B

12345678910111213141516171819202122232425262728293031323334
  1. //go:build !windows && !plan9
  2. package eunix
  3. import (
  4. "io"
  5. "testing"
  6. "src.elv.sh/pkg/testutil"
  7. )
  8. func TestWaitForRead(t *testing.T) {
  9. r0, w0 := testutil.MustPipe()
  10. r1, w1 := testutil.MustPipe()
  11. defer closeAll(r0, w0, r1, w1)
  12. w0.WriteString("x")
  13. ready, err := WaitForRead(-1, r0, r1)
  14. if err != nil {
  15. t.Error("WaitForRead errors:", err)
  16. }
  17. if !ready[0] {
  18. t.Error("Want ready[0]")
  19. }
  20. if ready[1] {
  21. t.Error("Don't want ready[1]")
  22. }
  23. }
  24. func closeAll(files ...io.Closer) {
  25. for _, file := range files {
  26. file.Close()
  27. }
  28. }