enforce no shadowed variable

Convert a few wrapped error from %v to %w.

This does result in a few awkward cases but the value outweighs the
downsides.
pull/18/head
Marc-Antoine Ruel 5 years ago
parent 31cac53e0a
commit a27238ec6e

@ -78,13 +78,12 @@ jobs:
if: always()
run: go vet ./...
- name: 'Check: go vet shadow; shadowed variables'
# TODO: Remove true if we make this check ever pass.
run: |
SHADOW_TOOL="$(which shadow)"
if [ -f "${SHADOW_TOOL}.exe" ]; then
SHADOW_TOOL="${SHADOW_TOOL}.exe"
fi
go vet -vettool=$SHADOW_TOOL ./... || true
go vet -vettool=$SHADOW_TOOL ./...
- name: 'Check: golint'
if: always()
# TODO: Remove true if we make this check ever pass.

@ -42,7 +42,7 @@ func (s *SmokeTest) Run(f *flag.FlagSet, args []string) (err error) {
i2cAddr := f.Uint("ia", 0x76, "I²C bus address to use; either 0x76 (BMx280, the default) or 0x77 (BMP180)")
spiID := f.String("spi", "", "SPI port to use")
record := f.Bool("r", false, "record operation (for playback unit testing)")
if err := f.Parse(args); err != nil {
if err = f.Parse(args); err != nil {
return err
}
if f.NArg() != 0 {

@ -183,7 +183,7 @@ func TestDev_InputStatus(t *testing.T) {
}
// first check
var got [8]TouchStatus
if err := d.InputStatus(got[:]); err != nil {
if err = d.InputStatus(got[:]); err != nil {
t.Fatal(err)
}
if !reflect.DeepEqual(got, [8]TouchStatus{PressedStatus, OffStatus, OffStatus, OffStatus, OffStatus, OffStatus, OffStatus, OffStatus}) {

@ -29,7 +29,7 @@ func Example() {
log.Fatal("invalid alert GPIO pin number")
}
// We set the alert pin to monitor for interrupts.
if err := alertPin.In(gpio.PullUp, gpio.BothEdges); err != nil {
if err = alertPin.In(gpio.PullUp, gpio.BothEdges); err != nil {
log.Fatalf("Can't monitor the alert pin")
}

@ -34,7 +34,7 @@ func (s *SmokeTest) Description() string {
func (s *SmokeTest) Run(f *flag.FlagSet, args []string) (err error) {
i2cID := f.String("i2c", "", "I²C bus to use")
i2cAddr := f.Int("ia", 0x40, "I²C bus address use: 0x40 to 0x4f")
if err := f.Parse(args); err != nil {
if err = f.Parse(args); err != nil {
return err
}
if f.NArg() != 0 {
@ -43,7 +43,7 @@ func (s *SmokeTest) Run(f *flag.FlagSet, args []string) (err error) {
}
fmt.Println("Starting INA219 Current Sensor\nctrl+c to exit")
if _, err := host.Init(); err != nil {
if _, err = host.Init(); err != nil {
return err
}

@ -32,7 +32,7 @@ func Example() {
log.Fatal(err)
}
if _, err := host.Init(); err != nil {
if _, err = host.Init(); err != nil {
log.Fatal(err)
}

@ -328,14 +328,14 @@ func (d *Dev) DrawAll(src image.Image) error {
return d.Draw(d.Bounds(), src, image.Point{})
}
func (d *Dev) update(border byte, black []byte, red []byte) (err error) {
func (d *Dev) update(border byte, black []byte, red []byte) error {
if err := d.reset(); err != nil {
return err
}
r := make([]byte, 3)
binary.LittleEndian.PutUint16(r, uint16(d.Bounds().Size().Y))
h := make([]byte, 4)
r := [3]byte{}
binary.LittleEndian.PutUint16(r[:], uint16(d.Bounds().Size().Y))
h := [4]byte{}
binary.LittleEndian.PutUint16(h[2:], uint16(d.Bounds().Size().Y))
type cmdData struct {
@ -343,7 +343,7 @@ func (d *Dev) update(border byte, black []byte, red []byte) (err error) {
data []byte
}
cmds := []cmdData{
{0x01, r}, // Gate setting
{0x01, r[:]}, // Gate setting
{0x74, []byte{0x54}}, // Set Analog Block Control.
{0x7e, []byte{0x3b}}, // Set Digital Block Control.
{0x03, []byte{0x17}}, // Gate Driving Voltage.
@ -356,7 +356,7 @@ func (d *Dev) update(border byte, black []byte, red []byte) (err error) {
{0x3c, []byte{byte(border)}}, // Border colour
{0x32, modelLUT[d.color]}, // Set LUTs.
{0x44, []byte{0x00, byte(d.Bounds().Size().X/8) - 1}}, // Set RAM Y Start/End
{0x45, h}, // Set RAM X Start/End
{0x45, h[:]}, // Set RAM X Start/End
{0x4e, []byte{0x00}}, // Set RAM X Pointer Start
{0x4f, []byte{0x00, 0x00}}, // Set RAM Y Pointer Start
{0x24, black},
@ -378,21 +378,16 @@ func (d *Dev) update(border byte, black []byte, red []byte) (err error) {
if err := d.busy.In(gpio.PullUp, gpio.FallingEdge); err != nil {
return err
}
defer func() {
if err2 := d.busy.In(gpio.PullUp, gpio.NoEdge); err2 != nil {
err = err2
}
}()
if err := d.sendCommand(0x20, nil); err != nil {
return err
var err error
if err = d.sendCommand(0x20, nil); err == nil {
d.busy.WaitForEdge(-1)
// Enter deep sleep.
err = d.sendCommand(0x10, []byte{0x01})
}
d.busy.WaitForEdge(-1)
if err := d.sendCommand(0x10, []byte{0x01}); err != nil { // Enter deep sleep.
return err
if err2 := d.busy.In(gpio.PullUp, gpio.NoEdge); err2 != nil {
err = err2
}
return
return err
}
func (d *Dev) reset() (err error) {

@ -430,10 +430,10 @@ func (c *cciConn) set(cmd command, data interface{}) error {
if err != nil {
return err
}
if err := c.r.WriteUint16(regDataLength, uint16(nbWords)); err != nil {
if err = c.r.WriteUint16(regDataLength, uint16(nbWords)); err != nil {
return err
}
if err := c.r.WriteUint16(regCommandID, uint16(cmd)|1); err != nil {
if err = c.r.WriteUint16(regCommandID, uint16(cmd)|1); err != nil {
return err
}
s, err := c.waitIdle()

@ -136,8 +136,8 @@ func (c *Conn) readData(r *bufio.Reader) error {
}
default:
// In case of any error, ignore the rest.
line, err := read(r)
if err != nil {
line := ""
if line, err = read(r); err != nil {
return err
}
if line != "SUCCESS" {
@ -154,8 +154,8 @@ func (c *Conn) readData(r *bufio.Reader) error {
if line, err = read(r); err != nil {
return err
}
nbLines, err := strconv.Atoi(line)
if err != nil {
nbLines := 0
if nbLines, err = strconv.Atoi(line); err != nil {
return err
}
list := make([]string, nbLines)

@ -205,8 +205,7 @@ func TestSenseContinuous(t *testing.T) {
if tt.Halt {
e := <-env
err := mcp9808.Halt()
if err != tt.err {
if err = mcp9808.Halt(); err != tt.err {
t.Errorf("SenseContinuous() %s wanted err: %v, but got: %v", tt.name, tt.err, err)
}
if err == nil && e.Temperature != tt.want {

@ -33,7 +33,7 @@ func (s *SmokeTest) Description() string {
func (s *SmokeTest) Run(f *flag.FlagSet, args []string) (err error) {
i2cID := f.String("i2c", "", "I²C bus to use")
i2cAddr := f.Int("ia", 0x18, "I²C bus address use: 0x18 to 0x1f")
if err := f.Parse(args); err != nil {
if err = f.Parse(args); err != nil {
return err
}
if f.NArg() != 0 {
@ -42,7 +42,7 @@ func (s *SmokeTest) Run(f *flag.FlagSet, args []string) (err error) {
}
fmt.Println("Starting MCP9808 Temperature Sensor\nctrl+c to exit")
if _, err := host.Init(); err != nil {
if _, err = host.Init(); err != nil {
return err
}

@ -106,21 +106,21 @@ func (m *MPU9250) Calibrate() error {
writeGyroOffset := func(v int16, h, l byte) error {
o := (-v) >> 2
if err := m.transport.writeByte(h, byte(o>>8)); err != nil {
return wrapf("can't write Gyro offset %x(h):%x => %v", h, o, err)
if err = m.transport.writeByte(h, byte(o>>8)); err != nil {
return wrapf("can't write Gyro offset %x(h):%x => %w", h, o, err)
}
if err := m.transport.writeByte(l, byte(o&0xFF)); err != nil {
return wrapf("can't write Gyro offset %x(l):%x => %v", l, o, err)
if err = m.transport.writeByte(l, byte(o&0xFF)); err != nil {
return wrapf("can't write Gyro offset %x(l):%x => %w", l, o, err)
}
return nil
}
writeAccelOffset := func(o uint16, h, l byte) error {
if err := m.transport.writeByte(h, byte(o>>8)); err != nil {
return wrapf("can't write Accelerator %x(h):%x => %v", h, o, err)
if err = m.transport.writeByte(h, byte(o>>8)); err != nil {
return wrapf("can't write Accelerator %x(h):%x => %w", h, o, err)
}
if err := m.transport.writeByte(l, byte(o&0xFF)); err != nil {
return wrapf("can't write Accelerator %x(l):%x => %v", l, o, err)
if err = m.transport.writeByte(l, byte(o&0xFF)); err != nil {
return wrapf("can't write Accelerator %x(l):%x => %w", l, o, err)
}
return nil
}
@ -132,9 +132,9 @@ func (m *MPU9250) Calibrate() error {
for i := 0; i < int(packets); i++ {
for j := 0; j < registers; j++ {
b, err := m.GetFIFOByte()
if err != nil {
return wrapf("can't read data byte %d of packet %d => %v", j, i, err)
b := byte(0)
if b, err = m.GetFIFOByte(); err != nil {
return wrapf("can't read data byte %d of packet %d => %w", j, i, err)
}
buffer[j] = b
}
@ -177,13 +177,13 @@ func (m *MPU9250) Calibrate() error {
}
m.debug("Factory gyroscope bias: X:%d, Y:%d, Z:%d\n", int16(factoryGyroBiasX), int16(factoryGyroBiasY), int16(factoryGyroBiasZ))
if err := writeGyroOffset(gyroXBias, reg.MPU9250_GYRO_XOUT_H, reg.MPU9250_GYRO_XOUT_L); err != nil {
if err = writeGyroOffset(gyroXBias, reg.MPU9250_GYRO_XOUT_H, reg.MPU9250_GYRO_XOUT_L); err != nil {
return err
}
if err := writeGyroOffset(gyroYBias, reg.MPU9250_GYRO_YOUT_H, reg.MPU9250_GYRO_YOUT_L); err != nil {
if err = writeGyroOffset(gyroYBias, reg.MPU9250_GYRO_YOUT_H, reg.MPU9250_GYRO_YOUT_L); err != nil {
return err
}
if err := writeGyroOffset(gyroZBias, reg.MPU9250_GYRO_ZOUT_H, reg.MPU9250_GYRO_ZOUT_L); err != nil {
if err = writeGyroOffset(gyroZBias, reg.MPU9250_GYRO_ZOUT_H, reg.MPU9250_GYRO_ZOUT_L); err != nil {
return err
}

@ -571,7 +571,7 @@ func benchmarkSPIWrite(b *testing.B, o Opts, length int, f genColor) {
if err != nil {
b.Fatal(err)
}
if _, err := d.Write(pixels[:]); err != nil {
if _, err = d.Write(pixels[:]); err != nil {
b.Fatal(err)
}
b.ResetTimer()

@ -62,7 +62,7 @@ func (s *SmokeTest) Run(f *flag.FlagSet, args []string) (err error) {
rotated := f.Bool("rotated", false, "Rotate the displays by 180°")
record := f.Bool("record", false, "record operation (for playback unit testing)")
if err := f.Parse(args); err != nil {
if err = f.Parse(args); err != nil {
return err
}
if f.NArg() != 0 {

Loading…
Cancel
Save