//go:build unix package buildstep import ( "path/filepath" "strings" "syscall" "testing" ) // 1479/AC3: anything but a file or a directory is refused, naming it. The rule of this repository is that no // test makes a symlink, so the non-regular entry is a named pipe: Pack refuses a symlink on the same branch // (filepath.Walk reports it by lstat as not regular). func TestPackRefusesAnEntryThatIsNotAFile(t *testing.T) { root := fixture(t) pipe := filepath.Join(root, "a", "pipe") if err := syscall.Mkfifo(pipe, 0o644); err != nil { t.Fatal(err) } _, _, err := Pack(root) if err == nil || !strings.Contains(err.Error(), pipe) { t.Errorf("Pack = %v, want a refusal naming %s", err, pipe) } }