Files
aego/asset/pipeline/external_read_linux_test.go
sanspie a46347e2c6
ci-platforms / darwin arm64 smoke (push) Skipped
ci / build (amd64, linux, ubuntu-24.04) (push) Failing after 12m19s
ci-platforms / darwin amd64 smoke (push) Skipped
ci-platforms / windows amd64 smoke (push) Skipped
github-native / gitea-pending (push) Skipped
github-native / darwin amd64 native (push) Skipped
github-native / linux amd64 native (push) Skipped
github-native / windows amd64 native (push) Skipped
github-native / darwin arm64 native (push) Skipped
github-native / gitea-result (push) Skipped
ci / checks (push) Failing after 23m57s
ci / release (push) Skipped
GitHub / windows amd64 native GitHub-hosted native CI: failure
GitHub / darwin arm64 native GitHub-hosted native CI: failure
GitHub / darwin amd64 native GitHub-hosted native CI: failure
GitHub / linux amd64 native GitHub-hosted native CI: success
editor: add art studio and stage 12.5 workflows
2026-11-08 18:47:57 +03:00

29 lines
618 B
Go

//go:build linux
package pipeline
import (
"errors"
"path/filepath"
"syscall"
"testing"
"time"
)
func TestReadExternalFileDoesNotBlockOnNamedPipe(t *testing.T) {
name := filepath.Join(t.TempDir(), "source.ase")
if err := syscall.Mkfifo(name, 0o600); err != nil {
t.Fatal(err)
}
result := make(chan error, 1)
go func() { _, err := ReadExternalFile(name, 1024); result <- err }()
select {
case err := <-result:
if !errors.Is(err, ErrExternalFileLimit) {
t.Fatalf("named pipe was not rejected: %v", err)
}
case <-time.After(time.Second):
t.Fatal("reading a named pipe blocked the caller")
}
}