On Wed, Jul 26, 2023 at 12:50:05PM -0500, Eric Blake wrote:
Now that I've finished tweaking the generator to output
consistent Go
style, add a test that runs gofmt to flag places where we introduce
style regressions. As lining up columns in generated const() blocks
is trickier, for now I am making the test skip that by default (export
TEST_GOFMT_ALL=1 to see the difference).
A later patch may figure out how to do it in OCaml (two passes: one to
collect the maximum length of a name, the second to output columnar
data), or to include gofmt as part of the generation process (when
available), where a 'make dist' tarball will compile no matter what,
but only have correct formatting if the developer building the tarball
had gofmt installed.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
golang/Makefile.am | 2 +-
golang/codestyle-tests.sh | 45 +++++++++++++++++++++++++++++++++++++++
2 files changed, 46 insertions(+), 1 deletion(-)
create mode 100755 golang/codestyle-tests.sh
+
+$GOFMT -d $(find . -name "*.go" $exclude) > codestyle-tests.out
By default it only reports the first 10 errors. Adding -e makes it
report all of them
+if test -s codestyle-tests.out; then
+ echo 'FAIL: fix the following style errors' >&2
+ cat codestyle-tests.out >&2
+ exit 1
+fi
The full output could potentially be quite large. So consider
just running 'diffstat codestyle-tests.out' and simply telling
people to open codestyle-tests.out to see full details.
With regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|