increment_version/main_test.go

79 lines
2.5 KiB
Go
Raw Permalink Normal View History

2025-05-18 18:08:01 -04:00
package main
import (
"os"
"testing"
)
func TestIncrementVersion(t *testing.T) {
const TEST_VERSIONFILE = "main_test-VERSION"
err := os.WriteFile(TEST_VERSIONFILE, []byte("0.0.0-0"), 0664)
if err != nil {
t.Fatalf("error writing %s: %v\n", TEST_VERSIONFILE, err)
}
defer os.Remove(TEST_VERSIONFILE)
version, err := NewVersion(TEST_VERSIONFILE)
if err != nil {
t.Fatalf("error reading %s: %v\n", TEST_VERSIONFILE, err)
}
if want, got := "0.0.0-0", version.String(); want != got {
t.Fatalf("error: wanted %s; got %s\n", want, got)
}
version = IncrementVersion(version, false, false, false, true)
if want, got := "0.0.0-1", version.String(); want != got {
t.Fatalf("error: wanted %s; got %s\n", want, got)
}
err = version.Flush()
if err != nil {
t.Fatalf("error flushing: %v\n", err)
}
version, err = NewVersion(TEST_VERSIONFILE)
if err != nil {
t.Fatalf("error reading %s: %v\n", TEST_VERSIONFILE, err)
} else if want, got := "0.0.0-1", version.String(); want != got {
t.Fatalf("error: wanted %s; got %s\n", want, got)
}
version = IncrementVersion(version, false, false, true, false)
if want, got := "0.0.1-1", version.String(); want != got {
t.Fatalf("error: wanted %s; got %s\n", want, got)
}
err = version.Flush()
if err != nil {
t.Fatalf("error flushing: %v\n", err)
}
version, err = NewVersion(TEST_VERSIONFILE)
if err != nil {
t.Fatalf("error reading %s: %v\n", TEST_VERSIONFILE, err)
} else if want, got := "0.0.1-1", version.String(); want != got {
t.Fatalf("error: wanted %s; got %s\n", want, got)
}
version = IncrementVersion(version, false, true, false, false)
if want, got := "0.1.1-1", version.String(); want != got {
t.Fatalf("error: wanted %s; got %s\n", want, got)
}
err = version.Flush()
if err != nil {
t.Fatalf("error flushing: %v\n", err)
}
version, err = NewVersion(TEST_VERSIONFILE)
if err != nil {
t.Fatalf("error reading %s: %v\n", TEST_VERSIONFILE, err)
} else if want, got := "0.1.1-1", version.String(); want != got {
t.Fatalf("error: wanted %s; got %s\n", want, got)
}
version = IncrementVersion(version, true, false, false, false)
if want, got := "1.1.1-1", version.String(); want != got {
t.Fatalf("error: wanted %s; got %s\n", want, got)
}
err = version.Flush()
if err != nil {
t.Fatalf("error flushing: %v\n", err)
}
version, err = NewVersion(TEST_VERSIONFILE)
if err != nil {
t.Fatalf("error reading %s: %v\n", TEST_VERSIONFILE, err)
} else if want, got := "1.1.1-1", version.String(); want != got {
t.Fatalf("error: wanted %s; got %s\n", want, got)
}
}