X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/195c3fbb075383ac47bba310eb701b02774e8d10..d7bc0a6ac452bfc646610fdfd7c8eccb5c55218f:/daemon_start_helper_test.go?ds=sidebyside diff --git a/daemon_start_helper_test.go b/daemon_start_helper_test.go index c43ff9c..a27967e 100644 --- a/daemon_start_helper_test.go +++ b/daemon_start_helper_test.go @@ -2,6 +2,7 @@ package main import ( "context" + "os" "path/filepath" "testing" "time" @@ -35,7 +36,7 @@ func daemonStartTestWithWhatsApp(t *testing.T, server *ModelFake, bot *TelegramB func daemonStartTestWithSchedules(t *testing.T, server *ModelFake, bot *TelegramBot, whatsapp *WhatsApp, schedules *Schedules, clock func() time.Time) (string, *Memory) { t.Helper() - dir := socketTestDir(t) + dir := daemonTestSocketDir(t) agent, err := openAgent(filepath.Join(dir, daemonAgentDirName)) require.NoError(t, err) @@ -65,3 +66,19 @@ func daemonStartTestWithSchedules(t *testing.T, server *ModelFake, bot *Telegram return socket, memory } + +// daemonTestSocketDir returns a new short directory under /tmp for data that +// holds a daemon socket. t.TempDir holds the test name and the TMPDIR of the +// shell, so its paths can pass the 107-byte limit of a Unix socket path. +func daemonTestSocketDir(t *testing.T) string { + t.Helper() + + dir, err := os.MkdirTemp("/tmp", "onechat-") + require.NoError(t, err) + + t.Cleanup(func() { + require.NoError(t, os.RemoveAll(dir)) + }) + + return dir +}