diff options
Diffstat (limited to 'pkg/eventfd')
-rw-r--r-- | pkg/eventfd/BUILD | 22 | ||||
-rw-r--r-- | pkg/eventfd/eventfd_state_autogen.go | 3 | ||||
-rw-r--r-- | pkg/eventfd/eventfd_test.go | 75 |
3 files changed, 3 insertions, 97 deletions
diff --git a/pkg/eventfd/BUILD b/pkg/eventfd/BUILD deleted file mode 100644 index 02407cb99..000000000 --- a/pkg/eventfd/BUILD +++ /dev/null @@ -1,22 +0,0 @@ -load("//tools:defs.bzl", "go_library", "go_test") - -package(licenses = ["notice"]) - -go_library( - name = "eventfd", - srcs = [ - "eventfd.go", - ], - visibility = ["//:sandbox"], - deps = [ - "//pkg/hostarch", - "//pkg/tcpip/link/rawfile", - "@org_golang_x_sys//unix:go_default_library", - ], -) - -go_test( - name = "eventfd_test", - srcs = ["eventfd_test.go"], - library = ":eventfd", -) diff --git a/pkg/eventfd/eventfd_state_autogen.go b/pkg/eventfd/eventfd_state_autogen.go new file mode 100644 index 000000000..e83f6aed8 --- /dev/null +++ b/pkg/eventfd/eventfd_state_autogen.go @@ -0,0 +1,3 @@ +// automatically generated by stateify. + +package eventfd diff --git a/pkg/eventfd/eventfd_test.go b/pkg/eventfd/eventfd_test.go deleted file mode 100644 index 96998d530..000000000 --- a/pkg/eventfd/eventfd_test.go +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2021 The gVisor Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package eventfd - -import ( - "testing" - "time" -) - -func TestReadWrite(t *testing.T) { - efd, err := Create() - if err != nil { - t.Fatalf("failed to Create(): %v", err) - } - defer efd.Close() - - // Make sure we can read actual values - const want = 343 - if err := efd.Write(want); err != nil { - t.Fatalf("failed to write value: %d", want) - } - - got, err := efd.Read() - if err != nil { - t.Fatalf("failed to read value: %v", err) - } - if got != want { - t.Fatalf("Read(): got %d, but wanted %d", got, want) - } -} - -func TestWait(t *testing.T) { - efd, err := Create() - if err != nil { - t.Fatalf("failed to Create(): %v", err) - } - defer efd.Close() - - // There's no way to test with certainty that Wait() blocks indefinitely, but - // as a best-effort we can wait a bit on it. - errCh := make(chan error) - go func() { - errCh <- efd.Wait() - }() - select { - case err := <-errCh: - t.Fatalf("Wait() returned without a call to Notify(): %v", err) - case <-time.After(500 * time.Millisecond): - } - - // Notify and check that Wait() returned. - if err := efd.Notify(); err != nil { - t.Fatalf("Notify() failed: %v", err) - } - select { - case err := <-errCh: - if err != nil { - t.Fatalf("Read() failed: %v", err) - } - case <-time.After(5 * time.Second): - t.Fatalf("Read() did not return after Notify()") - } -} |