fix(fs): rewrite test to avoid side effect

This commit is contained in:
Yicheng Qin 2014-04-09 13:11:23 -07:00
parent 1eff547af6
commit 6d77e4dfd6

View File

@ -1,21 +1,30 @@
package fs
import (
"io/ioutil"
"os"
"os/exec"
"strings"
"testing"
)
func TestSetNOCOW(t *testing.T) {
if IsBtrfs("/") {
SetNOCOW("/")
cmd := exec.Command("lsattr", "/")
f, err := ioutil.TempFile(".", "etcdtest")
if err != nil {
t.Fatal("Failed creating temp file")
}
f.Close()
defer os.Remove(f.Name())
if IsBtrfs(f.Name()) {
SetNOCOW(f.Name())
cmd := exec.Command("lsattr", f.Name())
out, err := cmd.Output()
if err != nil {
t.Fatal("Failed executing lsattr")
}
if strings.Contains(string(out), "---------------C") {
t.Fatal("Failed setting NOCOW:\n", out)
if !strings.Contains(string(out), "---------------C") {
t.Fatal("Failed setting NOCOW:\n", string(out))
}
}
}