summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Vyr Cossont <VyrCossont@users.noreply.github.com>2024-02-29 04:25:15 -0800
committerLibravatar GitHub <noreply@github.com>2024-02-29 13:25:15 +0100
commitc2a691fd83c90ef2fd44a917dc127fe3239dc20a (patch)
tree412be9a8c3d5b16536a6975bc384118a17282000
parent[chore] re-add `statuses_account_id_id_idx` if removed (#2699) (diff)
downloadgotosocial-c2a691fd83c90ef2fd44a917dc127fe3239dc20a.tar.xz
[chore] Disable the syslog long message over Unix datagram socket test on macOS (#2700)
-rw-r--r--internal/log/syslog_test.go39
-rw-r--r--internal/log/sysloglongunixgram_test.go69
2 files changed, 69 insertions, 39 deletions
diff --git a/internal/log/syslog_test.go b/internal/log/syslog_test.go
index 7432e61b3..391d5b49b 100644
--- a/internal/log/syslog_test.go
+++ b/internal/log/syslog_test.go
@@ -19,12 +19,9 @@ package log_test
import (
"fmt"
- "os"
- "path"
"regexp"
"testing"
- "github.com/google/uuid"
"github.com/stretchr/testify/suite"
"github.com/superseriousbusiness/gotosocial/internal/config"
"github.com/superseriousbusiness/gotosocial/internal/log"
@@ -98,42 +95,6 @@ func (suite *SyslogTestSuite) TestSyslogLongMessage() {
suite.Regexp(regexp.MustCompile(regex), entry["content"])
}
-func (suite *SyslogTestSuite) TestSyslogLongMessageUnixgram() {
- socketPath := path.Join(os.TempDir(), uuid.NewString())
- defer func() {
- if err := os.Remove(socketPath); err != nil {
- panic(err)
- }
- }()
-
- server, channel, err := testrig.InitTestSyslogUnixgram(socketPath)
- if err != nil {
- panic(err)
- }
- syslogServer := server
- syslogChannel := channel
-
- config.SetSyslogEnabled(true)
- config.SetSyslogProtocol("unixgram")
- config.SetSyslogAddress(socketPath)
-
- testrig.InitTestLog()
-
- log.Warn(nil, longMessage)
-
- funcName := log.Caller(2)
- prefix := fmt.Sprintf(`timestamp="02/01/2006 15:04:05.000" func=%s level=WARN msg="`, funcName)
-
- entry := <-syslogChannel
- regex := fmt.Sprintf(`timestamp=.* func=.* level=WARN msg="%s`, longMessage[:2048-len(prefix)])
-
- suite.Regexp(regexp.MustCompile(regex), entry["content"])
-
- if err := syslogServer.Kill(); err != nil {
- panic(err)
- }
-}
-
func TestSyslogTestSuite(t *testing.T) {
suite.Run(t, &SyslogTestSuite{})
}
diff --git a/internal/log/sysloglongunixgram_test.go b/internal/log/sysloglongunixgram_test.go
new file mode 100644
index 000000000..11aecfd14
--- /dev/null
+++ b/internal/log/sysloglongunixgram_test.go
@@ -0,0 +1,69 @@
+// GoToSocial
+// Copyright (C) GoToSocial Authors admin@gotosocial.org
+// SPDX-License-Identifier: AGPL-3.0-or-later
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+//go:build !darwin
+
+package log_test
+
+import (
+ "fmt"
+ "os"
+ "path"
+ "regexp"
+
+ "github.com/google/uuid"
+ "github.com/superseriousbusiness/gotosocial/internal/config"
+ "github.com/superseriousbusiness/gotosocial/internal/log"
+ "github.com/superseriousbusiness/gotosocial/testrig"
+)
+
+// TestSyslogLongMessageUnixgram is known to hang on macOS for messages longer than about 1500 bytes.
+func (suite *SyslogTestSuite) TestSyslogLongMessageUnixgram() {
+ socketPath := path.Join(os.TempDir(), uuid.NewString())
+ defer func() {
+ if err := os.Remove(socketPath); err != nil {
+ panic(err)
+ }
+ }()
+
+ server, channel, err := testrig.InitTestSyslogUnixgram(socketPath)
+ if err != nil {
+ panic(err)
+ }
+ syslogServer := server
+ syslogChannel := channel
+
+ config.SetSyslogEnabled(true)
+ config.SetSyslogProtocol("unixgram")
+ config.SetSyslogAddress(socketPath)
+
+ testrig.InitTestLog()
+
+ log.Warn(nil, longMessage)
+
+ funcName := log.Caller(2)
+ prefix := fmt.Sprintf(`timestamp="02/01/2006 15:04:05.000" func=%s level=WARN msg="`, funcName)
+
+ entry := <-syslogChannel
+ regex := fmt.Sprintf(`timestamp=.* func=.* level=WARN msg="%s`, longMessage[:2048-len(prefix)])
+
+ suite.Regexp(regexp.MustCompile(regex), entry["content"])
+
+ if err := syslogServer.Kill(); err != nil {
+ panic(err)
+ }
+}