From 06e73caec18255cdcf764dbea307c4e942a9b5cd Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 10 Mar 2025 10:54:27 +0100 Subject: [PATCH] main: show "success" message with output dir when build finishes This commit adds a "success" message that also contains the output dir when the build finishes. Thanks to SimonS for suggesting this! --- cmd/image-builder/main.go | 3 ++- cmd/image-builder/main_test.go | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cmd/image-builder/main.go b/cmd/image-builder/main.go index 19e8f9b..d26dcd9 100644 --- a/cmd/image-builder/main.go +++ b/cmd/image-builder/main.go @@ -268,10 +268,11 @@ func cmdBuild(cmd *cobra.Command, args []string) error { if err := buildImage(pbar, res, mf.Bytes(), buildOpts); err != nil { return err } + pbar.Stop() + fmt.Fprintf(osStdout, "Image build successful, result in %q\n", outputDir) if uploader != nil { // XXX: integrate better into the progress, see bib - pbar.Stop() imagePath := filepath.Join(outputDir, res.ImgType.Name(), res.ImgType.Filename()) if err := uploadImageWithProgress(uploader, imagePath); err != nil { diff --git a/cmd/image-builder/main_test.go b/cmd/image-builder/main_test.go index ad78377..26fdeba 100644 --- a/cmd/image-builder/main_test.go +++ b/cmd/image-builder/main_test.go @@ -325,6 +325,10 @@ func TestBuildIntegrationHappy(t *testing.T) { restore := main.MockNewRepoRegistry(testrepos.New) defer restore() + var fakeStdout bytes.Buffer + restore = main.MockOsStdout(&fakeStdout) + defer restore() + tmpdir := t.TempDir() restore = main.MockOsArgs([]string{ "build", @@ -342,6 +346,8 @@ func TestBuildIntegrationHappy(t *testing.T) { err := main.Run() assert.NoError(t, err) + assert.Contains(t, fakeStdout.String(), `Image build successful, result in "centos-9-qcow2-x86_64"`+"\n") + // ensure osbuild was run exactly one require.Equal(t, 1, len(fakeOsbuildCmd.Calls())) osbuildCall := fakeOsbuildCmd.Calls()[0]