CreateTemp is a convenience function for creating a temporary file, like os.CreateTemp, but it also registers a cleanup function to close and remove the file.
(t *testing.T, dir, pattern string)
| 36 | // os.CreateTemp, but it also registers a cleanup function to close and remove |
| 37 | // the file. |
| 38 | func CreateTemp(t *testing.T, dir, pattern string) *os.File { |
| 39 | t.Helper() |
| 40 | |
| 41 | if dir == "" { |
| 42 | dir = t.TempDir() |
| 43 | } |
| 44 | f, err := os.CreateTemp(dir, pattern) |
| 45 | require.NoError(t, err, "create temp file") |
| 46 | t.Cleanup(func() { |
| 47 | _ = f.Close() |
| 48 | err = os.Remove(f.Name()) |
| 49 | if err != nil { |
| 50 | t.Logf("CreateTemp: Cleanup: remove failed for %q: %v", f.Name(), err) |
| 51 | } |
| 52 | }) |
| 53 | return f |
| 54 | } |
| 55 | |
| 56 | // TempDirResolved returns t.TempDir() with symlinks resolved via |
| 57 | // filepath.EvalSymlinks. Tests that compare paths against values |