mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 07:40:56 +08:00 
			
		
		
		
	优化brotli相关测试用例
This commit is contained in:
		@@ -6,6 +6,7 @@ import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/compressions"
 | 
			
		||||
	"io"
 | 
			
		||||
	"os"
 | 
			
		||||
	"testing"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -49,3 +50,45 @@ func TestBrotliReader(t *testing.T) {
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func BenchmarkBrotliReader(b *testing.B) {
 | 
			
		||||
	data, err := os.ReadFile("./reader_brotli.go")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		b.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	var buf = bytes.NewBuffer([]byte{})
 | 
			
		||||
	writer, err := compressions.NewBrotliWriter(buf, 5)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		b.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	_, err = writer.Write(data)
 | 
			
		||||
	err = writer.Close()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		b.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	var compressedData = buf.Bytes()
 | 
			
		||||
 | 
			
		||||
	b.ResetTimer()
 | 
			
		||||
	b.RunParallel(func(pb *testing.PB) {
 | 
			
		||||
		for pb.Next() {
 | 
			
		||||
			reader, readerErr := compressions.NewBrotliReader(bytes.NewBuffer(compressedData))
 | 
			
		||||
			if readerErr != nil {
 | 
			
		||||
				b.Fatal(readerErr)
 | 
			
		||||
			}
 | 
			
		||||
			var readBuf = make([]byte, 1024)
 | 
			
		||||
			for {
 | 
			
		||||
				_, readErr := reader.Read(readBuf)
 | 
			
		||||
				if readErr != nil {
 | 
			
		||||
					if readErr != io.EOF {
 | 
			
		||||
						b.Fatal(readErr)
 | 
			
		||||
					}
 | 
			
		||||
					break
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			closeErr := reader.Close()
 | 
			
		||||
			if closeErr != nil {
 | 
			
		||||
				b.Fatal(closeErr)
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user