diff options
| author | Damien Neil <dneil@google.com> | 2024-10-14 15:30:13 -0700 |
|---|---|---|
| committer | Damien Neil <dneil@google.com> | 2024-10-15 17:23:27 +0000 |
| commit | 70f4717e96cf9d8ca8a5f439d7d6487ec822ce49 (patch) | |
| tree | 05d7b89569a00828c0d2cd308c3375d8eec16307 | |
| parent | cbdb3545ad7d15204ef15daf124393aefb7b2c3d (diff) | |
| download | go-70f4717e96cf9d8ca8a5f439d7d6487ec822ce49.tar.xz | |
os: use relative paths in a test dir in TestOpenError
Refactor TestOpenError to use relative paths in test cases,
in preparation for extending it to test os.Root.
Use a test temporary directory instead of system directory
with presumed-known contents.
Move the testcase type and case definitions inline with the test.
For #67002
Change-Id: Idc53dd9fcecf763d3e4eb3b4643032e3003d7ef4
Reviewed-on: https://go-review.googlesource.com/c/go/+/620157
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
| -rw-r--r-- | src/os/os_test.go | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/src/os/os_test.go b/src/os/os_test.go index e7d8e55094..4db5521fee 100644 --- a/src/os/os_test.go +++ b/src/os/os_test.go @@ -1777,35 +1777,36 @@ func TestSeekError(t *testing.T) { } } -type openErrorTest struct { - path string - mode int - error error -} +func TestOpenError(t *testing.T) { + t.Parallel() + + dir := t.TempDir() + if err := WriteFile(filepath.Join(dir, "is-a-file"), nil, 0o666); err != nil { + t.Fatal(err) + } + if err := Mkdir(filepath.Join(dir, "is-a-dir"), 0o777); err != nil { + t.Fatal(err) + } -var openErrorTests = []openErrorTest{ - { - sfdir + "/no-such-file", + for _, tt := range []struct { + path string + mode int + error error + }{{ + "no-such-file", O_RDONLY, syscall.ENOENT, - }, - { - sfdir, + }, { + "is-a-dir", O_WRONLY, syscall.EISDIR, - }, - { - sfdir + "/" + sfname + "/no-such-file", + }, { + "is-a-file/no-such-file", O_WRONLY, syscall.ENOTDIR, - }, -} - -func TestOpenError(t *testing.T) { - t.Parallel() - - for _, tt := range openErrorTests { - f, err := OpenFile(tt.path, tt.mode, 0) + }} { + path := filepath.Join(dir, tt.path) + f, err := OpenFile(path, tt.mode, 0) if err == nil { t.Errorf("Open(%q, %d) succeeded", tt.path, tt.mode) f.Close() |
