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)
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 {
}
// Allocate the IP
- result, err := testutils.CmdAddWithResult(nspath, ifname, func() error {
+ result, _, err := testutils.CmdAddWithResult(nspath, ifname, []byte(conf), func() error {
return cmdAdd(args)
})
Expect(err).NotTo(HaveOccurred())
}
// Allocate the IP
- result, err := testutils.CmdAddWithResult(nspath, ifname, func() error {
+ result, _, err := testutils.CmdAddWithResult(nspath, ifname, []byte(conf), func() error {
return cmdAdd(args)
})
Expect(err).NotTo(HaveOccurred())
err = originalNS.Do(func(ns.NetNS) error {
defer GinkgoRecover()
- _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, func() error {
+ _, _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, []byte(conf), func() error {
return cmdAdd(args)
})
Expect(err).NotTo(HaveOccurred())
err = originalNS.Do(func(ns.NetNS) error {
defer GinkgoRecover()
- _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, func() error {
+ _, _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, []byte(conf), func() error {
return cmdAdd(args)
})
Expect(err).NotTo(HaveOccurred())
err = originalNS.Do(func(ns.NetNS) error {
defer GinkgoRecover()
- _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, func() error {
+ _, _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, []byte(conf), func() error {
return cmdAdd(args)
})
Expect(err).NotTo(HaveOccurred())
err = originalNS.Do(func(ns.NetNS) error {
defer GinkgoRecover()
- _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, func() error {
+ _, _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, []byte(conf), func() error {
return cmdAdd(args)
})
Expect(err).NotTo(HaveOccurred())
defer GinkgoRecover()
By("calling ADD")
- _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, func() error {
+ _, _, err := testutils.CmdAddWithResult(targetNs.Path(), IFNAME, []byte(input), func() error {
return cmdAdd(args)
})
Expect(err).NotTo(HaveOccurred())
source ./build
-TESTABLE="libcni plugins/ipam/dhcp plugins/ipam/dhcp plugins/ipam/host-local/backend/allocator plugins/ipam/host-local/backend plugins/main/loopback pkg/invoke pkg/ns pkg/skel pkg/types pkg/utils plugins/main/ipvlan plugins/main/macvlan plugins/main/bridge plugins/main/ptp plugins/test/noop pkg/utils/hwaddr pkg/ip pkg/version pkg/version/testhelpers plugins/meta/flannel"
+TESTABLE="libcni plugins/ipam/dhcp plugins/ipam/host-local plugins/ipam/host-local/backend/allocator plugins/main/loopback pkg/invoke pkg/ns pkg/skel pkg/types pkg/utils plugins/main/ipvlan plugins/main/macvlan plugins/main/bridge plugins/main/ptp plugins/test/noop pkg/utils/hwaddr pkg/ip pkg/version pkg/version/testhelpers plugins/meta/flannel"
FORMATTABLE="$TESTABLE pkg/testutils plugins/meta/flannel plugins/meta/tuning"
# user has not provided PKG override