Remove new-from-rev from the linter (#1783)

* Fix all revive warnings in the code base

All of these are of the form

```
var Identifier Type = Expr
```

where the `Type` is known from the output of `Expr` and can be omitted
as a result.

* Handle unchecked errors

* Remove new-from-rev

Since the project passes all linter checks now, including older
revisions, we can remove new-from-rev. While here, reorder the linter
config file, and move the enabled linters up and settings down.

* Fix failing test cases

Studio & Performer export tests use local time rather than UTC. This
fixes the test cases so integration test
passes.
This commit is contained in:
SmallCoccinelle 2021-09-28 01:29:45 +02:00 committed by GitHub
parent b94eecae24
commit bc6d04dc2a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 65 additions and 45 deletions

View file

@ -3,10 +3,23 @@ run:
timeout: 3m timeout: 3m
modules-download-mode: vendor modules-download-mode: vendor
issues: linters:
# Rev at which the linter was introduced. Older bugs are still disable-all: true
# present, but should not be considered validation errors for now enable:
new-from-rev: b14d5c56504dfcea2f5a7b86706b0ecdafd0b68c # Default set of linters from golangci-lint
- deadcode
- errcheck
- gosimple
- govet
- ineffassign
- staticcheck
- structcheck
- typecheck
- unused
- varcheck
# Linters added by the stash project
- gofmt
- revive
linters-settings: linters-settings:
gofmt: gofmt:
@ -52,21 +65,3 @@ linters-settings:
- name: unreachable-code - name: unreachable-code
- name: redefines-builtin-id - name: redefines-builtin-id
linters:
disable-all: true
enable:
# Default set of linters from golangci-lint
- deadcode
- errcheck
- gosimple
- govet
- ineffassign
- staticcheck
- structcheck
- typecheck
- unused
- varcheck
# Linters added by the stash project
- gofmt
- revive

View file

@ -59,7 +59,9 @@ func (rs imageRoutes) Thumbnail(w http.ResponseWriter, r *http.Request) {
logger.Errorf("error writing thumbnail for image %s: %s", img.Path, err) logger.Errorf("error writing thumbnail for image %s: %s", img.Path, err)
} }
} }
w.Write(data) if n, err := w.Write(data); err != nil {
logger.Errorf("error writing thumbnail response. Wrote %v bytes: %v", n, err)
}
} }
} }

View file

@ -39,8 +39,10 @@ const (
studioName = "studioName" studioName = "studioName"
) )
var createTime time.Time = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC) var (
var updateTime time.Time = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC) createTime = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC)
updateTime = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC)
)
func createFullGallery(id int) models.Gallery { func createFullGallery(id int) models.Gallery {
return models.Gallery{ return models.Gallery{

View file

@ -39,8 +39,10 @@ const (
errChecksum = "errChecksum" errChecksum = "errChecksum"
) )
var createdAt time.Time = time.Date(2001, time.January, 2, 1, 2, 3, 4, time.Local) var (
var updatedAt time.Time = time.Date(2002, time.January, 2, 1, 2, 3, 4, time.Local) createdAt = time.Date(2001, time.January, 2, 1, 2, 3, 4, time.Local)
updatedAt = time.Date(2002, time.January, 2, 1, 2, 3, 4, time.Local)
)
func TestImporterName(t *testing.T) { func TestImporterName(t *testing.T) {
i := Importer{ i := Importer{

View file

@ -53,8 +53,10 @@ const (
//galleryChecksum = "galleryChecksum" //galleryChecksum = "galleryChecksum"
) )
var createTime time.Time = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC) var (
var updateTime time.Time = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC) createTime = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC)
updateTime = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC)
)
func createFullImage(id int) models.Image { func createFullImage(id int) models.Image {
return models.Image{ return models.Image{

View file

@ -46,7 +46,9 @@ func (e *ThumbnailEncoder) GetThumbnail(img *models.Image, maxSize int) ([]byte,
} }
buf := new(bytes.Buffer) buf := new(bytes.Buffer)
buf.ReadFrom(reader) if _, err := buf.ReadFrom(reader); err != nil {
return nil, err
}
_, format, err := DecodeSourceImage(img) _, format, err := DecodeSourceImage(img)
if err != nil { if err != nil {

View file

@ -44,18 +44,24 @@ const url = "url"
const studioName = "studio" const studioName = "studio"
const frontImage = "ZnJvbnRJbWFnZUJ5dGVz" const (
const backImage = "YmFja0ltYWdlQnl0ZXM=" frontImage = "ZnJvbnRJbWFnZUJ5dGVz"
backImage = "YmFja0ltYWdlQnl0ZXM="
)
var frontImageBytes = []byte("frontImageBytes") var (
var backImageBytes = []byte("backImageBytes") frontImageBytes = []byte("frontImageBytes")
backImageBytes = []byte("backImageBytes")
)
var studio models.Studio = models.Studio{ var studio models.Studio = models.Studio{
Name: models.NullString(studioName), Name: models.NullString(studioName),
} }
var createTime time.Time = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC) var (
var updateTime time.Time = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC) createTime = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC)
updateTime = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC)
)
func createFullMovie(id int, studioID int) models.Movie { func createFullMovie(id int, studioID int) models.Movie {
return models.Movie{ return models.Movie{

View file

@ -54,8 +54,11 @@ var deathDate = models.SQLiteDate{
String: "2021-02-02", String: "2021-02-02",
Valid: true, Valid: true,
} }
var createTime time.Time = time.Date(2001, 01, 01, 0, 0, 0, 0, time.Local)
var updateTime time.Time = time.Date(2002, 01, 01, 0, 0, 0, 0, time.Local) var (
createTime = time.Date(2001, 01, 01, 0, 0, 0, 0, time.Local)
updateTime = time.Date(2002, 01, 01, 0, 0, 0, 0, time.Local)
)
func createFullPerformer(id int, name string) *models.Performer { func createFullPerformer(id int, name string) *models.Performer {
return &models.Performer{ return &models.Performer{

View file

@ -87,8 +87,10 @@ var imageBytes = []byte("imageBytes")
const image = "aW1hZ2VCeXRlcw==" const image = "aW1hZ2VCeXRlcw=="
var createTime time.Time = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC) var (
var updateTime time.Time = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC) createTime = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC)
updateTime = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC)
)
func createFullScene(id int) models.Scene { func createFullScene(id int) models.Scene {
return models.Scene{ return models.Scene{

View file

@ -105,7 +105,7 @@ type filterBuilder struct {
err error err error
} }
var errSubFilterAlreadySet error = errors.New(`sub-filter already set`) var errSubFilterAlreadySet = errors.New(`sub-filter already set`)
// sub-filter operator values // sub-filter operator values
var ( var (

View file

@ -41,8 +41,10 @@ var imageBytes = []byte("imageBytes")
const image = "aW1hZ2VCeXRlcw==" const image = "aW1hZ2VCeXRlcw=="
var createTime time.Time = time.Date(2001, 01, 01, 0, 0, 0, 0, time.Local) var (
var updateTime time.Time = time.Date(2002, 01, 01, 0, 0, 0, 0, time.Local) createTime = time.Date(2001, 01, 01, 0, 0, 0, 0, time.Local)
updateTime = time.Date(2002, 01, 01, 0, 0, 0, 0, time.Local)
)
func createFullStudio(id int, parentID int) models.Studio { func createFullStudio(id int, parentID int) models.Studio {
ret := models.Studio{ ret := models.Studio{

View file

@ -23,8 +23,10 @@ const (
const tagName = "testTag" const tagName = "testTag"
var createTime time.Time = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC) var (
var updateTime time.Time = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC) createTime = time.Date(2001, 01, 01, 0, 0, 0, 0, time.UTC)
updateTime = time.Date(2002, 01, 01, 0, 0, 0, 0, time.UTC)
)
func createTag(id int) models.Tag { func createTag(id int) models.Tag {
return models.Tag{ return models.Tag{