mirror of
				https://github.com/coredns/coredns.git
				synced 2025-11-03 18:53:13 -05:00 
			
		
		
		
	* - add an option for block profiling to plugin pprof * - move option block into nested block
		
			
				
	
	
		
			45 lines
		
	
	
		
			918 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			918 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package pprof
 | 
						|
 | 
						|
import (
 | 
						|
	"testing"
 | 
						|
 | 
						|
	"github.com/mholt/caddy"
 | 
						|
)
 | 
						|
 | 
						|
func TestPProf(t *testing.T) {
 | 
						|
	tests := []struct {
 | 
						|
		input     string
 | 
						|
		shouldErr bool
 | 
						|
	}{
 | 
						|
		{`pprof`, false},
 | 
						|
		{`pprof 1.2.3.4:1234`, false},
 | 
						|
		{`pprof :1234`, false},
 | 
						|
		{`pprof :1234 -1`, true},
 | 
						|
		{`pprof {
 | 
						|
                }`, false},
 | 
						|
		{`pprof /foo`, true},
 | 
						|
		{`pprof {
 | 
						|
            a b
 | 
						|
        }`, true},
 | 
						|
		{`pprof { block
 | 
						|
                }`, false},
 | 
						|
		{`pprof :1234 { 
 | 
						|
                   block 20
 | 
						|
                }`, false},
 | 
						|
		{`pprof { 
 | 
						|
                   block 20 30
 | 
						|
                }`, true},
 | 
						|
		{`pprof
 | 
						|
          pprof`, true},
 | 
						|
	}
 | 
						|
	for i, test := range tests {
 | 
						|
		c := caddy.NewTestController("dns", test.input)
 | 
						|
		err := setup(c)
 | 
						|
		if test.shouldErr && err == nil {
 | 
						|
			t.Errorf("Test %v: Expected error but found nil", i)
 | 
						|
		} else if !test.shouldErr && err != nil {
 | 
						|
			t.Errorf("Test %v: Expected no error but found error: %v", i, err)
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |