Report the embedded release version
This commit is contained in:
38
internal/app/version_test.go
Normal file
38
internal/app/version_test.go
Normal 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())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user