err := container.LimitMemory(limits) Expect(err).ToNot(HaveOccurred()) Expect(fakeOomWatcher.WatchCallCount()).To(Equal(1)) }) It("sets memory.limit_in_bytes and then memory.memsw.limit_in_bytes", func() { limits := garden.MemoryLimits{ LimitInBytes: 102400, } err := container.LimitMemory(limits) Expect(err).ToNot(HaveOccurred()) Expect(fakeCgroups.SetValues()).To(Equal( []fake_cgroups_manager.SetValue{ { Subsystem: "memory", Name: "memory.limit_in_bytes", Value: "102400", }, { Subsystem: "memory", Name: "memory.memsw.limit_in_bytes", Value: "102400", }, { Subsystem: "memory", Name: "memory.limit_in_bytes", Value: "102400",
} err := container.Restore(linux_backend.LinuxContainerSpec{ State: "active", Events: []string{}, Resources: containerResources, Limits: linux_backend.Limits{ Memory: &garden.MemoryLimits{ LimitInBytes: 1024, }, }, }) Expect(err).ToNot(HaveOccurred()) Expect(fakeCgroups.SetValues()).To(ContainElement( fake_cgroups_manager.SetValue{ Subsystem: "memory", Name: "memory.limit_in_bytes", Value: "1024", }, )) Expect(fakeCgroups.SetValues()).To(ContainElement( fake_cgroups_manager.SetValue{ Subsystem: "memory", Name: "memory.memsw.limit_in_bytes", Value: "1024", }, ))