Commit Graph

11 Commits

Author SHA1 Message Date
Emil Hessman fe54356d61 Makefile: add vet target
Add a vet target in order to catch suspicious constructs
reported by go vet.

Vet has successfully detected problems in the past,
for example, see

  c9333b1b9b

Some vet flags are noisy. In particular, the following flags
reports a large amount of generally unharmful constructs:

```
  -assign: check for useless assignments
  -composites: check that composite literals used field-keyed
               elements
  -shadow: check for shadowed variables
  -shadowstrict: whether to be strict about shadowing
  -unreachable: check for unreachable code
```

In order to skip running the flags mentioned above, vet is
invoked on a directory basis with `go tool vet .` since package-
level type-checking with `go vet` doesn't accept flags.

Hence, each file is vetted in isolation, which is weaker than
package-level type-checking. But nevertheless, it might catch
suspicious constructs that pose a real issue.

The vet target runs the following flags on the entire repo:

```
  -asmdecl: check assembly against Go declarations
  -atomic: check for common mistaken usages of the
           sync/atomic package
  -bool: check for mistakes involving boolean operators
  -buildtags: check that +build tags are valid
  -copylocks: check that locks are not passed by value
  -methods: check that canonically named methods are canonically
            defined
  -nilfunc: check for comparisons between functions and nil
  -printf: check printf-like invocations
  -rangeloops: check that range loop variables are used correctly
  -shift: check for useless shifts
  -structtags: check that struct field tags have canonical format
               and apply to exported fields as needed
  -unsafeptr: check for misuse of unsafe.Pointer
```

Now and then, it might make sense to check the output of the
disabled flags manually.
For example, `VETARGS=-unreachable make vet` can detect several
lines of dead code that can be deleted, etc.
2015-01-17 07:44:25 +01:00
Chavez 89e60343f0 Separate cover target for tests 2014-12-05 18:47:23 -08:00
Chavez d760c8e6ce Fix typo 2014-12-04 23:11:47 -08:00
Chavez 0473d6aa1e Vagrant updates
* Add go tools to provision script
* Sync project folder
* Fix ruby styling issues
* Add --cover flag to test commands
2014-12-04 21:24:05 -08:00
Armon Dadgar f3063b25c1 Adding script to verify no UUID generation done in state store 2014-10-09 11:31:28 -07:00
Nelson Elhage cb8fcf613d Fix a Makefile typo.
The broken .PHONY declaration is breaking Travis: 'make deps' is now a
no-op, because of the new 'deps' directory.
2014-06-29 18:22:44 -07:00
Ultrabug 0ab590fcba fix make dependency for the format target 2014-06-03 14:54:04 +02:00
Carlos Diaz-Padron 715b29bef2 Add format task to all and silence large output 2014-05-06 01:48:18 -04:00
Carlos Diaz-Padron 9ed70ca851 Add make format task 2014-05-06 01:38:21 -04:00
Carlos Diaz-Padron 4d0f06c2f5 Use proper shell expansion in Makefile 2014-05-06 01:34:24 -04:00
Armon Dadgar 7fbd8ba370 consul: adding basic skeleton 2013-12-06 15:43:07 -08:00