testutils: pass netConf in for version operations; pass raw result out for tests
authorDan Williams <dcbw@redhat.com>
Tue, 22 Nov 2016 16:02:39 +0000 (10:02 -0600)
committerDan Williams <dcbw@redhat.com>
Wed, 25 Jan 2017 17:31:18 +0000 (11:31 -0600)
testutils/cmd.go

index 201b935..0118f61 100644 (file)
@@ -29,7 +29,7 @@ func envCleanup() {
        os.Unsetenv("CNI_IFNAME")
 }
 
-func CmdAddWithResult(cniNetns, cniIfname string, f func() error) (*types.Result, error) {
+func CmdAddWithResult(cniNetns, cniIfname string, conf []byte, f func() error) (*types.Result, []byte, error) {
        os.Setenv("CNI_COMMAND", "ADD")
        os.Setenv("CNI_PATH", os.Getenv("PATH"))
        os.Setenv("CNI_NETNS", cniNetns)
@@ -40,30 +40,30 @@ func CmdAddWithResult(cniNetns, cniIfname string, f func() error) (*types.Result
        oldStdout := os.Stdout
        r, w, err := os.Pipe()
        if err != nil {
-               return nil, err
+               return nil, nil, err
        }
 
        os.Stdout = w
        err = f()
        w.Close()
        if err != nil {
-               return nil, err
+               return nil, nil, err
        }
 
        // parse the result
        out, err := ioutil.ReadAll(r)
        os.Stdout = oldStdout
        if err != nil {
-               return nil, err
+               return nil, nil, err
        }
 
        result := types.Result{}
        err = json.Unmarshal(out, &result)
        if err != nil {
-               return nil, err
+               return nil, nil, err
        }
 
-       return &result, nil
+       return &result, out, nil
 }
 
 func CmdDelWithResult(cniNetns, cniIfname string, f func() error) error {