From 3333fa9a9642e96764e703f77f2fa0c22e7c988a Mon Sep 17 00:00:00 2001 From: Yusuf Septiananda Date: Wed, 19 May 2021 00:20:59 +0700 Subject: [PATCH 1/4] Fix: Read File Already Closed - Fix read file already closed - Move go dep to go mod - Increase floating coverage precision --- Gopkg.lock | 80 --------------------------------------- Gopkg.toml | 38 ------------------- coverage_badge.png | Bin 2199 -> 2357 bytes coverbadge/coverbadge.go | 7 ++-- go.mod | 13 +++++++ go.sum | 14 +++++++ main.go | 23 +++++++---- main_test.go | 6 +-- 8 files changed, 48 insertions(+), 133 deletions(-) delete mode 100644 Gopkg.lock delete mode 100644 Gopkg.toml create mode 100644 go.mod create mode 100644 go.sum diff --git a/Gopkg.lock b/Gopkg.lock deleted file mode 100644 index d78a74b..0000000 --- a/Gopkg.lock +++ /dev/null @@ -1,80 +0,0 @@ -# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. - - -[[projects]] - digest = "1:4bb94bb2d837b5c7489d9e5e1fcffbc81fa1cb43024cbb4fe827787378f01e3b" - name = "github.com/fatih/color" - packages = ["."] - pruneopts = "UT" - revision = "507f6050b8568533fb3f5504de8e5205fa62a114" - version = "v1.6.0" - -[[projects]] - digest = "1:d45d0ae9aa93470f49280bcf0953419e867f8f26a6ec3218aafc31fb427d5bd0" - name = "github.com/fogleman/gg" - packages = ["."] - pruneopts = "UT" - revision = "6166aa3c1afaee416f384645a81636267aee6d25" - version = "v1.0.0" - -[[projects]] - branch = "master" - digest = "1:62c57507df491b657e9ae2645f30958d9964c8eeb380600469eedc951ebb3a0e" - name = "github.com/golang/freetype" - packages = [ - "raster", - "truetype", - ] - pruneopts = "UT" - revision = "e2365dfdc4a05e4b8299a783240d4a7d5a65d4e4" - -[[projects]] - digest = "1:c658e84ad3916da105a761660dcaeb01e63416c8ec7bc62256a9b411a05fcd67" - name = "github.com/mattn/go-colorable" - packages = ["."] - pruneopts = "UT" - revision = "167de6bfdfba052fa6b2d3664c8f5272e23c9072" - version = "v0.0.9" - -[[projects]] - digest = "1:d4d17353dbd05cb52a2a52b7fe1771883b682806f68db442b436294926bbfafb" - name = "github.com/mattn/go-isatty" - packages = ["."] - pruneopts = "UT" - revision = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39" - version = "v0.0.3" - -[[projects]] - branch = "master" - digest = "1:53e6f54885d63f2c9afc898f10481d28295471dee95bb7faa74cee8a1df85e56" - name = "golang.org/x/image" - packages = [ - "font", - "font/basicfont", - "font/gofont/goregular", - "font/plan9font", - "math/fixed", - ] - pruneopts = "UT" - revision = "f3a9b89b59def9194717c1d0bd4c0d08fa1afa7b" - -[[projects]] - branch = "master" - digest = "1:bcdbc1c6f88196580500afc96255fb81b89e996ea43917c4973675c567f825ae" - name = "golang.org/x/sys" - packages = ["unix"] - pruneopts = "UT" - revision = "2f1e207ee39ff70f3433e49c6eb52677a515e3b5" - -[solve-meta] - analyzer-name = "dep" - analyzer-version = 1 - input-imports = [ - "github.com/fatih/color", - "github.com/fogleman/gg", - "github.com/golang/freetype/truetype", - "golang.org/x/image/font", - "golang.org/x/image/font/gofont/goregular", - ] - solver-name = "gps-cdcl" - solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml deleted file mode 100644 index cd2648c..0000000 --- a/Gopkg.toml +++ /dev/null @@ -1,38 +0,0 @@ -# Gopkg.toml example -# -# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md -# for detailed Gopkg.toml documentation. -# -# required = ["github.com/user/thing/cmd/thing"] -# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] -# -# [[constraint]] -# name = "github.com/user/project" -# version = "1.0.0" -# -# [[constraint]] -# name = "github.com/user/project2" -# branch = "dev" -# source = "github.com/myfork/project2" -# -# [[override]] -# name = "github.com/x/y" -# version = "2.4.0" -# -# [prune] -# non-go = false -# go-tests = true -# unused-packages = true - - -[[constraint]] - name = "github.com/fatih/color" - version = "1.6.0" - -[[constraint]] - name = "github.com/fogleman/gg" - version = "1.0.0" - -[prune] - go-tests = true - unused-packages = true diff --git a/coverage_badge.png b/coverage_badge.png index a7d2fcd75fc1d89aaa1dab030fb344618d26dc8d..79500b5c1751f8403f7a0a5a27ec9d827c94351a 100644 GIT binary patch literal 2357 zcmV-53Ci|~P)Px-?@2^KRA_Y08HQny78JzdFi5e8)f|GB=;Iq!Q$TC`}<2!p}!x+F={fN1XGw$WDnk2`I`ZNZ0V zmJnZb_H>k~nx<_A<_jV2v|S;KP>Y=e(I71xriQC3Fg?^9_^}~W<0nZ>SA`IkJ8ej) zBUB3jfkh2j<9|d5%$$#U@^>$nn_{8YNGWK)VYrE+SgBUwdb;b zK0eG&nd5gPn(n9mhLcUFOK5PPAC!M6Sw&KLeryHft(hEb`H0ugJPm+FjpX^13Vw4U zmtNrwXuB+gAkZi(Dq`HYajadtmf5psvuf2U+S=NfIB{aYHA8Wwrl#`33okHd&K%aQ zTSrPt3MP~3wz+=n!=~NKQ})++<>OUM`+X8MUsv<1(d7eVN)tCyUH2Kk*gTelr#@pv z;`)GmL&-iE@iW@5cQF0Uv4ne~7;Em!&C-P5^5*9+;_2-f($;_-ASNb;$&)8jP*8x! z;~^p<0=L^uWo0FbqF^){nJ{4j1qB5}MMY6xUr$9v1x-y&-;1lYwUt+2eHDwv!lX%) z2IZMIZysi|neE%R17J3rdE<>YC@wB0At8an!b0NW;%IJeX2*^l96NRlfL*(Gv17*$ zX3d&KRaF(0m6dGUw$1NDU0oepw{E4qy`7AV4D$2y(KL-cd-jl*mq%V+9smx9BcP6< zI>1QPPQ&#J)TswCPmtO3&0qNCq*V+%W2CG12E+9cB%1H1^z1zJG%tTWvzff~ zT=z5&;0h+|>F`0Az&1fc2=LtSF+L)bj@C}j8jfN>9&(Ec*a70>Xqtv3 zNhpef*=!~(EDVdq!ip6u*t~f&k3ar6$B!SUxVZRxbE&F|)oLX&GBO~~-o1Ot$jCsF zB!m!5nKFd~2M!?1GE0{(W&Qf~%$zxs^73+)En9}BX?|x71_OC{dA$Ah+Xx|;J9jQw zSy{}TJC~CuPx9Dfj}Z|O!Lnt`c=_d*$<58hVzKybHX4mX>KJOAYdOUT>nI)^^)R{` zM$Y)f$dZgrjztJTloZPqS0hTS2T1`X*25K7BT?VZ-#miJ9&Y>`qh{v4%&%y3U*l}s z3Gzmk@z&87(ZZ#mwg&6~UT@#NAIe@H=iPVT z<%uVrK-YELZubDL-rn8;TsOmRw+H0u=;+}5`SYZwr*q`U5vER^%9br#NKQ^>^ytx4 zR8$P$ijI!v;>C*q?A*DN@bGYd@syO5Fm2j2tX33MMN>czI@TE}nLQAyTGv`WklDZex7PM4n516My0SlnM zzMhdIM-mws$+c_OIC0_xnVFg7=H}vXIPiMCNRouE>p)+7?oal2InSOwJAmtE48+7-EY#cp$l#-H?Tau$`8qim4{mF4S9Aso_rqtWPJgdOJ{gpMSZhfD>zqK2mM=s0iHT^MMqFGR#l^*3xNu=eo|>8(Qd3izGiMI__U%K{G@MQ+ zW5$djKR=&@gal$^V~LH8MO9UQGWwr8lq$Em9ONow-=G3WEY}l|N;On8wtEqu z%f6tp{g^Yd5UFJt@3+5&qDzcz&tmP2KO%rN`-(Ud@y|i?BIV@d1S|j{1RWh6{-DdU zjIQgL&1Muup}V`A_V#xF;VvQ~0##MN7niE4m`o?g0Aa$yqK5U&Uq9}_ z7_Xq)jmS8Z{ySIqocm>9A~zx7$W3B^CD$uXNT@*tRDc+KKm?FrcA-@ zcH?w9*|>4zEr-}(2(|0roAHzX6uf%%YP!3-kt7LC)38`90lQcrgmMg3Aw)aylf4nN zTCKPIcDo4;)dCREt_mSO1?C5pzKehe-2xDws&2QtRM&McaQ81^|06=J00g305`59& bX)pT^5Wq?)+J`>R00000NkvXXu0mjf6~dYP literal 2199 zcmV;I2x#|-P)Px-QAtEWRA_BmPP6m(VB|2XvP`p-2m1ou*%5P zF(ZOgoJqB5GGn}qw`3e`W5iEd9F1+-#tAW*G$~p%Bh*`ipc62eRHO*%vb&L8cH#5` zbtB4xww(bdJ~QXT|IFFvdC&Wt^X}R6UunsbB_nk@-J6mm%>ZmX!6T!i_-{k1--BqA z5TD-Z@|LNZrtJn63L%CxsK*&YojVC^AT1uDMye{1HPit;?ieollO(cKA%uCT19{vr zTnt5ER)W*4xbqMf533c;eduJib8gFHkp~3L`O%{*4D#LVzpYie*HR?m6cRiSO2eb7;@a7!zj&0#gESQ=?e%yi#{7iK=_&Yy*w6< zdWk5Vjk=CA{HAF=H@p4?fFh~9GPa!Y)~TFo|A05Y_yquFHHueK%lTDZ9^E1sHkJVm zUAb~4Hk*wN8#d6`*oe($BP%P5i4!Ms`t<2Xn)F?+*Is*#t5>fQA0Lm?>E!(R^LV}9 zN8%c8xIc&O-c}}UiwQkDpIb$0+ywl=PU4ISBr0jF`F%b&-8Wc2YX>il*~q3VKL_B4 z*5`5G_LB9xvAprK1B^9Iq``BRqJ&?w=aY>Dp6Wu9q_DAsH8eIhmdTSR<8(R+1Oiwr z7JNP*M~@ywQ51|uBNHY}!0B`n6B9#IQxoOo<+Qf8J`|VBR{X8rZvcFK)M+jEoEl3JTCPjrZSwpZxrM^7Hcna5x-cH3l+N(!loP z5uxXt@k@E*)Os+%wcB5^wXO`qNCn+!iNAdLCzhwL4RHj#Jzx+-PtXto0^js7-ZB-h z>kf^&bLfxnaP3$3%GRY67%QJ$6~RtV#Nx!Y}rCy zULIz%ITW+eXdF=EVOwhCBs4})7dV9w0$DF%N>ousNXUvr?hgw2@bVu*AT^ z&eYH8@ZF-ZqmKMhWxRcEBU+?1s9x9|8VvThA9D!*wt0c6(SJuh+|0UwuV-dOBy%o@M&<>AdyU zTco6Rd9z4k0xpNUh;BYtw)wqj+cFa#>@;Fv^2+blrFs{_Gop#p^{@7fOF-`?Q zvIJRMnMc4a&_&6VX1&Vc+I@^qoyaf8?Li>e-msdBuKvIB!W!Dt)WoP!qlk)%;?}KO z)Ya87b?Q{|^73#v90Y?wBuPTA*8{!f5PHqKpR=*Cu@Be17>GxfWj^}oBc@NEPHSr` z27`g7rY54Jqd9l(93>?seYk8k8=9s8y^H5=vK@7c zpI}TOUP)%JXA^s$`+zm?~=fP zJo5}f2guATq=aeHrqSNsPIYxP4u^x+Uw@snv@}XeN>EjmW5las^p<;w@vxEJ9r=l7(4 z$bp*O{9X4!s4p>M9OaY$+Gkw5zl9~I#`o!)H>wb+eFT4Yzm1}o80*et!>r#TfLD*N zbl9<2EU2pbP+Y325)l!B z!C)Aar=z2TJ9qBz^wUqHC<@SPlE>pA5D0{JVQg$H04*&o#Kpz+(RaCA_iRr@VWfgSMh^7_zv;pCk3gSs zvR)#3qOMP$ueF<=ZZMAg&wO1yc$<39H72`?&LYzvr0neM;d9L~1bF%7mzgqU3O=8Y z`uciy?AY8k?_3N{H@twc=Teof Date: Wed, 19 May 2021 00:25:35 +0700 Subject: [PATCH 2/4] fix: import dep --- coverbadge/coverbadge.go | 2 +- go.mod | 2 +- main.go | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/coverbadge/coverbadge.go b/coverbadge/coverbadge.go index 63f1789..797f8e9 100644 --- a/coverbadge/coverbadge.go +++ b/coverbadge/coverbadge.go @@ -8,7 +8,7 @@ import ( "os" "regexp" - "github.com/ex-preman/gopherbadger/logging" + "github.com/jpoles1/gopherbadger/logging" ) type Badge struct { diff --git a/go.mod b/go.mod index d6ee3c6..31d46f8 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/ex-preman/gopherbadger +module github.com/jpoles1/gopherbadger go 1.15 diff --git a/main.go b/main.go index 93369f4..767b48b 100644 --- a/main.go +++ b/main.go @@ -13,8 +13,8 @@ import ( "strconv" "strings" - "github.com/ex-preman/gopherbadger/coverbadge" - "github.com/ex-preman/gopherbadger/logging" + "github.com/jpoles1/gopherbadger/coverbadge" + "github.com/jpoles1/gopherbadger/logging" "github.com/fatih/color" ) From 1d08faf4f17f07ce173b5001a9fad88359a35152 Mon Sep 17 00:00:00 2001 From: Yusuf Septiananda Date: Wed, 19 May 2021 12:43:24 +0700 Subject: [PATCH 3/4] fix: coverage precision --- .drone.yml | 11 ----------- Makefile | 10 ++++------ coverage_badge.png | Bin 2357 -> 2286 bytes coverbadge/coverbadge.go | 5 +++-- coverbadge/coverbadge_test.go | 7 ++++--- main.go | 6 ++++++ 6 files changed, 17 insertions(+), 22 deletions(-) delete mode 100644 .drone.yml diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 8a10191..0000000 --- a/.drone.yml +++ /dev/null @@ -1,11 +0,0 @@ -workspace: - base: /go - path: src/github.com/jpoles1/gopherbadger -pipeline: - app: - image: golang:1.10.3 - commands: - - go get github.com/golang/dep/cmd/dep - - dep ensure - - make run - environment: \ No newline at end of file diff --git a/Makefile b/Makefile index 6118732..3564ba3 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,14 @@ build: - go build + @go build run: make build && ./gopherbadger -md="README.md" test: - go test -v + @go test -v cover: - go test ./... -coverprofile=coverage.out && go tool cover -html=coverage.out -o=coverage.html + @go test ./... -coverprofile=coverage.out && go tool cover -html=coverage.out -o=coverage.html coverage: make cover configure: make dep dep: - if ! [ -x "$(command -v dep)" ]; then\ - go get github.com/golang/dep/cmd/dep;\ - fi && dep ensure; + @go mod tidy diff --git a/coverage_badge.png b/coverage_badge.png index 79500b5c1751f8403f7a0a5a27ec9d827c94351a..5e3661a1bc604dedc407fae7b47d1c7f2c13e2ad 100644 GIT binary patch literal 2286 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 bX)pT^5Wq?)+J`>R00000NkvXXu0mjf6~dYP diff --git a/coverbadge/coverbadge.go b/coverbadge/coverbadge.go index 797f8e9..b49efbd 100644 --- a/coverbadge/coverbadge.go +++ b/coverbadge/coverbadge.go @@ -7,6 +7,7 @@ import ( "net/http" "os" "regexp" + "strconv" "github.com/jpoles1/gopherbadger/logging" ) @@ -21,8 +22,8 @@ func (badge Badge) generateBadgeBadgeURL(coverageFloat float64) string { if badge.CoveragePrefix != "" { badge.CoveragePrefix += "%20" } - urlTemplate := "https://img.shields.io/badge/%sCoverage-%.2f%%25-brightgreen%s?longCache=true&style=%s" - return fmt.Sprintf(urlTemplate, badge.CoveragePrefix, coverageFloat, badge.ImageExtension, badge.Style) + urlTemplate := "https://img.shields.io/badge/%sCoverage-%s%%25-brightgreen%s?longCache=true&style=%s" + return fmt.Sprintf(urlTemplate, badge.CoveragePrefix, strconv.FormatFloat(coverageFloat, 'f', -1, 64), badge.ImageExtension, badge.Style) } func (badge Badge) DownloadBadge(filepath string, coverageFloat float64) { diff --git a/coverbadge/coverbadge_test.go b/coverbadge/coverbadge_test.go index 6a93ca1..b4fd77d 100644 --- a/coverbadge/coverbadge_test.go +++ b/coverbadge/coverbadge_test.go @@ -3,6 +3,7 @@ package coverbadge import ( "testing" ) + var coverageBadge = Badge{ CoveragePrefix: "Go", Style: "flat", @@ -16,13 +17,13 @@ func TestWriteBadgeToMd(t *testing.T) { coverageBadge.WriteBadgeToMd("coverage_test.md", 22) } func TestGenerateBadgeBadgeURL_1(t *testing.T) { - testUrl(t, 1.1, "https://img.shields.io/badge/Go%20Coverage-1%25-brightgreen.png?longCache=true&style=flat") + testUrl(t, 1.1, "https://img.shields.io/badge/Go%20Coverage-1.1%25-brightgreen.png?longCache=true&style=flat") } func TestGenerateBadgeBadgeURL_10(t *testing.T) { - testUrl(t, 10.1, "https://img.shields.io/badge/Go%20Coverage-10%25-brightgreen.png?longCache=true&style=flat") + testUrl(t, 10.1, "https://img.shields.io/badge/Go%20Coverage-10.1%25-brightgreen.png?longCache=true&style=flat") } func TestGenerateBadgeBadgeURL_100(t *testing.T) { - testUrl(t, 100.1, "https://img.shields.io/badge/Go%20Coverage-100%25-brightgreen.png?longCache=true&style=flat") + testUrl(t, 100.0, "https://img.shields.io/badge/Go%20Coverage-100%25-brightgreen.png?longCache=true&style=flat") } func testUrl(t *testing.T, coverageFloat float64, expected string) { url := coverageBadge.generateBadgeBadgeURL(coverageFloat) diff --git a/main.go b/main.go index 767b48b..6db39a0 100644 --- a/main.go +++ b/main.go @@ -148,6 +148,12 @@ func badger(config gopherBadgerConfig) { } else { coverageFloat = config.manualCoverageFlag } + + // validate coverageFloat value + if coverageFloat < float64(0) || coverageFloat > float64(100) { + logging.Fatal("Invalid percentage value! Must be a value between 0-100", errors.New("Invalid coverage value")) + } + if config.badgeOutputFlag { coverageBadge.DownloadBadge("coverage_badge.png", coverageFloat) } From eb72e869eb25db4d93f4383286a0a12816cdf350 Mon Sep 17 00:00:00 2001 From: Yusuf Septiananda Date: Wed, 19 May 2021 13:46:18 +0700 Subject: [PATCH 4/4] fix: float precission --- coverbadge/coverbadge.go | 3 ++- go.mod | 1 + go.sum | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/coverbadge/coverbadge.go b/coverbadge/coverbadge.go index b49efbd..3987a34 100644 --- a/coverbadge/coverbadge.go +++ b/coverbadge/coverbadge.go @@ -4,6 +4,7 @@ import ( "fmt" "io" "io/ioutil" + "math" "net/http" "os" "regexp" @@ -23,7 +24,7 @@ func (badge Badge) generateBadgeBadgeURL(coverageFloat float64) string { badge.CoveragePrefix += "%20" } urlTemplate := "https://img.shields.io/badge/%sCoverage-%s%%25-brightgreen%s?longCache=true&style=%s" - return fmt.Sprintf(urlTemplate, badge.CoveragePrefix, strconv.FormatFloat(coverageFloat, 'f', -1, 64), badge.ImageExtension, badge.Style) + return fmt.Sprintf(urlTemplate, badge.CoveragePrefix, strconv.FormatFloat(math.Ceil(coverageFloat*10)/10, 'f', -1, 64), badge.ImageExtension, badge.Style) } func (badge Badge) DownloadBadge(filepath string, coverageFloat float64) { diff --git a/go.mod b/go.mod index 31d46f8..0ef964e 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module github.com/jpoles1/gopherbadger go 1.15 require ( + github.com/ex-preman/gopherbadger/v3 v3.0.0 // indirect github.com/fatih/color v1.6.0 github.com/fogleman/gg v1.0.0 github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 diff --git a/go.sum b/go.sum index 160cb15..20bfb70 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,7 @@ +github.com/ex-preman/gopherbadger v1.0.0 h1:w2iPAyJ0I/xEELQJIBDaZdjEVKFWbG3uqXsCUDyRRAs= +github.com/ex-preman/gopherbadger v2.4.0+incompatible h1:udvRB6XU/F15Wf34GPMMoSnBWYFqZGf3J7DW2Cjlkg8= +github.com/ex-preman/gopherbadger/v3 v3.0.0 h1:2d/gce392J+fB4b+YY1yHvwjnxk8wff04REbp/EVDb8= +github.com/ex-preman/gopherbadger/v3 v3.0.0/go.mod h1:FCEGvQZPUmoZGgEmcvq5jSD0RrF5cYUTF/JZ5b+6/UE= github.com/fatih/color v1.6.0 h1:66qjqZk8kalYAvDRtM1AdAJQI0tj4Wrue3Eq3B3pmFU= github.com/fatih/color v1.6.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fogleman/gg v1.0.0 h1:O2ToZn8ijCP2gXhVY701P1b1jrxKoVPh6CkaX2/PACE=