1/*2Maddy Mail Server - Composable all-in-one email server.3Copyright © 2019-2020 Max Mazurov <fox.cpp@disroot.org>, Maddy Mail Server contributors45This program is free software: you can redistribute it and/or modify6it under the terms of the GNU General Public License as published by7the Free Software Foundation, either version 3 of the License, or8(at your option) any later version.910This program is distributed in the hope that it will be useful,11but WITHOUT ANY WARRANTY; without even the implied warranty of12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13GNU General Public License for more details.1415You should have received a copy of the GNU General Public License16along with this program. If not, see <https://www.gnu.org/licenses/>.17*/1819package testutils2021import (22 "flag"23 "os"24 "strings"25 "testing"26 "time"2728 "github.com/foxcpp/maddy/framework/log"29)3031var (32 debugLog = flag.Bool("test.debuglog", false, "(maddy) Turn on debug log messages")33 directLog = flag.Bool("test.directlog", false, "(maddy) Log to stderr instead of test log")34)3536func Logger(t *testing.T, name string) log.Logger {37 if *directLog {38 return log.Logger{39 Out: log.WriterOutput(os.Stderr, true),40 Name: name,41 Debug: *debugLog,42 }43 }4445 return log.Logger{46 Out: log.FuncOutput(func(_ time.Time, debug bool, str string) {47 t.Helper()48 str = strings.TrimSuffix(str, "\n")49 if debug {50 str = "[debug] " + str51 }52 t.Log(str)53 }, func() error {54 return nil55 }),56 Name: name,57 Debug: *debugLog,58 }59}