...

Source file src/golang.conradwood.net/go-easyops/utils/utils_delete_test.go

Documentation: golang.conradwood.net/go-easyops/utils

     1  package utils
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  )
     7  
     8  func TestDeleteDirs(t *testing.T) {
     9  	test_remove_all(t, "/tmp/testdir")
    10  }
    11  func test_remove_all(t *testing.T, dir string) {
    12  	err := RecreateSafely(dir)
    13  	if err != nil {
    14  		t.Fatalf("failed to create dir %s: %s", dir, err)
    15  	}
    16  	subdir := dir + "/subdir"
    17  	os.MkdirAll(subdir, 0777)
    18  	fname := subdir + "/foobar"
    19  	err = WriteFile(fname, []byte("foo"))
    20  	if err != nil {
    21  		t.Fatalf("failed to write to dir %s: %s", dir, err)
    22  	}
    23  	err = os.Chmod(fname, 000)
    24  	if err != nil {
    25  		t.Fatalf("failed to chmod %s: %s", fname, err)
    26  	}
    27  	err = os.Chmod(subdir, 000)
    28  	if err != nil {
    29  		t.Fatalf("failed to chmod %s: %s", subdir, err)
    30  	}
    31  	err = RemoveAll(dir)
    32  	if err != nil {
    33  		t.Fatalf("failed to removeall() dir %s: %s", dir, err)
    34  	}
    35  	if FileExists(dir) {
    36  		t.Fatalf("failed to delete dir %s (no error)", dir)
    37  	}
    38  }
    39  

View as plain text