mirror of
				https://github.com/tailscale/tailscale.git
				synced 2025-11-04 02:01:14 +01:00 
			
		
		
		
	ScrubbedGoroutineDump previously only returned the stacks of all goroutines. I also want to be able to use this for only the current goroutine's stack. Add a bool param to support both ways. Updates tailscale/corp#5149 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
		
			
				
	
	
		
			30 lines
		
	
	
		
			682 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			682 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright (c) Tailscale Inc & AUTHORS
 | 
						|
// SPDX-License-Identifier: BSD-3-Clause
 | 
						|
 | 
						|
package goroutines
 | 
						|
 | 
						|
import "testing"
 | 
						|
 | 
						|
func TestScrubbedGoroutineDump(t *testing.T) {
 | 
						|
	t.Logf("Got:\n%s\n", ScrubbedGoroutineDump(true))
 | 
						|
}
 | 
						|
 | 
						|
func TestScrubHex(t *testing.T) {
 | 
						|
	tests := []struct {
 | 
						|
		in, want string
 | 
						|
	}{
 | 
						|
		{"foo", "foo"},
 | 
						|
		{"", ""},
 | 
						|
		{"0x", "?_"},
 | 
						|
		{"0x001 and same 0x001", "v1%1_ and same v1%1_"},
 | 
						|
		{"0x008 and same 0x008", "v1%0_ and same v1%0_"},
 | 
						|
		{"0x001 and diff 0x002", "v1%1_ and diff v2%2_"},
 | 
						|
	}
 | 
						|
	for _, tt := range tests {
 | 
						|
		got := scrubHex([]byte(tt.in))
 | 
						|
		if string(got) != tt.want {
 | 
						|
			t.Errorf("for input:\n%s\n\ngot:\n%s\n\nwant:\n%s\n", tt.in, got, tt.want)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |