gitea

Development moved to Codeberg

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
#!/bin/bash
#
# Copyright 2017, Joe Tsai. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE.md file.

cd $(go list -f '{{ .Dir }}' github.com/dsnet/compress)

BOLD="\x1b[1mRunning: "
PASS="\x1b[32mPASS"
FAIL="\x1b[31mFAIL"
RESET="\x1b[0m"

echo -e "${BOLD}fmt${RESET}"
RET_FMT=$(find . -name "*.go" | egrep -v "/(_.*_|\..*|testdata)/" | xargs gofmt -d)
if [[ ! -z "$RET_FMT" ]]; then echo "$RET_FMT"; echo; fi

echo -e "${BOLD}test${RESET}"
RET_TEST=$(go test -race ./... | egrep -v "^(ok|[?])\s+")
if [[ ! -z "$RET_TEST" ]]; then echo "$RET_TEST"; echo; fi

echo -e "${BOLD}staticcheck${RESET}"
RET_SCHK=$(staticcheck \
	-ignore "
		github.com/dsnet/compress/brotli/*.go:SA4016
		github.com/dsnet/compress/brotli/*.go:S1023
		github.com/dsnet/compress/brotli/*.go:U1000
		github.com/dsnet/compress/bzip2/*.go:S1023
		github.com/dsnet/compress/flate/*.go:U1000
		github.com/dsnet/compress/internal/cgo/lzma/*.go:SA4000
		github.com/dsnet/compress/internal/prefix/*.go:S1004
		github.com/dsnet/compress/internal/prefix/*.go:S1023
		github.com/dsnet/compress/internal/prefix/*.go:SA4016
		github.com/dsnet/compress/internal/tool/bench/*.go:S1007
		github.com/dsnet/compress/xflate/internal/meta/*.go:S1023
	" ./... 2>&1)
if [[ ! -z "$RET_SCHK" ]]; then echo "$RET_SCHK"; echo; fi

echo -e "${BOLD}lint${RESET}"
RET_LINT=$(golint ./... 2>&1 |
	egrep -v "^vendor/" |
	egrep -v "should have comment(.*)or be unexported" |
	egrep -v "^(.*)type name will be used as(.*)by other packages" |
	egrep -v "^brotli/transform.go:(.*)replace i [+]= 1 with i[+]{2}" |
	egrep -v "^internal/prefix/prefix.go:(.*)replace symBits(.*) [-]= 1 with symBits(.*)[-]{2}" |
	egrep -v "^xflate/common.go:(.*)NoCompression should be of the form" |
	egrep -v "^exit status")
if [[ ! -z "$RET_LINT" ]]; then echo "$RET_LINT"; echo; fi

if [[ ! -z "$RET_FMT" ]] || [ ! -z "$RET_TEST" ] || [[ ! -z "$RET_SCHK" ]] || [[ ! -z "$RET_LINT" ]]; then
	echo -e "${FAIL}${RESET}"; exit 1
else
	echo -e "${PASS}${RESET}"; exit 0
fi