Skip to content

Commit d84b844

Browse files
committed
优化测试用例
1 parent 095c381 commit d84b844

35 files changed

+439
-81
lines changed

build/test.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@ if [ -z "$TAG" ]; then
66
TAG="community"
77
fi
88

9-
go test -v ../... -tags=${TAG}
9+
# reference: https://pkg.go.dev/cmd/go/internal/test
10+
go clean -testcache
11+
go test -timeout 10s -tags="${TAG}" -cover ../...

internal/caches/item_test.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package caches_test
44

55
import (
66
"github.com/TeaOSLab/EdgeNode/internal/caches"
7+
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
78
"github.com/TeaOSLab/EdgeNode/internal/zero"
89
"github.com/iwind/TeaGo/rands"
910
"github.com/iwind/TeaGo/types"
@@ -18,7 +19,11 @@ func TestItems_Memory(t *testing.T) {
1819
var memory1 = stat.HeapInuse
1920

2021
var items = []*caches.Item{}
21-
for i := 0; i < 10_000_000; i++ {
22+
var count = 100
23+
if testutils.IsSingleTesting() {
24+
count = 10_000_000
25+
}
26+
for i := 0; i < count; i++ {
2227
items = append(items, &caches.Item{
2328
Key: types.String(i),
2429
})
@@ -33,7 +38,9 @@ func TestItems_Memory(t *testing.T) {
3338
var memory3 = stat.HeapInuse
3439
t.Log(memory2, memory3, (memory3-memory2)/1024/1024, "M")
3540

36-
time.Sleep(1 * time.Second)
41+
if testutils.IsSingleTesting() {
42+
time.Sleep(1 * time.Second)
43+
}
3744
}
3845

3946
func TestItems_Memory2(t *testing.T) {
@@ -42,7 +49,12 @@ func TestItems_Memory2(t *testing.T) {
4249
var memory1 = stat.HeapInuse
4350

4451
var items = map[int32]map[string]zero.Zero{}
45-
for i := 0; i < 10_000_000; i++ {
52+
var count = 100
53+
if testutils.IsSingleTesting() {
54+
count = 10_000_000
55+
}
56+
57+
for i := 0; i < count; i++ {
4658
var week = int32((time.Now().Unix() - int64(86400*rands.Int(0, 300))) / (86400 * 7))
4759
m, ok := items[week]
4860
if !ok {
@@ -57,7 +69,9 @@ func TestItems_Memory2(t *testing.T) {
5769

5870
t.Log(memory1, memory2, (memory2-memory1)/1024/1024, "M")
5971

60-
time.Sleep(1 * time.Second)
72+
if testutils.IsSingleTesting() {
73+
time.Sleep(1 * time.Second)
74+
}
6175
for w, i := range items {
6276
t.Log(w, len(i))
6377
}

internal/caches/list_file_hash_map_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ package caches_test
44

55
import (
66
"github.com/TeaOSLab/EdgeNode/internal/caches"
7+
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
78
"github.com/TeaOSLab/EdgeNode/internal/zero"
89
"github.com/iwind/TeaGo/Tea"
910
"github.com/iwind/TeaGo/assert"
@@ -86,6 +87,10 @@ func TestFileListHashMap_BigInt(t *testing.T) {
8687
}
8788

8889
func TestFileListHashMap_Load(t *testing.T) {
90+
if !testutils.IsSingleTesting() {
91+
return
92+
}
93+
8994
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1").(*caches.FileList)
9095

9196
defer func() {

internal/caches/list_file_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ import (
1717
)
1818

1919
func TestFileList_Init(t *testing.T) {
20+
if !testutils.IsSingleTesting() {
21+
return
22+
}
23+
2024
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1")
2125

2226
defer func() {
@@ -34,6 +38,10 @@ func TestFileList_Init(t *testing.T) {
3438
}
3539

3640
func TestFileList_Add(t *testing.T) {
41+
if !testutils.IsSingleTesting() {
42+
return
43+
}
44+
3745
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1").(*caches.FileList)
3846

3947
defer func() {
@@ -107,6 +115,10 @@ func TestFileList_Add_Many(t *testing.T) {
107115
}
108116

109117
func TestFileList_Exist(t *testing.T) {
118+
if !testutils.IsSingleTesting() {
119+
return
120+
}
121+
110122
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1").(*caches.FileList)
111123
defer func() {
112124
_ = list.Close()
@@ -143,6 +155,10 @@ func TestFileList_Exist(t *testing.T) {
143155
}
144156

145157
func TestFileList_Exist_Many_DB(t *testing.T) {
158+
if !testutils.IsSingleTesting() {
159+
return
160+
}
161+
146162
// 测试在多个数据库下的性能
147163
var listSlice = []caches.ListInterface{}
148164
for i := 1; i <= 10; i++ {
@@ -202,6 +218,10 @@ func TestFileList_Exist_Many_DB(t *testing.T) {
202218
}
203219

204220
func TestFileList_CleanPrefix(t *testing.T) {
221+
if !testutils.IsSingleTesting() {
222+
return
223+
}
224+
205225
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1")
206226

207227
defer func() {
@@ -222,6 +242,10 @@ func TestFileList_CleanPrefix(t *testing.T) {
222242
}
223243

224244
func TestFileList_Remove(t *testing.T) {
245+
if !testutils.IsSingleTesting() {
246+
return
247+
}
248+
225249
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1").(*caches.FileList)
226250
defer func() {
227251
_ = list.Close()
@@ -246,6 +270,10 @@ func TestFileList_Remove(t *testing.T) {
246270
}
247271

248272
func TestFileList_Purge(t *testing.T) {
273+
if !testutils.IsSingleTesting() {
274+
return
275+
}
276+
249277
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1")
250278

251279
defer func() {
@@ -270,6 +298,10 @@ func TestFileList_Purge(t *testing.T) {
270298
}
271299

272300
func TestFileList_PurgeLFU(t *testing.T) {
301+
if !testutils.IsSingleTesting() {
302+
return
303+
}
304+
273305
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1")
274306

275307
defer func() {
@@ -294,6 +326,10 @@ func TestFileList_PurgeLFU(t *testing.T) {
294326
}
295327

296328
func TestFileList_Stat(t *testing.T) {
329+
if !testutils.IsSingleTesting() {
330+
return
331+
}
332+
297333
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1")
298334

299335
defer func() {
@@ -313,6 +349,10 @@ func TestFileList_Stat(t *testing.T) {
313349
}
314350

315351
func TestFileList_Count(t *testing.T) {
352+
if !testutils.IsSingleTesting() {
353+
return
354+
}
355+
316356
var list = caches.NewFileList(Tea.Root + "/data")
317357

318358
defer func() {
@@ -333,6 +373,10 @@ func TestFileList_Count(t *testing.T) {
333373
}
334374

335375
func TestFileList_CleanAll(t *testing.T) {
376+
if !testutils.IsSingleTesting() {
377+
return
378+
}
379+
336380
var list = caches.NewFileList(Tea.Root + "/data")
337381

338382
defer func() {
@@ -352,6 +396,10 @@ func TestFileList_CleanAll(t *testing.T) {
352396
}
353397

354398
func TestFileList_UpgradeV3(t *testing.T) {
399+
if !testutils.IsSingleTesting() {
400+
return
401+
}
402+
355403
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p43").(*caches.FileList)
356404

357405
defer func() {
@@ -376,6 +424,10 @@ func TestFileList_UpgradeV3(t *testing.T) {
376424
}
377425

378426
func BenchmarkFileList_Exist(b *testing.B) {
427+
if !testutils.IsSingleTesting() {
428+
return
429+
}
430+
379431
var list = caches.NewFileList(Tea.Root + "/data/cache-index/p1")
380432

381433
defer func() {

internal/caches/list_memory_test.go

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,15 @@ func TestMemoryList_Purge(t *testing.T) {
9898
}
9999

100100
func TestMemoryList_Purge_Large_List(t *testing.T) {
101-
list := caches.NewMemoryList().(*caches.MemoryList)
101+
var list = caches.NewMemoryList().(*caches.MemoryList)
102102
_ = list.Init()
103103

104-
for i := 0; i < 1_000_000; i++ {
104+
var count = 100
105+
if testutils.IsSingleTesting() {
106+
count = 1_000_000
107+
}
108+
109+
for i := 0; i < count; i++ {
105110
_ = list.Add("a"+strconv.Itoa(i), &caches.Item{
106111
Key: "a" + strconv.Itoa(i),
107112
ExpiredAt: time.Now().Unix() + int64(rands.Int(0, 24*3600)),
@@ -148,7 +153,11 @@ func TestMemoryList_CleanPrefix(t *testing.T) {
148153
list := caches.NewMemoryList()
149154
_ = list.Init()
150155
before := time.Now()
151-
for i := 0; i < 1_000_000; i++ {
156+
var count = 100
157+
if testutils.IsSingleTesting() {
158+
count = 1_000_000
159+
}
160+
for i := 0; i < count; i++ {
152161
key := "https://www.teaos.cn/hello/" + strconv.Itoa(i/10000) + "/" + strconv.Itoa(i) + ".html"
153162
_ = list.Add(fmt.Sprintf("%d", xxhash.Sum64String(key)), &caches.Item{
154163
Key: key,
@@ -175,7 +184,12 @@ func TestMemoryList_CleanPrefix(t *testing.T) {
175184
func TestMapRandomDelete(t *testing.T) {
176185
var countMap = map[int]int{} // k => count
177186

178-
for j := 0; j < 1_000_000; j++ {
187+
var count = 1000
188+
if testutils.IsSingleTesting() {
189+
count = 1_000_000
190+
}
191+
192+
for j := 0; j < count; j++ {
179193
var m = map[int]bool{}
180194
for i := 0; i < 100; i++ {
181195
m[i] = true
@@ -269,7 +283,6 @@ func TestMemoryList_GC(t *testing.T) {
269283
HeaderSize: 0,
270284
})
271285
}
272-
time.Sleep(10 * time.Second)
273286
t.Log("clean...", len(list.ItemMaps()))
274287
_ = list.CleanAll()
275288
t.Log("cleanAll...", len(list.ItemMaps()))

0 commit comments

Comments
 (0)