}) AfterEach(func() { cmd, err := gexec.Start(exec.Command( "sh", "-c", ` ip netns exec netns1 ip link del veth1 ip netns delete netns1 `, ), GinkgoWriter, GinkgoWriter) Expect(err).ToNot(HaveOccurred()) Eventually(cmd, "5s").Should(gexec.Exit(0)) }) It("Gets statistics from the interface", func() { link := devices.Link{} beforeStat, err := link.Statistics("veth0") Expect(err).ToNot(HaveOccurred()) cmd, err := gexec.Start(exec.Command( "sh", "-c", ` ping -c 10 -s 80 10.1.1.1 `, ), GinkgoWriter, GinkgoWriter) Expect(err).ToNot(HaveOccurred()) Eventually(cmd, "15s").Should(gexec.Exit(0)) afterStat, err := link.Statistics("veth0") Expect(err).ToNot(HaveOccurred()) // size of ping packet is 42 + payload_size (80 bytes) // there could be additional arp messages transferred and recieved // so check for range instead of absolute values