79 lines
2.5 KiB
Go
79 lines
2.5 KiB
Go
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)
|
|
}
|
|
}
|