当前位置: 首页>>代码示例>>Golang>>正文


Golang Container.StreamOut方法代码示例

本文整理汇总了Golang中github.com/cloudfoundry-incubator/garden/warden.Container.StreamOut方法的典型用法代码示例。如果您正苦于以下问题:Golang Container.StreamOut方法的具体用法?Golang Container.StreamOut怎么用?Golang Container.StreamOut使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/cloudfoundry-incubator/garden/warden.Container的用法示例。


在下文中一共展示了Container.StreamOut方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1:

			_, stream, err := container.Run(warden.ProcessSpec{
				Script: `test -f /tmp/some-container-dir/some-temp-dir/some-temp-file && exit 42`,
			})

			Expect(*(<-stream).ExitStatus).To(Equal(uint32(42)))
		})

		Context("and then copying them out", func() {
			It("streams the directory", func() {
				_, stream, err := container.Run(warden.ProcessSpec{
					Script: `mkdir -p some-outer-dir/some-inner-dir; touch some-outer-dir/some-inner-dir/some-file;`,
				})

				Expect(*(<-stream).ExitStatus).To(Equal(uint32(0)))

				tarOutput, err := container.StreamOut("some-outer-dir/some-inner-dir")
				Ω(err).ShouldNot(HaveOccurred())

				tarReader := tar.NewReader(tarOutput)

				header, err := tarReader.Next()
				Ω(err).ShouldNot(HaveOccurred())
				Ω(header.Name).Should(Equal("some-inner-dir/"))

				header, err = tarReader.Next()
				Ω(err).ShouldNot(HaveOccurred())
				Ω(header.Name).Should(Equal("some-inner-dir/some-file"))
			})

			Context("with a trailing slash", func() {
				It("streams the contents of the directory", func() {
开发者ID:vito,项目名称:warden-linux,代码行数:31,代码来源:lifecycle_test.go

示例2:

			It("returns the error", func() {
				_, err := container.StreamIn("to")
				Ω(err).Should(Equal(disaster))
			})
		})
	})

	Describe("StreamOut", func() {
		It("sends a stream out request", func() {
			fakeConnection.WhenStreamingOut = func(handle string, src string) (io.Reader, error) {
				Ω(src).Should(Equal("from"))
				return strings.NewReader("kewl"), nil
			}

			reader, err := container.StreamOut("from")
			bytes, err := ioutil.ReadAll(reader)
			Ω(err).ShouldNot(HaveOccurred())
			Ω(string(bytes)).Should(Equal("kewl"))
		})

		Context("when streaming out fails", func() {
			disaster := errors.New("oh no!")

			BeforeEach(func() {
				fakeConnection.WhenStreamingOut = func(handle string, src string) (io.Reader, error) {
					return nil, disaster
				}
			})

			It("returns the error", func() {
开发者ID:vito,项目名称:warden-linux,代码行数:30,代码来源:container_test.go


注:本文中的github.com/cloudfoundry-incubator/garden/warden.Container.StreamOut方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。