From 9c913ee847650fd2b2f859b55e49c162a364cfb5 Mon Sep 17 00:00:00 2001 From: Michael McLoughlin Date: Tue, 22 Jan 2019 21:14:59 -0800 Subject: [PATCH] lint: linter for package docstrings (#59) Fixes #38 --- script/lib.sh | 6 ++++++ script/lint | 3 +++ script/linter/pkgdoc | 12 ++++++++++++ tests/fixedbugs/issue50/doc.go | 2 ++ 4 files changed, 23 insertions(+) create mode 100644 script/lib.sh create mode 100755 script/linter/pkgdoc create mode 100644 tests/fixedbugs/issue50/doc.go diff --git a/script/lib.sh b/script/lib.sh new file mode 100644 index 0000000..5941302 --- /dev/null +++ b/script/lib.sh @@ -0,0 +1,6 @@ +# Print an error message to the terminal. +print_error() { + local red='\033[0;31m' + local nocolor='\033[0m' + printf "${red}error${nocolor}\t$1\n" +} diff --git a/script/lint b/script/lint index 3a63ab7..fe8922a 100755 --- a/script/lint +++ b/script/lint @@ -15,3 +15,6 @@ golangci-lint run ./... ./examples/... # Check asm declarations. asmdecl ./... + +# Custom linters. +./script/linter/pkgdoc diff --git a/script/linter/pkgdoc b/script/linter/pkgdoc new file mode 100755 index 0000000..fa7c50a --- /dev/null +++ b/script/linter/pkgdoc @@ -0,0 +1,12 @@ +#!/bin/bash -e + +source script/lib.sh + +status=0 +pkgs=$(go list -f '{{if not .Doc}}{{.ImportPath}}{{end}}' ./...) +for pkg in ${pkgs}; do + print_error "${pkg} missing docstring" + status=1 +done + +exit ${status} diff --git a/tests/fixedbugs/issue50/doc.go b/tests/fixedbugs/issue50/doc.go new file mode 100644 index 0000000..946deaf --- /dev/null +++ b/tests/fixedbugs/issue50/doc.go @@ -0,0 +1,2 @@ +// Package issue50 tests for 32-bit MOVD/MOVQ instruction forms. +package issue50