diff --git a/components/engine/integration-cli/docker_cli_import_test.go b/components/engine/integration-cli/docker_cli_import_test.go index 9b36aa9ce1..f9e86f01bd 100644 --- a/components/engine/integration-cli/docker_cli_import_test.go +++ b/components/engine/integration-cli/docker_cli_import_test.go @@ -12,8 +12,8 @@ func TestImportDisplay(t *testing.T) { out, _, err := runCommandWithOutput(importCmd) errorOut(err, t, fmt.Sprintf("import failed with errors: %v", err)) - if n := len(strings.Split(out, "\n")); n != 3 { - t.Fatalf("display is messed up: %d '\\n' instead of 3", n) + if n := strings.Count(out, "\n"); n != 2 { + t.Fatalf("display is messed up: %d '\\n' instead of 2", n) } logDone("import - cirros was imported and display is fine") diff --git a/components/engine/server/server.go b/components/engine/server/server.go index 41a4af32bc..87c910b580 100644 --- a/components/engine/server/server.go +++ b/components/engine/server/server.go @@ -1701,8 +1701,6 @@ func (srv *Server) ImageImport(job *engine.Job) engine.Status { u.Path = "" } job.Stdout.Write(sf.FormatStatus("", "Downloading from %s", u)) - // Download with curl (pretty progress bar) - // If curl is not available, fallback to http.Get() resp, err = utils.Download(u.String()) if err != nil { return job.Error(err) diff --git a/components/engine/utils/progressreader.go b/components/engine/utils/progressreader.go index a43ee55b0f..87eae8ba73 100644 --- a/components/engine/utils/progressreader.go +++ b/components/engine/utils/progressreader.go @@ -32,7 +32,7 @@ func (r *progressReader) Read(p []byte) (n int, err error) { r.lastUpdate = r.progress.Current } // Send newline when complete - if r.newLine && err != nil { + if r.newLine && err != nil && read == 0 { r.output.Write(r.sf.FormatStatus("", "")) } return read, err