Skip to content

Commit aff4491

Browse files
author
Gaurav Patil
committed
added code
1 parent dc06c1e commit aff4491

14 files changed

Lines changed: 1778 additions & 537 deletions

.github/workflows/security-scan.yml

Lines changed: 317 additions & 115 deletions
Large diffs are not rendered by default.

diagnose.sh

Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
#!/bin/bash
2+
3+
# ==========================================
4+
# Go Module & Security Scanner Diagnostic
5+
# ==========================================
6+
7+
set -u
8+
9+
echo "🔍 Diagnosing Go Module Setup..."
10+
echo ""
11+
12+
# Color codes
13+
GREEN='\033[0;32m'
14+
RED='\033[0;31m'
15+
YELLOW='\033[1;33m'
16+
BLUE='\033[0;34m'
17+
NC='\033[0m'
18+
19+
check_item() {
20+
local name=$1
21+
local condition=$2
22+
23+
if eval "$condition"; then
24+
echo -e "${GREEN}${NC} $name"
25+
return 0
26+
else
27+
echo -e "${RED}${NC} $name"
28+
return 1
29+
fi
30+
}
31+
32+
# ==========================================
33+
# Check Go Installation
34+
# ==========================================
35+
echo -e "${BLUE}1. Go Installation${NC}"
36+
check_item "Go installed" "command -v go &>/dev/null"
37+
if command -v go &>/dev/null; then
38+
go version
39+
fi
40+
echo ""
41+
42+
# ==========================================
43+
# Check Current Directory
44+
# ==========================================
45+
echo -e "${BLUE}2. Current Directory${NC}"
46+
echo "Working directory: $(pwd)"
47+
check_item "go.mod exists in current dir" "[ -f './go.mod' ]"
48+
check_item "go.sum exists in current dir" "[ -f './go.sum' ]"
49+
echo ""
50+
51+
# ==========================================
52+
# Check Module Name
53+
# ==========================================
54+
echo -e "${BLUE}3. Module Configuration${NC}"
55+
if [ -f "go.mod" ]; then
56+
MODULE_NAME=$(head -n 1 go.mod | awk '{print $2}')
57+
echo "Module name: $MODULE_NAME"
58+
echo "Go version in go.mod:"
59+
grep "^go " go.mod
60+
echo ""
61+
echo "Dependencies in go.mod:"
62+
grep "^require " go.mod -A 20 | head -10
63+
else
64+
echo -e "${RED}${NC} go.mod not found"
65+
fi
66+
echo ""
67+
68+
# ==========================================
69+
# Check govulncheck
70+
# ==========================================
71+
echo -e "${BLUE}4. Vulnerability Scanner (govulncheck)${NC}"
72+
check_item "govulncheck installed" "command -v govulncheck &>/dev/null"
73+
74+
if command -v govulncheck &>/dev/null; then
75+
echo "Version: $(govulncheck -version 2>&1 || echo 'unknown')"
76+
echo ""
77+
echo "Testing govulncheck..."
78+
if GO111MODULE=on govulncheck -json ./... 2>&1 | head -20; then
79+
echo -e "${GREEN}✅ govulncheck works!${NC}"
80+
else
81+
echo -e "${RED}❌ govulncheck failed${NC}"
82+
echo "Troubleshooting:"
83+
echo " 1. Run: go mod tidy"
84+
echo " 2. Run: go mod verify"
85+
echo " 3. Run: govulncheck ./..."
86+
fi
87+
else
88+
echo -e "${YELLOW}⚠️ govulncheck not installed${NC}"
89+
echo "Installing: go install golang.org/x/vuln/cmd/govulncheck@latest"
90+
go install golang.org/x/vuln/cmd/govulncheck@latest
91+
fi
92+
echo ""
93+
94+
# ==========================================
95+
# Check gosec
96+
# ==========================================
97+
echo -e "${BLUE}5. Security Scanner (gosec)${NC}"
98+
check_item "gosec installed" "command -v gosec &>/dev/null"
99+
100+
if command -v gosec &>/dev/null; then
101+
echo "Version: $(gosec --version 2>&1 | head -1)"
102+
echo ""
103+
echo "Testing gosec..."
104+
if gosec -fmt=json ./... 2>&1 | head -10; then
105+
echo -e "${GREEN}✅ gosec works!${NC}"
106+
else
107+
echo -e "${RED}❌ gosec failed${NC}"
108+
fi
109+
else
110+
echo -e "${YELLOW}⚠️ gosec not installed${NC}"
111+
echo "Installing: go install github.com/securego/gosec/v2/cmd/gosec@latest"
112+
go install github.com/securego/gosec/v2/cmd/gosec@latest
113+
fi
114+
echo ""
115+
116+
# ==========================================
117+
# Check golangci-lint
118+
# ==========================================
119+
echo -e "${BLUE}6. Code Quality (golangci-lint)${NC}"
120+
check_item "golangci-lint installed" "command -v golangci-lint &>/dev/null"
121+
122+
if command -v golangci-lint &>/dev/null; then
123+
echo "Version: $(golangci-lint --version 2>&1 | head -1)"
124+
else
125+
echo -e "${YELLOW}⚠️ golangci-lint not installed${NC}"
126+
echo "Installing: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest"
127+
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
128+
fi
129+
echo ""
130+
131+
# ==========================================
132+
# Check Go paths
133+
# ==========================================
134+
echo -e "${BLUE}7. Go Paths${NC}"
135+
echo "GOPATH: $(go env GOPATH)"
136+
echo "GOROOT: $(go env GOROOT)"
137+
echo "GO111MODULE: ${GO111MODULE:-not set (auto)}"
138+
echo ""
139+
140+
# ==========================================
141+
# Summary & Fixes
142+
# ==========================================
143+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
144+
echo -e "${BLUE}Suggested Fixes (if needed):${NC}"
145+
echo ""
146+
147+
if [ ! -f "go.mod" ]; then
148+
echo "1️⃣ Initialize Go module:"
149+
echo " ${YELLOW}go mod init github.com/yourusername/yourproject${NC}"
150+
echo ""
151+
fi
152+
153+
echo "2️⃣ Clean and verify dependencies:"
154+
echo " ${YELLOW}go mod tidy${NC}"
155+
echo " ${YELLOW}go mod verify${NC}"
156+
echo ""
157+
158+
echo "3️⃣ Download dependencies:"
159+
echo " ${YELLOW}go mod download${NC}"
160+
echo ""
161+
162+
echo "4️⃣ Force reinstall security tools:"
163+
echo " ${YELLOW}go install golang.org/x/vuln/cmd/govulncheck@latest${NC}"
164+
echo " ${YELLOW}go install github.com/securego/gosec/v2/cmd/gosec@latest${NC}"
165+
echo ""
166+
167+
echo "5️⃣ Then run the security scanner:"
168+
echo " ${YELLOW}bash sca.sh${NC}"
169+
echo ""
170+
171+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
172+
echo ""
173+
174+
# ==========================================
175+
# Quick Test
176+
# ==========================================
177+
echo -e "${BLUE}Quick Test${NC}"
178+
echo "Running: GO111MODULE=on govulncheck -json ./..."
179+
echo ""
180+
181+
if [ -f "go.mod" ]; then
182+
if GO111MODULE=on govulncheck -json ./... 2>&1 | jq . > /dev/null 2>&1; then
183+
echo -e "${GREEN}✅ Everything works!${NC}"
184+
echo ""
185+
echo "You can now run: ${YELLOW}bash sca.sh${NC}"
186+
else
187+
echo -e "${RED}❌ govulncheck still has issues${NC}"
188+
echo ""
189+
echo "Try these steps:"
190+
echo "1. cd $(pwd)"
191+
echo "2. go mod tidy"
192+
echo "3. go mod download"
193+
echo "4. go mod verify"
194+
echo "5. bash scan.sh"
195+
fi
196+
else
197+
echo -e "${RED}❌ go.mod not found${NC}"
198+
echo "Cannot proceed without go.mod in: $(pwd)"
199+
fi

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ go 1.25.4
44

55
require (
66
github.com/docker/docker v24.0.7+incompatible
7+
github.com/gdamore/tcell/v2 v2.8.1
78
github.com/rivo/tview v0.42.0
89
)
910

@@ -13,8 +14,7 @@ require (
1314
github.com/docker/go-connections v0.6.0 // indirect
1415
github.com/docker/go-units v0.5.0 // indirect
1516
github.com/gdamore/encoding v1.0.1 // indirect
16-
github.com/gdamore/tcell/v2 v2.8.1 // indirect
17-
github.com/gogo/protobuf v1.3.2 // indirect
17+
github.com/gogo/protobuf v1.3.1 // indirect
1818
github.com/google/go-cmp v0.7.0 // indirect
1919
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
2020
github.com/mattn/go-runewidth v0.0.16 // indirect
@@ -26,7 +26,7 @@ require (
2626
github.com/rivo/uniseg v0.4.7 // indirect
2727
golang.org/x/sys v0.35.0 // indirect
2828
golang.org/x/term v0.28.0 // indirect
29-
golang.org/x/text v0.28.0 // indirect
29+
golang.org/x/text v0.21.0 // indirect
3030
golang.org/x/time v0.14.0 // indirect
3131
gotest.tools/v3 v3.5.2 // indirect
3232
)

go.sum

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ github.com/gdamore/encoding v1.0.1 h1:YzKZckdBL6jVt2Gc+5p82qhrGiqMdG/eNs6Wy0u3Uh
1515
github.com/gdamore/encoding v1.0.1/go.mod h1:0Z0cMFinngz9kS1QfMjCP8TY7em3bZYeeklsSDPivEo=
1616
github.com/gdamore/tcell/v2 v2.8.1 h1:KPNxyqclpWpWQlPLx6Xui1pMk8S+7+R37h3g07997NU=
1717
github.com/gdamore/tcell/v2 v2.8.1/go.mod h1:bj8ori1BG3OYMjmb3IklZVWfZUJ1UBQt9JXrOCOhGWw=
18-
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
19-
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
18+
github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
19+
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
2020
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
2121
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
2222
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
23-
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
23+
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
2424
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
2525
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
2626
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
@@ -45,27 +45,18 @@ github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
4545
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
4646
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
4747
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
48-
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
49-
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
5048
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
5149
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
52-
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
53-
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
5450
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
5551
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
5652
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
5753
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
58-
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
59-
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
6054
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
6155
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
6256
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
6357
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
6458
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
65-
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
6659
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
67-
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
68-
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
6960
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
7061
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
7162
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
@@ -74,18 +65,14 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
7465
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
7566
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
7667
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
77-
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
78-
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
7968
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
8069
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
8170
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
8271
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
8372
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
8473
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
8574
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
86-
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
8775
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
88-
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
8976
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
9077
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
9178
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -117,22 +104,17 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
117104
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
118105
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
119106
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
107+
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
120108
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
121-
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
122-
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
123109
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
124110
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
125111
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
112+
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
126113
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
127-
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
128-
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
129114
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
130115
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
131116
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
132117
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
133118
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
134-
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
135-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
136-
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
137119
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
138120
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=

0 commit comments

Comments
 (0)