Pārlūkot izejas kodu

Updated Go ver to 1.12 and added go build in chi, gin, goji, aah, beego, echo (#4561)

* deleted some go test; updated go vet to 1.12 in fasthttp, go-std, iris; added evio tests

* add sync.Pool to go-std

* test sync.Pool in DBHandler

* add some sync.Pool to go-std

* fixed fortunes test in go-std

* before merge

* added sync.Pool in go-std mysql and mgo drivers

* Separate Go tests in travis

* fix go ver in Go/iris

* fix num loops in Go/evio

* group Go tests

* remove redundant args

* added Go/atreugo tests

* add easyjson support to Go/fasthttp

* update Go path in travis

* add atreugo tests

* removed handler in go-std

* add db handlers to atreugo

* end Go/atreugo tests

* fixed some errors

* add Go/gramework some tests

* fix travis

* Updated Go ver to 1.12 and added go build in chi, gin, goji, aah, beego, echo

* fix go.mod in atreugo
chunariov 6 gadi atpakaļ
vecāks
revīzija
e1f8b4dae7

+ 2 - 2
.travis.yml

@@ -31,8 +31,8 @@ env:
     - "TESTLANG=Elixir"
     - "TESTLANG=Erlang"
     - "TESTLANG=FSharp"
-    - 'TESTDIR="Go/aah Go/chi Go/falcore Go/gin Go/goji Go/kami Go/martini Go/revel Go/webgo"'
-    - 'TESTDIR="Go/beego Go/echo"'
+    - 'TESTDIR="Go/chi Go/gin Go/goji Go/aah Go/beego Go/echo"'
+    - 'TESTDIR="Go/falcore Go/kami Go/martini Go/revel Go/webgo"'
     - 'TESTDIR="Go/evio Go/fasthttp Go/go-std Go/iris Go/atreugo Go/gramework"'
     - "TESTLANG=Groovy"
     - "TESTDIR=Haskell/snap"

+ 20 - 0
frameworks/Go/aah/aah-mysql.dockerfile

@@ -0,0 +1,20 @@
+FROM golang:1.12
+
+RUN apt-get update -yqq
+
+ADD ./ /aah
+WORKDIR /aah
+
+ENV GOPATH /aah
+ENV PATH ${GOPATH}/bin:${PATH}
+ENV GO111MODULE on
+
+RUN curl -sL https://aahframework.org/install-cli | bash -s v0.13.3
+
+WORKDIR /aah/src/benchmark
+
+RUN aah --version
+RUN mkdir -p views/common
+RUN aah build --single
+
+CMD build/bin/benchmark run --envprofile bm_mysql

+ 20 - 0
frameworks/Go/aah/aah-postgresql.dockerfile

@@ -0,0 +1,20 @@
+FROM golang:1.12
+
+RUN apt-get update -yqq
+
+ADD ./ /aah
+WORKDIR /aah
+
+ENV GOPATH /aah
+ENV PATH ${GOPATH}/bin:${PATH}
+ENV GO111MODULE on
+
+RUN curl -sL https://aahframework.org/install-cli | bash -s v0.13.3
+
+WORKDIR /aah/src/benchmark
+
+RUN aah --version
+RUN mkdir -p views/common
+RUN aah build --single
+
+CMD build/bin/benchmark run --envprofile bm_postgresql

+ 1 - 1
frameworks/Go/aah/aah.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.11.4
+FROM golang:1.12
 
 RUN apt-get update -yqq
 

+ 1 - 3
frameworks/Go/atreugo/src/go.mod

@@ -14,9 +14,7 @@ require (
 	github.com/satori/go.uuid v1.2.0 // indirect
 	github.com/savsgio/atreugo/v7 v7.1.1
 	github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24 // indirect
+	github.com/stretchr/testify v1.3.0 // indirect
 	github.com/valyala/quicktemplate v1.0.2
-	golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a // indirect
-	golang.org/x/net v0.0.0-20190313082753-5c2c250b6a70 // indirect
-	golang.org/x/sys v0.0.0-20190312061237-fead79001313 // indirect
 	gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
 )

+ 15 - 6
frameworks/Go/atreugo/src/go.sum

@@ -1,6 +1,10 @@
+github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
 github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
+github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/fasthttp/router v0.3.3 h1:pbXxvJqqb4PeNIIS//DwOtimK9hYchl33eoVgeIMNM8=
 github.com/fasthttp/router v0.3.3/go.mod h1:lCf2TfRIzs3lgcFUGQah09Wu5BiEHcBPl3vm9QiXNTo=
+github.com/jackc/fake v0.0.0-20150926172116-812a484cc733 h1:vr3AYkKovP8uR8AvSGGUK1IDqRa5lAAvEkZG1LKaCRc=
 github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
 github.com/jackc/pgx v3.3.0+incompatible h1:Wa90/+qsITBAPkAZjiByeIGHFcj3Ztu+VzrrIpHjL90=
 github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
@@ -13,9 +17,12 @@ github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0
 github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
 github.com/klauspost/cpuid v1.2.0 h1:NMpwD2G9JSFOE1/TJjGSo5zG7Yb2bTe7eq1jH+irmeE=
 github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
+github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
 github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/mailru/easyjson v0.0.0-20190221075403-6243d8e04c3f h1:B6PQkurxGG1rqEX96oE14gbj8bqvYC5dtks9r5uGmlE=
 github.com/mailru/easyjson v0.0.0-20190221075403-6243d8e04c3f/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
@@ -25,6 +32,9 @@ github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9
 github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
 github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
 github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
 github.com/savsgio/atreugo/v7 v7.1.1 h1:SJBMyKS0ZHo3d4i1en0hvYdK+e8hyknPlVXlx9GoRp0=
 github.com/savsgio/atreugo/v7 v7.1.1/go.mod h1:V07FVzh/wHX/3ODPkicj6KcuVM+7/IUEwyYu5tl2dsc=
@@ -32,7 +42,11 @@ github.com/savsgio/go-logger v1.0.0 h1:jiaRvohRr8RwtcK/WDcA/Yp4eaPaarAko3JNPzt1x
 github.com/savsgio/go-logger v1.0.0/go.mod h1:/ZzTTmB3JJqjZQcLlxTGbwy3fIsLUoYyldsSEL5rU2g=
 github.com/savsgio/gotils v0.0.0-20190210195551-a1aee1d83e72 h1:JEOaM8cQH5Z237uAdMAF6YXMcZXtaiTD2NECYwrYHl0=
 github.com/savsgio/gotils v0.0.0-20190210195551-a1aee1d83e72/go.mod h1:w803/Fg1m0hrp1ZT9KNfQe4E4+WOMMFLcgzPvOcye10=
+github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24 h1:pntxY8Ary0t43dCZ5dqY4YTJCObLY1kIXl0uzMv+7DE=
 github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
 github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
 github.com/valyala/fasthttp v0.0.0-20180905170723-c6fd90e432cc/go.mod h1:+g/po7GqyG5E+1CNgquiIxJnsXEi5vwFn5weFujbO78=
@@ -42,11 +56,6 @@ github.com/valyala/quicktemplate v1.0.2 h1:ZeVRKan1W/25u5f9ilDo5HWtdxD+QxR10WrZw
 github.com/valyala/quicktemplate v1.0.2/go.mod h1:KZAB+RlYlfNtBUGQMzIrnE8uuNgD2SbUn5CpZyod0sk=
 github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a h1:0R4NLDRDZX6JcmhJgXi5E4b8Wg84ihbmUKp/GvSPEzc=
 github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/net v0.0.0-20180911220305-26e67e76b6c3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190313082753-5c2c250b6a70/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

+ 4 - 2
frameworks/Go/beego/beego-orm-mysql.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /beego
 WORKDIR /beego
@@ -13,4 +13,6 @@ RUN sh install_glide.sh
 RUN glide -v
 WORKDIR src/hello-orm-mysql
 RUN glide install
-CMD go run main.go
+
+RUN go build -o server main.go
+CMD ./server

+ 5 - 2
frameworks/Go/beego/beego.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /beego
 WORKDIR /beego
@@ -13,4 +13,7 @@ RUN sh install_glide.sh
 RUN glide -v
 WORKDIR src/hello
 RUN glide install
-CMD go run main.go
+
+RUN go build -o server main.go
+CMD ./server
+

+ 3 - 2
frameworks/Go/chi/chi-gojay-prefork.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /chi
 WORKDIR /chi
@@ -11,4 +11,5 @@ RUN go get github.com/francoispqt/gojay
 RUN go get github.com/jackc/pgx
 RUN go get github.com/go-chi/chi
 
-CMD go run src/chi-gojay/*.go -prefork
+RUN go build -o server src/chi-gojay/*.go
+CMD ./server -prefork

+ 3 - 2
frameworks/Go/chi/chi-gojay.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /chi
 WORKDIR /chi
@@ -11,4 +11,5 @@ RUN go get github.com/francoispqt/gojay
 RUN go get github.com/jackc/pgx
 RUN go get github.com/go-chi/chi
 
-CMD go run src/chi-gojay/*.go
+RUN go build -o server src/chi-gojay/*.go
+CMD ./server

+ 3 - 2
frameworks/Go/chi/chi-prefork.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /chi
 WORKDIR /chi
@@ -11,4 +11,5 @@ RUN go get github.com/mailru/easyjson/...
 RUN go get github.com/jackc/pgx
 RUN go get github.com/go-chi/chi
 
-CMD go run src/chi/*.go -prefork
+RUN go build -o server src/chi/*.go
+CMD ./server -prefork

+ 3 - 2
frameworks/Go/chi/chi-sjson-prefork.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /chi
 WORKDIR /chi
@@ -11,4 +11,5 @@ RUN go get github.com/tidwall/sjson
 RUN go get github.com/jackc/pgx
 RUN go get github.com/go-chi/chi
 
-CMD go run src/chi-sjson/*.go -prefork
+RUN go build -o server src/chi-sjson/*.go
+CMD ./server -prefork

+ 3 - 2
frameworks/Go/chi/chi-sjson.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /chi
 WORKDIR /chi
@@ -11,4 +11,5 @@ RUN go get github.com/tidwall/sjson
 RUN go get github.com/jackc/pgx
 RUN go get github.com/go-chi/chi
 
-CMD go run src/chi-sjson/*.go
+RUN go build -o server src/chi-sjson/*.go
+CMD ./server

+ 3 - 2
frameworks/Go/chi/chi.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /chi
 WORKDIR /chi
@@ -11,4 +11,5 @@ RUN go get github.com/mailru/easyjson/...
 RUN go get github.com/jackc/pgx
 RUN go get github.com/go-chi/chi
 
-CMD go run src/chi/*.go
+RUN go build -o server src/chi/*.go
+CMD ./server

+ 3 - 3
frameworks/Go/echo/echo.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /echo
 WORKDIR /echo
@@ -13,6 +13,6 @@ RUN sh install_glide.sh
 WORKDIR src
 RUN glide install
 WORKDIR ..
-RUN go install app
 
-CMD app
+RUN go install app
+CMD app

+ 3 - 2
frameworks/Go/gin/gin.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /gin
 WORKDIR /gin
@@ -10,4 +10,5 @@ ENV PATH ${GOPATH}/bin:${PATH}
 RUN go get github.com/gin-gonic/gin
 RUN go get github.com/go-sql-driver/mysql
 
-CMD go run hello.go
+RUN go build -o hello hello.go
+CMD ./hello

+ 3 - 2
frameworks/Go/goji/goji.dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.10.1
+FROM golang:1.12
 
 ADD ./ /goji
 WORKDIR /goji
@@ -11,4 +11,5 @@ RUN go get github.com/go-sql-driver/mysql
 RUN go get github.com/zenazn/goji
 RUN go get github.com/zenazn/goji/web
 
-CMD go run src/goji/server.go
+RUN go build -o server src/goji/server.go
+CMD ./server