From 9e66c6ec1ba7cefe2cf51c810e75d9c2f38f6b52 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Ruel Date: Sun, 10 Dec 2017 16:59:59 -0500 Subject: [PATCH] Make the smoke tests more consistent - Use the test name for the flag set. - Assert that no extra argument on the command line is silently ignored --- devices/bmxx80/bmx280smoketest/bmx280smoketest.go | 6 +++++- devices/ssd1306/ssd1306smoketest/ssd1306smoketest.go | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/devices/bmxx80/bmx280smoketest/bmx280smoketest.go b/devices/bmxx80/bmx280smoketest/bmx280smoketest.go index f1769fb..eeeb253 100644 --- a/devices/bmxx80/bmx280smoketest/bmx280smoketest.go +++ b/devices/bmxx80/bmx280smoketest/bmx280smoketest.go @@ -8,6 +8,7 @@ package bmx280smoketest import ( + "errors" "flag" "fmt" @@ -37,12 +38,15 @@ func (s *SmokeTest) Description() string { // Run implements the SmokeTest interface. func (s *SmokeTest) Run(args []string) (err error) { - f := flag.NewFlagSet("buses", flag.ExitOnError) + f := flag.NewFlagSet(s.Name(), flag.ExitOnError) i2cID := f.String("i2c", "", "I²C bus to use") 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)") f.Parse(args) + if f.NArg() != 0 { + return errors.New("unrecognized arguments") + } i2cBus, err2 := i2creg.Open(*i2cID) if err2 != nil { diff --git a/devices/ssd1306/ssd1306smoketest/ssd1306smoketest.go b/devices/ssd1306/ssd1306smoketest/ssd1306smoketest.go index 223e010..ba960d4 100644 --- a/devices/ssd1306/ssd1306smoketest/ssd1306smoketest.go +++ b/devices/ssd1306/ssd1306smoketest/ssd1306smoketest.go @@ -8,6 +8,7 @@ package ssd1306smoketest import ( "bytes" + "errors" "flag" "fmt" "image" @@ -53,7 +54,7 @@ func (s *SmokeTest) Description() string { func (s *SmokeTest) Run(args []string) (err error) { s.delay = 2 * time.Second - f := flag.NewFlagSet("buses", flag.ExitOnError) + f := flag.NewFlagSet(s.Name(), flag.ExitOnError) i2cID := f.String("i2c", "", "I²C bus to use") spiID := f.String("spi", "", "SPI port to use") dcName := f.String("dc", "", "DC pin to use in 4-wire SPI mode") @@ -64,6 +65,9 @@ func (s *SmokeTest) Run(args []string) (err error) { record := f.Bool("record", false, "record operation (for playback unit testing)") f.Parse(args) + if f.NArg() != 0 { + return errors.New("unrecognized arguments") + } i2cBus, err2 := i2creg.Open(*i2cID) if err2 != nil {