This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push:
new 0009293 ci(go): add pre-commit hooks for Go (#127)
0009293 is described below
commit 000929316755cd264eebb1dc1a6901514380684a
Author: David Li <[email protected]>
AuthorDate: Thu Sep 15 16:12:37 2022 -0400
ci(go): add pre-commit hooks for Go (#127)
* ci(go): add pre-commit hooks for Go
* Collapse statements
---
.github/workflows/dev.yml | 7 +++++++
.pre-commit-config.yaml | 7 +++++++
go/adbc/drivermgr/wrapper_sqlite_test.go | 12 ++++++------
go/adbc/sqldriver/driver.go | 10 ++++++++--
4 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml
index c2da120..4fbed71 100644
--- a/.github/workflows/dev.yml
+++ b/.github/workflows/dev.yml
@@ -34,7 +34,14 @@ jobs:
with:
fetch-depth: 0
persist-credentials: false
+ - uses: actions/setup-go@v3
+ with:
+ go-version-file: 'go/adbc/go.mod'
+ check-latest: true
- uses: actions/setup-python@v2
+ - name: install golangci-lint
+ run: |
+ go install
github.com/golangci/golangci-lint/cmd/[email protected]
- name: pre-commit (cache)
uses: actions/cache@v3
with:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 3b9a137..5983b00 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -48,9 +48,16 @@ repos:
-
"--filter=-whitespace/comments,-readability/casting,-readability/todo,-readability/alt_tokens,-build/header_guard,-build/c++11,-build/include_order,-build/include_subdir"
- "--linelength=90"
- "--verbose=2"
+ - repo: https://github.com/golangci/golangci-lint
+ rev: v1.49.0
+ hooks:
+ - id: golangci-lint
+ entry: bash -c 'cd go/adbc && golangci-lint run --fix'
+ args: [--fix]
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
rev: v2.3.0
hooks:
+ - id: pretty-format-golang
- id: pretty-format-java
args: [--autofix]
types_or: [java]
diff --git a/go/adbc/drivermgr/wrapper_sqlite_test.go
b/go/adbc/drivermgr/wrapper_sqlite_test.go
index 2c89161..edad49f 100644
--- a/go/adbc/drivermgr/wrapper_sqlite_test.go
+++ b/go/adbc/drivermgr/wrapper_sqlite_test.go
@@ -46,9 +46,9 @@ type DriverMgrSuite struct {
func (dm *DriverMgrSuite) SetupSuite() {
dm.ctx = context.TODO()
dm.drv = &drivermgr.Driver{}
- dm.drv.SetOptions(map[string]string{
+ dm.NoError(dm.drv.SetOptions(map[string]string{
"driver": "adbc_driver_sqlite",
- })
+ }))
}
func (dm *DriverMgrSuite) SetupTest() {
@@ -197,20 +197,20 @@ func TestDriverMgr(t *testing.T) {
func TestDriverMgrCustomInitFunc(t *testing.T) {
// explicitly set entrypoint
var drv drivermgr.Driver
- drv.SetOptions(map[string]string{
+ assert.NoError(t, drv.SetOptions(map[string]string{
"driver": "adbc_driver_sqlite",
"entrypoint": "AdbcDriverInit",
- })
+ }))
cnxn, err := drv.Open(context.Background())
assert.NoError(t, err)
require.NoError(t, cnxn.Close())
// set invalid entrypoint
drv = drivermgr.Driver{}
- drv.SetOptions(map[string]string{
+ assert.NoError(t, drv.SetOptions(map[string]string{
"driver": "adbc_driver_sqlite",
"entrypoint": "ThisSymbolDoesNotExist",
- })
+ }))
cnxn, err = drv.Open(context.Background())
assert.Nil(t, cnxn)
var exp *adbc.Error
diff --git a/go/adbc/sqldriver/driver.go b/go/adbc/sqldriver/driver.go
index 4b64fa2..1a17912 100644
--- a/go/adbc/sqldriver/driver.go
+++ b/go/adbc/sqldriver/driver.go
@@ -133,7 +133,10 @@ func (d Driver) Open(name string) (driver.Conn, error) {
if err != nil {
return nil, err
}
- d.Driver.SetOptions(opts)
+ err = d.Driver.SetOptions(opts)
+ if err != nil {
+ return nil, err
+ }
cnxn, err := d.Driver.Open(context.Background())
if err != nil {
@@ -149,7 +152,10 @@ func (d Driver) OpenConnector(name string)
(driver.Connector, error) {
if err != nil {
return nil, err
}
- d.Driver.SetOptions(opts)
+ err = d.Driver.SetOptions(opts)
+ if err != nil {
+ return nil, err
+ }
return &connector{d.Driver}, nil
}