mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-03 12:20:27 +08:00
78 lines
1.2 KiB
Go
78 lines
1.2 KiB
Go
package nodeconfigs
|
|
|
|
import (
|
|
"net"
|
|
"runtime"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestTOAConfig_RandLocalPort(t *testing.T) {
|
|
{
|
|
toa := &TOAConfig{}
|
|
err := toa.Init()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(toa.RandLocalPort())
|
|
}
|
|
{
|
|
toa := &TOAConfig{
|
|
MinLocalPort: 1,
|
|
MaxLocalPort: 2,
|
|
}
|
|
err := toa.Init()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(toa.RandLocalPort())
|
|
}
|
|
}
|
|
|
|
func TestTOAConfig_FreePort(t *testing.T) {
|
|
before := time.Now()
|
|
listener, err := net.Listen("tcp", ":0")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(listener.Addr())
|
|
_ = listener.Close()
|
|
t.Log(time.Since(before).Seconds()*1000, "ms")
|
|
time.Sleep(30 * time.Second)
|
|
}
|
|
|
|
|
|
func TestTOAConfig_AsArgs(t *testing.T) {
|
|
toa := &TOAConfig{
|
|
IsOn: false,
|
|
Debug: true,
|
|
OptionType: 0xfe,
|
|
MinQueueId: 10,
|
|
MaxQueueId: 20,
|
|
AutoSetup: true,
|
|
MinLocalPort: 0,
|
|
MaxLocalPort: 0,
|
|
SockPath: "",
|
|
ByPassPorts: nil,
|
|
}
|
|
err := toa.Init()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log(toa.AsArgs())
|
|
}
|
|
|
|
func BenchmarkTOAConfig_RandLocalPort(b *testing.B) {
|
|
runtime.GOMAXPROCS(1)
|
|
|
|
toa := &TOAConfig{
|
|
MinLocalPort: 1,
|
|
MaxLocalPort: 2,
|
|
}
|
|
_ = toa.Init()
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
_ = toa.RandLocalPort()
|
|
}
|
|
}
|