(t *testing.T)
| 459 | } |
| 460 | |
| 461 | func TestDirMode_FromFile(t *testing.T) { |
| 462 | m := syscall.Umask(0) |
| 463 | defer syscall.Umask(m) |
| 464 | |
| 465 | base := t.TempDir() |
| 466 | |
| 467 | dir1 := filepath.Join(base, "logs1") |
| 468 | fw1 := &FileWriter{ |
| 469 | Filename: filepath.Join(dir1, "app.log"), |
| 470 | DirMode: "from_file", |
| 471 | Mode: 0o644, // => dir 0755 |
| 472 | Roll: func() *bool { f := false; return &f }(), |
| 473 | } |
| 474 | w1, err := fw1.OpenWriter() |
| 475 | if err != nil { |
| 476 | t.Fatal(err) |
| 477 | } |
| 478 | _ = w1.Close() |
| 479 | |
| 480 | st1, err := os.Stat(dir1) |
| 481 | if err != nil { |
| 482 | t.Fatal(err) |
| 483 | } |
| 484 | if got := st1.Mode().Perm(); got != 0o755 { |
| 485 | t.Fatalf("dir perm = %o, want 0755", got) |
| 486 | } |
| 487 | |
| 488 | dir2 := filepath.Join(base, "logs2") |
| 489 | fw2 := &FileWriter{ |
| 490 | Filename: filepath.Join(dir2, "app.log"), |
| 491 | DirMode: "from_file", |
| 492 | Mode: 0o600, // => dir 0700 |
| 493 | Roll: func() *bool { f := false; return &f }(), |
| 494 | } |
| 495 | w2, err := fw2.OpenWriter() |
| 496 | if err != nil { |
| 497 | t.Fatal(err) |
| 498 | } |
| 499 | _ = w2.Close() |
| 500 | |
| 501 | st2, err := os.Stat(dir2) |
| 502 | if err != nil { |
| 503 | t.Fatal(err) |
| 504 | } |
| 505 | if got := st2.Mode().Perm(); got != 0o700 { |
| 506 | t.Fatalf("dir perm = %o, want 0700", got) |
| 507 | } |
| 508 | } |
| 509 | |
| 510 | func TestDirMode_ExplicitOctal(t *testing.T) { |
| 511 | m := syscall.Umask(0) |
nothing calls this directly
no test coverage detected