]> 127.0.0.1 Git - part/.git/commitdiff
fix v0.9.9
authorqydysky <qydysky@foxmail.com>
Thu, 12 May 2022 16:36:20 +0000 (00:36 +0800)
committerqydysky <qydysky@foxmail.com>
Thu, 12 May 2022 16:36:20 +0000 (00:36 +0800)
msgq/Msgq_test.go
web/Web.go

index a226f7edb1596084900cfe31e655547f3a8fd4f6..b2952d3345810f53d7e1db888431dea0b971948b 100644 (file)
@@ -1,12 +1,13 @@
 package part
 
 import (
-       "time"
        "fmt"
        "net/http"
        _ "net/http/pprof"
        "testing"
-       p "github.com/qydysky/part"
+       "time"
+
+       sys "github.com/qydysky/part/sys"
 )
 
 type test_item struct {
@@ -15,31 +16,34 @@ type test_item struct {
 
 func Test_msgq(t *testing.T) {
 
-
        mq := New(5)
        mun := 100000
-       mun_c := make(chan bool,mun)
-       mun_s := make(chan bool,mun)
+       mun_c := make(chan bool, mun)
+       mun_s := make(chan bool, mun)
 
        var e int
 
        sig := mq.Sig()
-       for i:=0;i<mun;i++{
-               go func(){
+       for i := 0; i < mun; i++ {
+               go func() {
                        mun_c <- true
-                       data,t0 := mq.Pull(sig)
-                       if o,ok:=data.(string);o != `mmm`||!ok {e = 1}
-                       data1,_ := mq.Pull(t0)
-                       if o,ok:=data1.(string);o != `mm1`||!ok {e = 2}
+                       data, t0 := mq.Pull(sig)
+                       if o, ok := data.(string); o != `mmm` || !ok {
+                               e = 1
+                       }
+                       data1, _ := mq.Pull(t0)
+                       if o, ok := data1.(string); o != `mm1` || !ok {
+                               e = 2
+                       }
                        mun_s <- true
                }()
        }
 
        for len(mun_c) != mun {
-               t.Log(`>`,len(mun_c))
-               p.Sys().Timeoutf(1)
+               t.Log(`>`, len(mun_c))
+               sys.Sys().Timeoutf(1)
        }
-       t.Log(`>`,len(mun_c))
+       t.Log(`>`, len(mun_c))
 
        t.Log(`push mmm`)
        mq.Push(`mmm`)
@@ -47,63 +51,71 @@ func Test_msgq(t *testing.T) {
        mq.Push(`mm1`)
 
        for len(mun_s) != mun {
-               t.Log(`<`,len(mun_s))
-               p.Sys().Timeoutf(1)
+               t.Log(`<`, len(mun_s))
+               sys.Sys().Timeoutf(1)
        }
-       t.Log(`<`,len(mun_s))
+       t.Log(`<`, len(mun_s))
 
-       if e!=0 {t.Error(e)}
+       if e != 0 {
+               t.Error(e)
+       }
 }
 
 func Test_msgq2(t *testing.T) {
        mq := New(5)
 
-       mun_c := make(chan bool,100)
-       go func(){
+       mun_c := make(chan bool, 100)
+       go func() {
                var (
-                       sig = mq.Sig()
+                       sig  = mq.Sig()
                        data interface{}
                )
                for {
-                       data,sig = mq.Pull(sig)
-                       if data.(test_item).data != `aa1` {t.Error(`1`)}
+                       data, sig = mq.Pull(sig)
+                       if data.(test_item).data != `aa1` {
+                               t.Error(`1`)
+                       }
                        mun_c <- true
                }
-       }()     
-       go func(){
+       }()
+       go func() {
                var (
-                       sig = mq.Sig()
+                       sig  = mq.Sig()
                        data interface{}
                )
                for {
-                       data,sig = mq.Pull(sig)
-                       if data.(test_item).data != `aa1` {t.Error(`2`)}
+                       data, sig = mq.Pull(sig)
+                       if data.(test_item).data != `aa1` {
+                               t.Error(`2`)
+                       }
                        mun_c <- true
                }
        }()
-       go func(){
+       go func() {
                var (
-                       sig = mq.Sig()
+                       sig  = mq.Sig()
                        data interface{}
                )
                for {
-                       data,sig = mq.Pull(sig)
-                       if data.(test_item).data != `aa1` {t.Error(`3`)}
+                       data, sig = mq.Pull(sig)
+                       if data.(test_item).data != `aa1` {
+                               t.Error(`3`)
+                       }
                        mun_c <- true
                }
-       }()     
+       }()
        var fin_turn = 0
        t.Log(`start`)
        time.Sleep(time.Second)
        for fin_turn < 1000000 {
                mq.Push(test_item{
-                       data:`aa1`,
+                       data: `aa1`,
                })
                <-mun_c
                <-mun_c
                <-mun_c
                fin_turn += 1
-               fmt.Print("\r",fin_turn)
+               fmt.Print("\r", fin_turn)
        }
        t.Log(`fin`)
 }
@@ -111,10 +123,12 @@ func Test_msgq2(t *testing.T) {
 func Test_msgq3(t *testing.T) {
        mq := New(100)
 
-       mun_c := make(chan int,100)
-       mq.Pull_tag(map[string]func(interface{})(bool){
-               `A1`:func(data interface{})(bool){
-                       if v,ok := data.(int);ok {mun_c <- v}
+       mun_c := make(chan int, 100)
+       mq.Pull_tag(map[string]func(interface{}) bool{
+               `A1`: func(data interface{}) bool {
+                       if v, ok := data.(int); ok {
+                               mun_c <- v
+                       }
                        return false
                },
        })
@@ -123,45 +137,57 @@ func Test_msgq3(t *testing.T) {
        t.Log(`start`)
        time.Sleep(time.Second)
        for fin_turn < 1000000 {
-               mq.Push_tag(`A1`,fin_turn)
-               if fin_turn != <-mun_c {t.Error(fin_turn)}
+               mq.Push_tag(`A1`, fin_turn)
+               if fin_turn != <-mun_c {
+                       t.Error(fin_turn)
+               }
                fin_turn += 1
-               fmt.Print("\r",fin_turn)
+               fmt.Print("\r", fin_turn)
        }
        t.Log(`fin`)
 }
 
 func Test_msgq4(t *testing.T) {
        // mq := New(30)
-       mq := New(3)//out of list
+       mq := New(3) //out of list
 
-       mun_c1 := make(chan bool,100)
-       mun_c2 := make(chan bool,100)
-       mun_c3 := make(chan bool,100)
-       mq.Pull_tag(map[string]func(interface{})(bool){
-               `A1`:func(data interface{})(bool){
-                       if v,ok := data.(string);!ok || v != `a11`{t.Error(`1`)}
+       mun_c1 := make(chan bool, 100)
+       mun_c2 := make(chan bool, 100)
+       mun_c3 := make(chan bool, 100)
+       mq.Pull_tag(map[string]func(interface{}) bool{
+               `A1`: func(data interface{}) bool {
+                       if v, ok := data.(string); !ok || v != `a11` {
+                               t.Error(`1`)
+                       }
                        mun_c1 <- true
                        return false
                },
-               `A2`:func(data interface{})(bool){
-                       if v,ok := data.(string);!ok || v != `a11`{t.Error(`2`)}
+               `A2`: func(data interface{}) bool {
+                       if v, ok := data.(string); !ok || v != `a11` {
+                               t.Error(`2`)
+                       }
                        mun_c2 <- true
                        return false
                },
-               `Error`:func(data interface{})(bool){
-                       if data == nil {t.Error(`out of list`)}
+               `Error`: func(data interface{}) bool {
+                       if data == nil {
+                               t.Error(`out of list`)
+                       }
                        return false
                },
        })
-       mq.Pull_tag(map[string]func(interface{})(bool){
-               `A1`:func(data interface{})(bool){
-                       if v,ok := data.(string);!ok || v != `a11`{t.Error(`2`)}
+       mq.Pull_tag(map[string]func(interface{}) bool{
+               `A1`: func(data interface{}) bool {
+                       if v, ok := data.(string); !ok || v != `a11` {
+                               t.Error(`2`)
+                       }
                        mun_c3 <- true
                        return false
                },
-               `Error`:func(data interface{})(bool){
-                       if data == nil {t.Error(`out of list`)}
+               `Error`: func(data interface{}) bool {
+                       if data == nil {
+                               t.Error(`out of list`)
+                       }
                        return false
                },
        })
@@ -170,19 +196,19 @@ func Test_msgq4(t *testing.T) {
        t.Log(`start`)
        time.Sleep(time.Second)
        for fin_turn < 5 {
-               go mq.Push_tag(`A1`,`a11`)
-               go mq.Push_tag(`A1`,`a11`)
-               go mq.Push_tag(`A1`,`a11`)
+               go mq.Push_tag(`A1`, `a11`)
+               go mq.Push_tag(`A1`, `a11`)
+               go mq.Push_tag(`A1`, `a11`)
                // mq.Push_tag(`A4`,`a11`)
-               go mq.Push_tag(`A1`,`a11`)
-               mq.Push_tag(`A1`,`a11`)
-               mq.Push_tag(`A2`,`a11`)
+               go mq.Push_tag(`A1`, `a11`)
+               mq.Push_tag(`A1`, `a11`)
+               mq.Push_tag(`A2`, `a11`)
                // mq.Push_tag(`A4`,`a11`)
-               <-mun_c2                
+               <-mun_c2
                <-mun_c1
                // <-mun_c3
                fin_turn += 1
-               fmt.Print("\r",fin_turn)
+               fmt.Print("\r", fin_turn)
        }
        t.Log(`fin`)
 }
@@ -190,49 +216,59 @@ func Test_msgq4(t *testing.T) {
 func Test_msgq5(t *testing.T) {
        mq := New(30)
 
-       mun_c1 := make(chan bool,100)
-       mun_c2 := make(chan bool,100)
-       go mq.Pull_tag(map[string]func(interface{})(bool){
-               `A1`:func(data interface{})(bool){
-                       time.Sleep(time.Second)//will block
+       mun_c1 := make(chan bool, 100)
+       mun_c2 := make(chan bool, 100)
+       go mq.Pull_tag(map[string]func(interface{}) bool{
+               `A1`: func(data interface{}) bool {
+                       time.Sleep(time.Second) //will block
                        return false
                },
-               `A2`:func(data interface{})(bool){
-                       if v,ok := data.(string);!ok || v != `a11`{t.Error(`2`)}
+               `A2`: func(data interface{}) bool {
+                       if v, ok := data.(string); !ok || v != `a11` {
+                               t.Error(`2`)
+                       }
                        mun_c2 <- true
                        return false
                },
-               `Error`:func(data interface{})(bool){
-                       if data == nil {t.Error(`out of list`)}
+               `Error`: func(data interface{}) bool {
+                       if data == nil {
+                               t.Error(`out of list`)
+                       }
                        return false
                },
        })
-       mq.Pull_tag(map[string]func(interface{})(bool){
-               `A1`:func(data interface{})(bool){
-                       if v,ok := data.(string);!ok || v != `a11`{t.Error(`1`)}
+       mq.Pull_tag(map[string]func(interface{}) bool{
+               `A1`: func(data interface{}) bool {
+                       if v, ok := data.(string); !ok || v != `a11` {
+                               t.Error(`1`)
+                       }
                        mun_c1 <- true
                        return false
                },
-               `A2`:func(data interface{})(bool){
-                       if v,ok := data.(string);!ok || v != `a11`{t.Error(`2`)}
+               `A2`: func(data interface{}) bool {
+                       if v, ok := data.(string); !ok || v != `a11` {
+                               t.Error(`2`)
+                       }
                        return false
                },
-               `Error`:func(data interface{})(bool){
-                       if data == nil {t.Error(`out of list`)}
+               `Error`: func(data interface{}) bool {
+                       if data == nil {
+                               t.Error(`out of list`)
+                       }
                        return false
                },
        })
-       
+
        var fin_turn = 0
        t.Log(`start`)
        time.Sleep(time.Second)
        for fin_turn < 10 {
-               mq.Push_tag(`A1`,`a11`)
-               mq.Push_tag(`A2`,`a11`)
+               mq.Push_tag(`A1`, `a11`)
+               mq.Push_tag(`A2`, `a11`)
                <-mun_c1
                <-mun_c2
                fin_turn += 1
-               fmt.Print("\r",fin_turn)
+               fmt.Print("\r", fin_turn)
        }
        t.Log(`fin`)
 }
@@ -242,28 +278,32 @@ func Test_msgq6(t *testing.T) {
        go func() {
                http.ListenAndServe("0.0.0.0:8899", nil)
        }()
-       go mq.Pull_tag(map[string]func(interface{})(bool){
-               `A1`:func(data interface{})(bool){
+       go mq.Pull_tag(map[string]func(interface{}) bool{
+               `A1`: func(data interface{}) bool {
                        return false
                },
-               `A2`:func(data interface{})(bool){
-                       if v,ok := data.(string);!ok || v != `a11`{t.Error(`2`)}
+               `A2`: func(data interface{}) bool {
+                       if v, ok := data.(string); !ok || v != `a11` {
+                               t.Error(`2`)
+                       }
                        return false
                },
-               `Error`:func(data interface{})(bool){
-                       if data == nil {t.Error(`out of list`)}
+               `Error`: func(data interface{}) bool {
+                       if data == nil {
+                               t.Error(`out of list`)
+                       }
                        return false
                },
        })
-       
+
        var fin_turn = 0
        t.Log(`start`)
        for fin_turn < 1000 {
                time.Sleep(time.Second)
                time.Sleep(time.Second)
-               mq.Push_tag(`A1`,`a11`)
-               fin_turn+=1
-               fmt.Print("\r",fin_turn)
+               mq.Push_tag(`A1`, `a11`)
+               fin_turn += 1
+               fmt.Print("\r", fin_turn)
        }
        t.Log(`fin`)
 }
index fcdfbba13785b7c11d9879471c54fb524931db74..608429e87758e0c4d7d9e7e1bec92b4b9345a7c3 100644 (file)
@@ -1,16 +1,17 @@
 package part
 
 import (
-    "net/http"
-       "time"
-       "strconv"
        "context"
-       p "github.com/qydysky/part"
+       "net/http"
+       "strconv"
+       "time"
+
+       sys "github.com/qydysky/part/sys"
 )
 
 type Web struct {
        Server *http.Server
-       mux *http.ServeMux
+       mux    *http.ServeMux
 }
 
 func New(conf *http.Server) (o *Web) {
@@ -18,7 +19,7 @@ func New(conf *http.Server) (o *Web) {
        o = new(Web)
 
        o.Server = conf
-       
+
        if o.Server.Handler == nil {
                o.mux = http.NewServeMux()
                o.Server.Handler = o.mux
@@ -29,24 +30,26 @@ func New(conf *http.Server) (o *Web) {
        return
 }
 
-func (t *Web) Handle(path_func map[string]func(http.ResponseWriter,*http.Request)) {
-       for k,v := range path_func {
-               t.mux.HandleFunc(k,v)
+func (t *Web) Handle(path_func map[string]func(http.ResponseWriter, *http.Request)) {
+       for k, v := range path_func {
+               t.mux.HandleFunc(k, v)
        }
 }
 
-func Easy_boot() (*Web) {
+func Easy_boot() *Web {
        s := New(&http.Server{
-               Addr: "127.0.0.1:"+strconv.Itoa(p.Sys().GetFreePort()),
-               WriteTimeout:  time.Second * time.Duration(10),
+               Addr:         "127.0.0.1:" + strconv.Itoa(sys.Sys().GetFreePort()),
+               WriteTimeout: time.Second * time.Duration(10),
        })
-       s.Handle(map[string]func(http.ResponseWriter,*http.Request){
-               `/`:func(w http.ResponseWriter,r *http.Request){
+       s.Handle(map[string]func(http.ResponseWriter, *http.Request){
+               `/`: func(w http.ResponseWriter, r *http.Request) {
                        var path string = r.URL.Path[1:]
-                       if path == `` {path = `index.html`}
+                       if path == `` {
+                               path = `index.html`
+                       }
                        http.ServeFile(w, r, path)
                },
-               `/exit`:func(w http.ResponseWriter,r *http.Request){
+               `/exit`: func(w http.ResponseWriter, r *http.Request) {
                        s.Server.Shutdown(context.Background())
                },
        })