From 3c5602e21fa2016910dbcc420bff8a8676bee318 Mon Sep 17 00:00:00 2001 From: bornjre Date: Tue, 11 Nov 2025 08:33:57 +0545 Subject: [PATCH 1/2] fix tests --- internal/testsuite/generic.go | 25 +++++++++++++++++++++++++ internal/testsuite/helper.go | 14 ++++++++++++++ internal/testsuite/record.go | 25 +++++++++++++++++++++++++ internal/testsuite/sql.go | 25 +++++++++++++++++++++++++ internal/testsuite/suite.go | 24 ++++++++++++++++++++++++ tests/entrypoint_test.go | 12 +++++++++--- tests/generic_suite_test.go | 14 ++++++-------- tests/record_suite_test.go | 16 +++++++--------- tests/sql_suite_test.go | 14 ++++++-------- 9 files changed, 141 insertions(+), 28 deletions(-) create mode 100644 internal/testsuite/generic.go create mode 100644 internal/testsuite/helper.go create mode 100644 internal/testsuite/record.go create mode 100644 internal/testsuite/sql.go create mode 100644 internal/testsuite/suite.go diff --git a/internal/testsuite/generic.go b/internal/testsuite/generic.go new file mode 100644 index 00000000..e8be94df --- /dev/null +++ b/internal/testsuite/generic.go @@ -0,0 +1,25 @@ +package testsuite + +import ( + "github.com/stretchr/testify/suite" +) + +// GenericTestSuite is the base test suite for generic database tests. +type GenericTestSuite struct { + suite.Suite + + Helper +} + +// AfterTest is called after each test. +func (s *GenericTestSuite) AfterTest(suiteName, testName string) { + err := s.TearDown() + s.Require().NoError(err) +} + +// BeforeTest is called before each test. +func (s *GenericTestSuite) BeforeTest(suiteName, testName string) { + err := s.SetUp() + s.Require().NoError(err) +} + diff --git a/internal/testsuite/helper.go b/internal/testsuite/helper.go new file mode 100644 index 00000000..4401f8b3 --- /dev/null +++ b/internal/testsuite/helper.go @@ -0,0 +1,14 @@ +package testsuite + +import ( + db "github.com/upper/db/v4" +) + +// Helper is the interface that test helpers must implement. +type Helper interface { + Session() db.Session + Adapter() string + SetUp() error + TearDown() error +} + diff --git a/internal/testsuite/record.go b/internal/testsuite/record.go new file mode 100644 index 00000000..0fc8f84d --- /dev/null +++ b/internal/testsuite/record.go @@ -0,0 +1,25 @@ +package testsuite + +import ( + "github.com/stretchr/testify/suite" +) + +// RecordTestSuite is the base test suite for record tests. +type RecordTestSuite struct { + suite.Suite + + Helper +} + +// AfterTest is called after each test. +func (s *RecordTestSuite) AfterTest(suiteName, testName string) { + err := s.TearDown() + s.Require().NoError(err) +} + +// BeforeTest is called before each test. +func (s *RecordTestSuite) BeforeTest(suiteName, testName string) { + err := s.SetUp() + s.Require().NoError(err) +} + diff --git a/internal/testsuite/sql.go b/internal/testsuite/sql.go new file mode 100644 index 00000000..a100a9de --- /dev/null +++ b/internal/testsuite/sql.go @@ -0,0 +1,25 @@ +package testsuite + +import ( + "github.com/stretchr/testify/suite" +) + +// SQLTestSuite is the base test suite for SQL tests. +type SQLTestSuite struct { + suite.Suite + + Helper +} + +// AfterTest is called after each test. +func (s *SQLTestSuite) AfterTest(suiteName, testName string) { + err := s.TearDown() + s.Require().NoError(err) +} + +// BeforeTest is called before each test. +func (s *SQLTestSuite) BeforeTest(suiteName, testName string) { + err := s.SetUp() + s.Require().NoError(err) +} + diff --git a/internal/testsuite/suite.go b/internal/testsuite/suite.go new file mode 100644 index 00000000..b3c275ea --- /dev/null +++ b/internal/testsuite/suite.go @@ -0,0 +1,24 @@ +package testsuite + +import ( + "github.com/stretchr/testify/suite" +) + +// Suite is a basic test suite with a Helper. +type Suite struct { + suite.Suite + + Helper +} + +// AfterTest is called after each test. +func (s *Suite) AfterTest(suiteName, testName string) { + err := s.TearDown() + s.Require().NoError(err) +} + +// BeforeTest is called before each test. +func (s *Suite) BeforeTest(suiteName, testName string) { + err := s.SetUp() + s.Require().NoError(err) +} diff --git a/tests/entrypoint_test.go b/tests/entrypoint_test.go index 1f549707..a4886b3a 100644 --- a/tests/entrypoint_test.go +++ b/tests/entrypoint_test.go @@ -113,7 +113,9 @@ func Test(t *testing.T) { t.Skip("Generic tests are disabled for this adapter") } - suite.Run(t, &GenericTestSuite{Helper: helper}) + gs := &GenericTestSuite{} + gs.Helper = helper + suite.Run(t, gs) }) t.Run("Record", func(t *testing.T) { @@ -121,7 +123,9 @@ func Test(t *testing.T) { t.Skip("Record tests are disabled for this adapter") } - suite.Run(t, &RecordTestSuite{Helper: helper}) + rs := &RecordTestSuite{} + rs.Helper = helper + suite.Run(t, rs) }) t.Run("SQL", func(t *testing.T) { @@ -129,7 +133,9 @@ func Test(t *testing.T) { t.Skip("SQL tests are disabled for this adapter") } - suite.Run(t, &SQLTestSuite{Helper: helper}) + ss := &SQLTestSuite{} + ss.Helper = helper + suite.Run(t, ss) }) }) } diff --git a/tests/generic_suite_test.go b/tests/generic_suite_test.go index 4eb9e05b..c94a3644 100644 --- a/tests/generic_suite_test.go +++ b/tests/generic_suite_test.go @@ -4,8 +4,8 @@ import ( "database/sql/driver" "time" - "github.com/stretchr/testify/suite" db "github.com/upper/db/v4" + "github.com/upper/db/v4/internal/testsuite" ) type birthday struct { @@ -91,19 +91,17 @@ func fib(i uint64) uint64 { } type GenericTestSuite struct { - suite.Suite - - Helper + testsuite.GenericTestSuite } +// AfterTest is called after each test. func (s *GenericTestSuite) AfterTest(suiteName, testName string) { - err := s.TearDown() - s.Require().NoError(err) + s.GenericTestSuite.AfterTest(suiteName, testName) } +// BeforeTest is called before each test. func (s *GenericTestSuite) BeforeTest(suiteName, testName string) { - err := s.SetUp() - s.Require().NoError(err) + s.GenericTestSuite.BeforeTest(suiteName, testName) } func (s *GenericTestSuite) TestDatesAndUnicode() { diff --git a/tests/record_suite_test.go b/tests/record_suite_test.go index bb78a20b..f7b7668b 100644 --- a/tests/record_suite_test.go +++ b/tests/record_suite_test.go @@ -6,9 +6,9 @@ import ( "fmt" "time" - "github.com/stretchr/testify/suite" "github.com/upper/db/v4" "github.com/upper/db/v4/internal/sqlbuilder" + "github.com/upper/db/v4/internal/testsuite" ) type AccountsStore struct { @@ -78,21 +78,19 @@ func (*User) Store(sess db.Session) db.Store { } type RecordTestSuite struct { - suite.Suite - - Helper + testsuite.RecordTestSuite } +// AfterTest is called after each test. func (s *RecordTestSuite) AfterTest(suiteName, testName string) { - err := s.TearDown() - s.Require().NoError(err) + s.RecordTestSuite.AfterTest(suiteName, testName) } +// BeforeTest is called before each test. func (s *RecordTestSuite) BeforeTest(suiteName, testName string) { - err := s.SetUp() - s.Require().NoError(err) + s.RecordTestSuite.BeforeTest(suiteName, testName) - sess := s.Helper.Session() + sess := s.Session() cols, err := sess.Collections() s.Require().NoError(err) diff --git a/tests/sql_suite_test.go b/tests/sql_suite_test.go index ce5b9d5f..17121045 100644 --- a/tests/sql_suite_test.go +++ b/tests/sql_suite_test.go @@ -13,8 +13,8 @@ import ( detectrace "github.com/ipfs/go-detect-race" "github.com/sirupsen/logrus" - "github.com/stretchr/testify/suite" db "github.com/upper/db/v4" + "github.com/upper/db/v4/internal/testsuite" ) type artistType struct { @@ -55,19 +55,17 @@ func (f *customType) UnmarshalDB(in interface{}) error { } type SQLTestSuite struct { - suite.Suite - - Helper + testsuite.SQLTestSuite } +// AfterTest is called after each test. func (s *SQLTestSuite) AfterTest(suiteName, testName string) { - err := s.TearDown() - s.Require().NoError(err) + s.SQLTestSuite.AfterTest(suiteName, testName) } +// BeforeTest is called before each test. func (s *SQLTestSuite) BeforeTest(suiteName, testName string) { - err := s.SetUp() - s.Require().NoError(err) + s.SQLTestSuite.BeforeTest(suiteName, testName) sess := s.Session() From ce036f1648850fda179373974cd787cc1d849231 Mon Sep 17 00:00:00 2001 From: bornjre Date: Tue, 11 Nov 2025 08:34:18 +0545 Subject: [PATCH 2/2] change sqlite driver --- adapter/sqlite/database.go | 5 ++++- go.mod | 18 ++++++++++-------- go.sum | 39 ++++++++++++++++---------------------- 3 files changed, 30 insertions(+), 32 deletions(-) diff --git a/adapter/sqlite/database.go b/adapter/sqlite/database.go index 3d03d77a..c4a6478f 100644 --- a/adapter/sqlite/database.go +++ b/adapter/sqlite/database.go @@ -29,7 +29,10 @@ import ( "database/sql" "fmt" - _ "github.com/mattn/go-sqlite3" // SQLite3 driver. + _ "github.com/ncruces/go-sqlite3/driver" + _ "github.com/ncruces/go-sqlite3/embed" + + // _ "github.com/mattn/go-sqlite3" // SQLite3 driver. db "github.com/upper/db/v4" "github.com/upper/db/v4/internal/sqladapter" "github.com/upper/db/v4/internal/sqladapter/compat" diff --git a/go.mod b/go.mod index 163ee7e3..91b0b505 100644 --- a/go.mod +++ b/go.mod @@ -1,18 +1,18 @@ module github.com/upper/db/v4 -go 1.23.0 +go 1.24.0 -toolchain go1.23.2 +toolchain go1.24.10 require ( github.com/denisenkom/go-mssqldb v0.12.3 github.com/go-sql-driver/mysql v1.9.0 - github.com/google/uuid v1.1.1 + github.com/google/uuid v1.6.0 github.com/ipfs/go-detect-race v0.0.1 github.com/jackc/pgtype v1.14.4 github.com/jackc/pgx/v5 v5.7.2 github.com/lib/pq v1.10.9 - github.com/mattn/go-sqlite3 v1.14.24 + github.com/ncruces/go-sqlite3 v0.30.1 github.com/segmentio/fasthash v1.0.3 github.com/sirupsen/logrus v1.9.3 github.com/stretchr/testify v1.10.0 @@ -35,17 +35,19 @@ require ( github.com/klauspost/compress v1.18.0 // indirect github.com/kr/text v0.2.0 // indirect github.com/montanaflynn/stats v0.7.1 // indirect + github.com/ncruces/julianday v1.0.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/rogpeppe/go-internal v1.6.1 // indirect + github.com/tetratelabs/wazero v1.10.0 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect - golang.org/x/crypto v0.36.0 // indirect - golang.org/x/sync v0.12.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/text v0.23.0 // indirect + golang.org/x/crypto v0.43.0 // indirect + golang.org/x/sync v0.17.0 // indirect + golang.org/x/sys v0.38.0 // indirect + golang.org/x/text v0.30.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect modernc.org/b v1.1.0 // indirect modernc.org/db v1.0.13 // indirect diff --git a/go.sum b/go.sum index dae855d2..e2a3f341 100644 --- a/go.sum +++ b/go.sum @@ -31,15 +31,13 @@ github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2V github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= @@ -95,7 +93,6 @@ github.com/jackc/pgx/v5 v5.7.2/go.mod h1:ncY89UGWxg82EykZUwSpUKEfccBGGYq1xjrOpsb github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.3.0 h1:eHK/5clGOatcjX3oWGBO/MpxpbHzSwud5EWTSCI+MX0= github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= @@ -123,11 +120,13 @@ github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM= -github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE= github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/ncruces/go-sqlite3 v0.30.1 h1:pHC3YsyRdJv4pCMB4MO1Q2BXw/CAa+Hoj7GSaKtVk+g= +github.com/ncruces/go-sqlite3 v0.30.1/go.mod h1:UVsWrQaq1qkcal5/vT5lOJnZCVlR5rsThKdwidjFsKc= +github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M= +github.com/ncruces/julianday v1.0.0/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= @@ -165,6 +164,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/tetratelabs/wazero v1.10.0 h1:CXP3zneLDl6J4Zy8N/J+d5JsWKfrjE6GtvVK1fpnDlk= +github.com/tetratelabs/wazero v1.10.0/go.mod h1:DRm5twOQ5Gr1AoEdSi0CLjDQF1J9ZAuyqFIjl1KKfQU= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= @@ -202,10 +203,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ= -golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= -golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04= +golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= @@ -225,10 +224,8 @@ golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= -golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= -golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -249,10 +246,8 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -269,10 +264,8 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= +golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=