Skip to content

Commit

Permalink
Configure golangci-lint (#285)
Browse files Browse the repository at this point in the history
* Add support for LogFmt

* Fixes

* Fixes

* Improve the code

* Configure golangci-lint in Github workflows and fix issues

* Configure golangci-lint in Github workflows and fix issues

* Fix
  • Loading branch information
0michalsokolowski0 committed Jul 22, 2022
1 parent 01fdff7 commit 3362433
Show file tree
Hide file tree
Showing 19 changed files with 184 additions and 221 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/pull_requests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ jobs:
SNOWFLAKE_USER: ${{ secrets.SNOWFLAKE_USER }}
SNOWFLAKE_PASSWORD: ${{ secrets.SNOWFLAKE_PASSWORD }}
SNOWFLAKE_ACCOUNT: ${{ secrets.SNOWFLAKE_ACCOUNT }}
- name: Run golangci-lint
uses: golangci/golangci-lint-action@v3
with:
working-directory: runner
- run: cd runner && go test -race -coverprofile ../coverage/gounit.cov
- run: ./runner/scripts/test_coverage.sh

Expand Down
6 changes: 3 additions & 3 deletions runner/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ func (ec EvalContext) getConnectionString(dbInfo DatabaseConnectorInfoDatabase)
}

if addr.Scheme == "" {
addr.Scheme = Neo4jDatabase
addr.Scheme = string(Neo4jDatabase)
}

if addr.Port() == "" {
Expand Down Expand Up @@ -533,7 +533,7 @@ func (ec EvalContext) EvalDatabasePanel(
}

var db *sqlx.DB
if vendor == ODBCDatabase {
if vendor == string(ODBCDatabase) {
db, err = openODBCDriver(connStr)
} else {
db, err = sqlx.Open(vendor, connStr)
Expand Down Expand Up @@ -577,7 +577,7 @@ func (ec EvalContext) EvalDatabasePanel(
if err != nil {
// odbc driver returns an error for an empty result
// see https://github.com/alexbrainman/odbc/blob/9c9a2e61c5e2c1a257a51ea49169fc9008c51f0e/odbcstmt.go#L134
if vendor == ODBCDatabase && err.Error() == "Stmt did not create a result set" {
if vendor == string(ODBCDatabase) && err.Error() == "Stmt did not create a result set" {
return nil, nil
}

Expand Down
24 changes: 0 additions & 24 deletions runner/database_odbc.go

This file was deleted.

9 changes: 5 additions & 4 deletions runner/eval.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@ func _logln(level, msg string, args ...any) {
logPrefixSet = true
}
baseMsg := "[" + level + "] " + time.Now().Format(iso8601Format) + " " + msg
if msg[len(msg)-1] != '\n' {
msg += "\n"
}
log.Printf(baseMsg, args...)
}

Expand Down Expand Up @@ -85,7 +82,11 @@ func (ec EvalContext) evalMacros(content string, project *ProjectState, pageInde

return pongo2.AsSafeValue(string(bs)), nil
}
pongo2.RegisterFilter("json", pongoJsonify)

err := pongo2.RegisterFilter("json", pongoJsonify)
if err != nil {
return "", err
}

tpl, err := pongo2.FromString(content)
if err != nil {
Expand Down
82 changes: 52 additions & 30 deletions runner/file.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ func transformCSV(in *bufio.Reader, out *ResultWriter, delimiter rune, convertNu
for {
record, err := r.Read()
if err == io.EOF {
err = nil
break
}

Expand Down Expand Up @@ -90,7 +89,9 @@ func transformCSVFile(in string, out *ResultWriter, delimiter rune, convertNumbe
if err != nil {
return err
}
defer closeFile()
defer func() {
_ = closeFile()
}()

return transformCSV(r, out, delimiter, convertNumbers)
}
Expand All @@ -112,7 +113,9 @@ func transformJSONFile(in string, out *ResultWriter) error {
if err != nil {
return err
}
defer closeFile()
defer func() {
_ = closeFile()
}()

return transformJSON(r, out)
}
Expand Down Expand Up @@ -234,7 +237,11 @@ func transformXLSX(in *excelize.File, out *ResultWriter) error {
return err
}

out.SetNamespace(sheet)
err = out.SetNamespace(sheet)
if err != nil {
return err
}

err = writeSheet(rows, out)
if err != nil {
return err
Expand Down Expand Up @@ -265,7 +272,11 @@ func transformOpenOfficeSheet(in *openoffice.ODSFile, out *ResultWriter) error {
}

for _, sheet := range doc.Sheets {
out.SetNamespace(sheet.Name)
err = out.SetNamespace(sheet.Name)
if err != nil {
return err
}

err = writeSheet(sheet.Strings(), out)
if err != nil {
return err
Expand Down Expand Up @@ -336,7 +347,9 @@ func transformGenericFile(in string, out *ResultWriter) error {
if err != nil {
return err
}
defer closeFile()
defer func() {
_ = closeFile()
}()

return transformGeneric(r, out)
}
Expand Down Expand Up @@ -368,7 +381,9 @@ func transformJSONLinesFile(in string, out *ResultWriter) error {
if err != nil {
return err
}
defer closeFile()
defer func() {
_ = closeFile()
}()

return transformJSONLines(r, out)
}
Expand Down Expand Up @@ -418,7 +433,9 @@ func transformRegexpFile(in string, out *ResultWriter, re *regexp.Regexp) error
if err != nil {
return err
}
defer closeFile()
defer func() {
_ = closeFile()
}()

return transformRegexp(r, out, re)
}
Expand Down Expand Up @@ -448,7 +465,9 @@ func transformAvroFile(in string, out *ResultWriter) error {
if err != nil {
return err
}
defer closeFile()
defer func() {
_ = closeFile()
}()

return transformAvro(r, out)
}
Expand Down Expand Up @@ -503,8 +522,9 @@ func transformYAMLFile(in string, out *ResultWriter) error {
if err != nil {
return err
}

defer closeFile()
defer func() {
_ = closeFile()
}()

return transformYAML(r, out)
}
Expand All @@ -519,7 +539,7 @@ func transformLogFmt(in *bufio.Reader, out *ResultWriter) error {
for dec.ScanRecord() {
for dec.ScanKeyval() {
if dec.Key() != nil {
h.Write(dec.Key())
_, _ = h.Write(dec.Key())

if key, ok := keys[h.Sum64()]; ok {
o[key] = string(dec.Value())
Expand Down Expand Up @@ -553,7 +573,9 @@ func transformLogFmtFile(in string, out *ResultWriter) error {
return err
}

defer closeFile()
defer func() {
_ = closeFile()
}()

return transformLogFmt(r, out)
}
Expand All @@ -562,23 +584,23 @@ type MimeType string

const (
TSVMimeType MimeType = "text/tab-separated-values"
PlainTextMimeType = "text/plain"
CSVMimeType = "text/csv"
JSONMimeType = "application/json"
JSONLinesMimeType = "application/jsonlines"
RegexpLinesMimeType = "text/regexplines"
ExcelMimeType = "application/vnd.ms-excel"
ExcelOpenXMLMimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
OpenOfficeSheetMimeType = "application/vnd.oasis.opendocument.spreadsheet"
ParquetMimeType = "parquet"
ORCMimeType = "orc"
AvroMimeType = "application/avro"
YAMLMimeType = "application/yaml"
ApacheErrorMimeType = "text/apache2error"
ApacheAccessMimeType = "text/apache2access"
NginxAccessMimeType = "text/nginxaccess"
LogFmtMimeType = "text/logfmt"
UnknownMimeType = ""
PlainTextMimeType MimeType = "text/plain"
CSVMimeType MimeType = "text/csv"
JSONMimeType MimeType = "application/json"
JSONLinesMimeType MimeType = "application/jsonlines"
RegexpLinesMimeType MimeType = "text/regexplines"
ExcelMimeType MimeType = "application/vnd.ms-excel"
ExcelOpenXMLMimeType MimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
OpenOfficeSheetMimeType MimeType = "application/vnd.oasis.opendocument.spreadsheet"
ParquetMimeType MimeType = "parquet"
ORCMimeType MimeType = "orc"
AvroMimeType MimeType = "application/avro"
YAMLMimeType MimeType = "application/yaml"
ApacheErrorMimeType MimeType = "text/apache2error"
ApacheAccessMimeType MimeType = "text/apache2access"
NginxAccessMimeType MimeType = "text/nginxaccess"
LogFmtMimeType MimeType = "text/logfmt"
UnknownMimeType MimeType = ""
)

func GetMimeType(fileName string, ct ContentTypeInfo) MimeType {
Expand Down
29 changes: 20 additions & 9 deletions runner/file_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,8 @@ func Test_transformJSONLines(t *testing.T) {
defer inTmp.Close()
defer os.Remove(inTmp.Name())

inTmp.WriteString(test.input)
_, err = inTmp.WriteString(test.input)
assert.Nil(t, err)

out, err := transformTestFile(inTmp.Name(), transformJSONLinesFile)
assert.Nil(t, err)
Expand Down Expand Up @@ -178,6 +179,7 @@ func Test_transformORCFile(t *testing.T) {
assert.Nil(t, err)

out, err := transformTestFile(inTmp.Name(), transformORCFile)
assert.Nil(t, err)

b, err := jsonMarshal(out)
assert.Nil(t, err)
Expand All @@ -187,7 +189,6 @@ func Test_transformORCFile(t *testing.T) {
assert.Nil(t, err)

assert.Equal(t, expJson, m)

}

func Test_transformAvroFile(t *testing.T) {
Expand Down Expand Up @@ -243,16 +244,18 @@ cdef`,

for _, test := range tests {
inTmp, err := ioutil.TempFile("", "")

assert.Nil(t, err)

inTmp.WriteString(test)
_, err = inTmp.WriteString(test)
assert.Nil(t, err)

out, err := transformTestFile(inTmp.Name(), transformGenericFile)
assert.Nil(t, err)

assert.Equal(t, test, out)

os.Remove(inTmp.Name())
err = os.Remove(inTmp.Name())
assert.Nil(t, err)
}
}

Expand Down Expand Up @@ -338,7 +341,9 @@ func Test_resolvePath(t *testing.T) {

func Test_transformCSV(t *testing.T) {
csvTmp, err := os.CreateTemp("", "")
defer csvTmp.Close()
defer func() {
_ = csvTmp.Close()
}()
defer os.Remove(csvTmp.Name())
assert.Nil(t, err)

Expand Down Expand Up @@ -482,7 +487,9 @@ c: d
defer inTmp.Close()
defer os.Remove(inTmp.Name())

inTmp.Write([]byte(test.in))
_, err = inTmp.Write([]byte(test.in))
assert.Nil(t, err)

out, err := transformTestFile(inTmp.Name(), transformYAMLFile)
assert.Nil(t, err)

Expand Down Expand Up @@ -541,9 +548,13 @@ time="2015-03-26T01:27:38-04:00" level=warning msg="The group's number increased
t.Run(test.description, func(t *testing.T) {
inTmp, err := os.CreateTemp("", "")
assert.Nil(t, err)
defer inTmp.Close()
defer func() {
inTmp.Close()
}()

_, err = inTmp.Write([]byte(test.in))
assert.Nil(t, err)

inTmp.Write([]byte(test.in))
out, err := transformTestFile(inTmp.Name(), transformLogFmtFile)
assert.Nil(t, err)

Expand Down
10 changes: 1 addition & 9 deletions runner/graphtable.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,10 @@ outer:
}
defer rw.Close()

rawRow := map[string]any{}
rowRequestedColumnsOnly := map[string]any{}
var ok bool

for {
select {
case rawRow, ok = <-rows:
break
}

rawRow, ok := <-rows
if !ok || rawRow == nil {
return nil
}
Expand All @@ -66,8 +60,6 @@ outer:

i++
}

return nil
}

func (ec EvalContext) evalTablePanel(project *ProjectState, pageIndex int, panel *PanelInfo) error {
Expand Down
13 changes: 0 additions & 13 deletions runner/json.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,19 +59,6 @@ func readJSONFileInto(file string, into any) error {
return err
}

func writeAll(w io.Writer, bs []byte) error {
for len(bs) > 0 {
n, err := w.Write(bs)
if err != nil {
return err
}

bs = bs[n:]
}

return nil
}

func WriteJSONFile(file string, value any) error {
f, err := openTruncate(file)
if err != nil {
Expand Down

0 comments on commit 3362433

Please sign in to comment.