26 lines
711 B
Go
26 lines
711 B
Go
//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)
|
|
}
|
|
}
|