Fix common.MultiStringFlagVar.

Also add unit test.

Change-Id: I533f3f9d4fb1c589dbdeb79e9eac7b3287cf17a7
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/588726
Reviewed-by: Eric Boren <borenet@google.com>
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
diff --git a/go/common/common.go b/go/common/common.go
index e8cd3d7..1c253cc 100644
--- a/go/common/common.go
+++ b/go/common/common.go
@@ -157,7 +157,7 @@
 // defaults, and usage string. The argument target points to a []string
 // variable in which to store the values of the flag.
 func MultiStringFlagVar(target *[]string, name string, defaults []string, usage string) {
-	FSNewMultiStringFlag(flag.CommandLine, name, defaults, usage)
+	FSMultiStringFlagVar(flag.CommandLine, target, name, defaults, usage)
 }
 
 // String() returns the current values of multiString, as a comma separated list
diff --git a/go/common/common_test.go b/go/common/common_test.go
index 8d1262c..a03da9f 100644
--- a/go/common/common_test.go
+++ b/go/common/common_test.go
@@ -2,6 +2,7 @@
 
 import (
 	"flag"
+	"os"
 	"reflect"
 	"testing"
 
@@ -71,3 +72,16 @@
 	}
 	require.Equal(t, "", z.Interface().(flag.Value).String())
 }
+
+const (
+	testFlagName = "my-test-flag"
+)
+
+func TestMultiStringFlagVar_FlagProvided_FlagValuesOverwriteDefaults(t *testing.T) {
+	target := []string{}
+	defaults := []string{"foo", "bar"}
+	MultiStringFlagVar(&target, testFlagName, defaults, "")
+	os.Args = []string{"exe", "--my-test-flag=baz"}
+	flag.Parse()
+	require.Equal(t, []string{"baz"}, target)
+}