tests: detect and report chmod failures earlier

Instead of reporting the consequence:

    matrix_test.go:906: modeHave 0664 != modeWant 0777

Report it if chmod itself fails, and also report the old file mode:

    matrix_test.go:901: chmod 000 -> 777 failed: bad file descriptor
This commit is contained in:
Jakob Unterwurzacher 2018-09-22 13:34:03 +02:00
parent 5ca6243eeb
commit 9e6ee47bc9

View File

@ -896,11 +896,19 @@ func TestChmod(t *testing.T) {
file.Close() file.Close()
modes := []os.FileMode{0777, 0707, 0606, 0666, 0444, 0000, 0111, 0123, 0321} modes := []os.FileMode{0777, 0707, 0606, 0666, 0444, 0000, 0111, 0123, 0321}
for _, modeWant := range modes { for _, modeWant := range modes {
os.Chmod(path, modeWant)
fi, err := os.Stat(path) fi, err := os.Stat(path)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
err = syscall.Chmod(path, uint32(modeWant))
if err != nil {
t.Errorf("chmod %03o -> %03o failed: %v", fi.Mode(), modeWant, err)
continue
}
fi, err = os.Stat(path)
if err != nil {
t.Fatal(err)
}
modeHave := fi.Mode() modeHave := fi.Mode()
if modeHave != modeWant { if modeHave != modeWant {
t.Errorf("modeHave %#o != modeWant %#o", modeHave, modeWant) t.Errorf("modeHave %#o != modeWant %#o", modeHave, modeWant)