| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | package logimport (	"os"	"testing"	"time")func TestNewWriter(t *testing.T) {	pwd, err := os.Getwd()	if err != nil {		t.Error(err)		return	}	t.Log("pwd:", pwd)	writer, err := NewRawWriter("w_", ".log", pwd)	if err != nil {		t.Error(err)		return	}	defer func() {		_ = writer.Close()	}()	b := make([]byte, 4096)	for i := 0; i < 4096; i++ {		b[i] = byte(i)	}	n, err := writer.Write(b)	if err != nil {		t.Error(err)		return	}	t.Log("w:", n)}func TestNewWriter2(t *testing.T) {	pwd, err := os.Getwd()	if err != nil {		t.Error(err)		return	}	t.Log("pwd:", pwd)	writer, err := NewWriter("w_", ".log", pwd)	defer func() {		_ = writer.Close()	}()	time.Sleep(30 * time.Second)	const (		str1 = "[E] 1111111111111111111111111111111111111111111111\n"		str2 = "[D] 2222222222222222222222222222222222222222222222\n"	)	go func() {		for i := 0; i < 1000000; i++ {			_, err = writer.Write([]byte(str1))			if err != nil {				t.Error(err)				return			}		}		t.Log("done1")	}()	go func() {		for i := 0; i < 1000000; i++ {			_, err = writer.Write([]byte(str2))			if err != nil {				t.Error(err)				return			}		}		t.Log("done2")	}()	time.Sleep(1 * time.Hour)}func BenchmarkNewWriter(b *testing.B) {	pwd, err := os.Getwd()	if err != nil {		b.Error(err)		return	}	b.Log("pwd:", pwd)	writer, err := NewWriter("w_", ".log", pwd)	defer func() {		_ = writer.Close()	}()	const str = "1111111111111111111111111111111111111111111111\n"	for i := 0; i < b.N; i++ {		_, err = writer.Write([]byte(str))		if err != nil {			b.Error(err)			return		}	}}
 |