示例#1
0
			})

			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