github.com/schwarzm/garden-linux@v0.0.0-20150507151835-33bca2147c47/integration/networking/mtu_test.go (about)

     1  package networking_test
     2  
     3  import (
     4  	"os/exec"
     5  
     6  	"github.com/cloudfoundry-incubator/garden"
     7  	. "github.com/onsi/ginkgo"
     8  	. "github.com/onsi/gomega"
     9  	"github.com/onsi/gomega/gbytes"
    10  )
    11  
    12  var _ = Describe("MTU size", func() {
    13  	var container garden.Container
    14  
    15  	BeforeEach(func() {
    16  		client = startGarden("-mtu=6789")
    17  
    18  		var err error
    19  
    20  		container, err = client.Create(garden.ContainerSpec{})
    21  		Expect(err).ToNot(HaveOccurred())
    22  	})
    23  
    24  	AfterEach(func() {
    25  		err := client.Destroy(container.Handle())
    26  		Expect(err).ToNot(HaveOccurred())
    27  	})
    28  
    29  	Describe("container's network interface", func() {
    30  		It("has the correct MTU size", func() {
    31  			stdout := gbytes.NewBuffer()
    32  			stderr := gbytes.NewBuffer()
    33  
    34  			process, err := container.Run(garden.ProcessSpec{
    35  				Path: "/sbin/ifconfig",
    36  				Args: []string{containerIfName(container)},
    37  			}, garden.ProcessIO{
    38  				Stdout: stdout,
    39  				Stderr: stderr,
    40  			})
    41  			Expect(err).ToNot(HaveOccurred())
    42  			rc, err := process.Wait()
    43  			Expect(err).ToNot(HaveOccurred())
    44  			Expect(rc).To(Equal(0))
    45  
    46  			Expect(stdout.Contents()).To(ContainSubstring(" MTU:6789 "))
    47  		})
    48  	})
    49  
    50  	Describe("hosts's network interface for a container", func() {
    51  		It("has the correct MTU size", func() {
    52  			out, err := exec.Command("/sbin/ifconfig", hostIfName(container)).Output()
    53  			Expect(err).ToNot(HaveOccurred())
    54  
    55  			Expect(out).To(ContainSubstring(" MTU:6789 "))
    56  		})
    57  	})
    58  
    59  })