Preflight report output filenames
This commit is contained in:
@@ -42,6 +42,31 @@ func TestWriteFileAtomicOverwritesTarget(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestWriteFileAtomicSupportsLongestFileName(t *testing.T) {
|
||||
directory := t.TempDir()
|
||||
name := strings.Repeat("a", maxFileNameBytes-len(".md")) + ".md"
|
||||
path := filepath.Join(directory, name)
|
||||
if err := os.WriteFile(path, []byte("old"), 0o600); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := WriteFileAtomic(path, []byte("new")); err != nil {
|
||||
t.Fatalf("WriteFileAtomic() error = %v", err)
|
||||
}
|
||||
data, err := os.ReadFile(path)
|
||||
if err != nil || string(data) != "new" {
|
||||
t.Fatalf("output/error = %q/%v", data, err)
|
||||
}
|
||||
info, err := os.Stat(path)
|
||||
if err != nil || info.Mode().Perm() != 0o600 {
|
||||
t.Fatalf("output mode/error = %o/%v", info.Mode().Perm(), err)
|
||||
}
|
||||
matches, err := filepath.Glob(filepath.Join(directory, ".weatherreporter-*.tmp"))
|
||||
if err != nil || len(matches) != 0 {
|
||||
t.Fatalf("temporary files/error = %v/%v", matches, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWriteFileAtomicCleansTemporaryFileAfterRenameError(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
target := filepath.Join(dir, "target")
|
||||
@@ -56,7 +81,7 @@ func TestWriteFileAtomicCleansTemporaryFileAfterRenameError(t *testing.T) {
|
||||
if !strings.Contains(err.Error(), "save") {
|
||||
t.Fatalf("error = %q, want save context", err.Error())
|
||||
}
|
||||
matches, err := filepath.Glob(filepath.Join(dir, ".target.*.tmp"))
|
||||
matches, err := filepath.Glob(filepath.Join(dir, ".weatherreporter-*.tmp"))
|
||||
if err != nil {
|
||||
t.Fatalf("Glob() error = %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user