Report the embedded release version

This commit is contained in:
2026-08-29 23:13:01 +00:00
parent 51edd384c0
commit ee2b8e63e6
6 changed files with 84 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
package app
import (
"bytes"
"io"
"strings"
"testing"
"gitea.maximumdirect.net/eric/narratio/internal/buildinfo"
)
func TestExecuteVersionReportsEmbeddedBuildVersion(t *testing.T) {
original := buildinfo.Version
buildinfo.Version = "v1.5.0-test"
t.Cleanup(func() { buildinfo.Version = original })
var stdout bytes.Buffer
var stderr bytes.Buffer
if code := Execute([]string{"version"}, &stdout, &stderr); code != 0 {
t.Fatalf("Execute() code = %d, stderr = %q", code, stderr.String())
}
if got, want := stdout.String(), "narratio v1.5.0-test\n"; got != want {
t.Fatalf("stdout = %q, want %q", got, want)
}
if stderr.Len() != 0 {
t.Fatalf("stderr = %q, want empty", stderr.String())
}
}
func TestExecuteVersionRejectsArguments(t *testing.T) {
var stderr bytes.Buffer
if code := Execute([]string{"version", "extra"}, io.Discard, &stderr); code == 0 {
t.Fatal("Execute() code = 0, want failure")
}
if !strings.Contains(stderr.String(), "version: unexpected arguments") {
t.Fatalf("stderr = %q, want argument error", stderr.String())
}
}