github.com/cloudfoundry-attic/garden-linux@v0.333.2-candidate/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  				User: "alice",
    36  				Path: "ifconfig",
    37  				Args: []string{containerIfName(container)},
    38  			}, garden.ProcessIO{
    39  				Stdout: stdout,
    40  				Stderr: stderr,
    41  			})
    42  			Expect(err).ToNot(HaveOccurred())
    43  			rc, err := process.Wait()
    44  			Expect(err).ToNot(HaveOccurred())
    45  			Expect(rc).To(Equal(0))
    46  
    47  			Expect(stdout.Contents()).To(ContainSubstring(" MTU:6789 "))
    48  		})
    49  	})
    50  
    51  	Describe("hosts's network interface for a container", func() {
    52  		It("has the correct MTU size", func() {
    53  			out, err := exec.Command("ifconfig", hostIfName(container)).Output()
    54  			Expect(err).ToNot(HaveOccurred())
    55  
    56  			Expect(out).To(ContainSubstring(" MTU:6789 "))
    57  		})
    58  	})
    59  
    60  })