MCPcopy Create free account
hub / github.com/efficientgo/e2e / prePullImage

Method prePullImage

env_docker.go:614–632  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

612}
613
614func (d *dockerRunnable) prePullImage(ctx context.Context) (err error) {
615 if d.IsRunning() {
616 return errors.Newf("service %s is running; expected stopped", d.Name())
617 }
618
619 if _, err = d.env.execContext(ctx, "docker", "image", "inspect", d.opts.Image).CombinedOutput(); err == nil {
620 return nil
621 }
622
623 // Assuming Error: No such image: <image>.
624 cmd := d.env.execContext(ctx, "docker", "pull", d.opts.Image)
625 l := &LinePrefixLogger{prefix: d.Name() + ": ", logger: d.logger}
626 cmd.Stdout = l
627 cmd.Stderr = l
628 if err = cmd.Run(); err != nil {
629 return errors.Wrapf(err, "docker image %s failed to download", d.opts.Image)
630 }
631 return nil
632}
633
634func (d *dockerRunnable) WaitReady() (err error) {
635 if !d.IsRunning() {

Callers 1

StartMethod · 0.95

Calls 3

IsRunningMethod · 0.95
NameMethod · 0.95
execContextMethod · 0.80

Tested by

no test coverage detected