logpolicy: do not upload logs in tests

Fixes tailscale/corp#10030

Signed-off-by: Maisem Ali <maisem@tailscale.com>
This commit is contained in:
Maisem Ali 2023-03-23 21:19:19 -07:00 committed by Maisem Ali
parent 7300b908fb
commit 8ac5976897

View File

@ -13,6 +13,7 @@
"crypto/tls"
"encoding/json"
"errors"
"flag"
"fmt"
"io"
"log"
@ -52,6 +53,8 @@
"tailscale.com/version/distro"
)
func inTest() bool { return flag.Lookup("test.v") != nil }
var getLogTargetOnce struct {
sync.Once
v string // URL of logs server, or empty for default
@ -559,7 +562,7 @@ func NewWithConfigPath(collection, dir, cmdName string) *Policy {
conf.IncludeProcSequence = true
}
if envknob.NoLogsNoSupport() {
if envknob.NoLogsNoSupport() || inTest() {
log.Println("You have disabled logging. Tailscale will not be able to provide support.")
conf.HTTPC = &http.Client{Transport: noopPretendSuccessTransport{}}
} else if val := getLogTarget(); val != "" {
@ -720,7 +723,10 @@ func DialContext(ctx context.Context, netw, addr string) (net.Conn, error) {
// NewLogtailTransport returns an HTTP Transport particularly suited to uploading
// logs to the given host name. See DialContext for details on how it works.
func NewLogtailTransport(host string) *http.Transport {
func NewLogtailTransport(host string) http.RoundTripper {
if inTest() {
return noopPretendSuccessTransport{}
}
// Start with a copy of http.DefaultTransport and tweak it a bit.
tr := http.DefaultTransport.(*http.Transport).Clone()