) }) Describe("Running", func() { It("runs the /bin/bash via wsh with the given script as the input, and rlimits in env", func() { _, err := container.Run(garden.ProcessSpec{ User: "******", Path: "/some/script", Args: []string{"arg1", "arg2"}, Limits: garden.ResourceLimits{ As: uint64ptr(1), Core: uint64ptr(2), Cpu: uint64ptr(3), Data: uint64ptr(4), Fsize: uint64ptr(5), Locks: uint64ptr(6), Memlock: uint64ptr(7), Msgqueue: uint64ptr(8), Nice: uint64ptr(9), Nofile: uint64ptr(10), Nproc: uint64ptr(11), Rss: uint64ptr(12), Rtprio: uint64ptr(13), Sigpending: uint64ptr(14), Stack: uint64ptr(15), }, }, garden.ProcessIO{}) Expect(err).ToNot(HaveOccurred()) Expect(fakeProcessTracker.RunCallCount()).To(Equal(1)) _, ranCmd, _, _, _ := fakeProcessTracker.RunArgsForCall(0)
Processes: []linux_backend.ActiveProcess{ { ID: 0, TTY: false, }, { ID: 5, TTY: true, }, }, }) Expect(err).ToNot(HaveOccurred()) _, err = container.Run(garden.ProcessSpec{ User: "******", Path: "/some/script", }, garden.ProcessIO{}) Expect(err).ToNot(HaveOccurred()) nextGuid, _, _, _, _ := fakeProcessTracker.RunArgsForCall(0) nextId, _ := strconv.Atoi(nextGuid) Expect(nextId).To(BeNumerically(">", 5)) }) It("restores the correct process signaller", func() { Expect(container.Restore(linux_backend.LinuxContainerSpec{ State: "active", Processes: []linux_backend.ActiveProcess{{ID: 0, TTY: false}}, Resources: containerResources, })).To(Succeed())