Skip to content

Commit 6f16c85

Browse files
committed
test coverage
1 parent de80fc7 commit 6f16c85

2 files changed

Lines changed: 64 additions & 0 deletions

File tree

internal/gitsemver/gitter_test.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,40 @@ func Test_DefaultGitter_GetHead(t *testing.T) {
579579
}
580580
}
581581

582+
func Test_DefaultGitter_ResetHard(t *testing.T) {
583+
repo := t.TempDir()
584+
runGit(t, repo, nil, "init", "-q")
585+
runGit(t, repo, nil, "config", "user.email", "test@example.com")
586+
runGit(t, repo, nil, "config", "user.name", "Test")
587+
commitAt(t, repo, "a.txt", "a\n", "c1", "2020-01-01T00:00:00Z")
588+
commitAt(t, repo, "a.txt", "a2\n", "c2", "2020-01-02T00:00:00Z")
589+
590+
previous := runGit(t, repo, nil, "rev-parse", "HEAD~1")
591+
592+
dg, err := gitsemver.NewDefaultGitter("git", nil)
593+
if err != nil {
594+
t.Fatal(err)
595+
}
596+
if err := dg.ResetHard(repo, previous); err != nil {
597+
t.Fatal(err)
598+
}
599+
600+
head := runGit(t, repo, nil, "rev-parse", "HEAD")
601+
if head != previous {
602+
t.Fatalf("expected HEAD %q after reset, got %q", previous, head)
603+
}
604+
content, err := os.ReadFile(filepath.Join(repo, "a.txt"))
605+
if err != nil {
606+
t.Fatal(err)
607+
}
608+
if string(content) != "a\n" {
609+
t.Fatalf("unexpected file content after reset: %q", string(content))
610+
}
611+
if status := runGit(t, repo, nil, "status", "--short"); status != "" {
612+
t.Fatalf("expected clean status after reset, got %q", status)
613+
}
614+
}
615+
582616
func Test_maybeSync(t *testing.T) {
583617
if f, err := os.CreateTemp("", ""); err == nil {
584618
defer os.Remove(f.Name())

main_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,36 @@ func TestExitCodeForError_FindsErrnoInJoinedError(t *testing.T) {
216216
}
217217
}
218218

219+
func TestMainFnVersion(t *testing.T) {
220+
flag.Parse()
221+
origVersion := *flagVersion
222+
defer func() { *flagVersion = origVersion }()
223+
224+
*flagVersion = true
225+
226+
origStdout := os.Stdout
227+
r, w, err := os.Pipe()
228+
if err != nil {
229+
t.Fatal(err)
230+
}
231+
os.Stdout = w
232+
code := mainfn()
233+
os.Stdout = origStdout
234+
_ = w.Close()
235+
out, err := io.ReadAll(r)
236+
_ = r.Close()
237+
if err != nil {
238+
t.Fatal(err)
239+
}
240+
if code != 0 {
241+
t.Fatalf("mainfn failed with code %d", code)
242+
}
243+
want := gitsemver.PkgName + " " + gitsemver.PkgVersion + "\n"
244+
if string(out) != want {
245+
t.Fatalf("unexpected version output %q want %q", string(out), want)
246+
}
247+
}
248+
219249
func TestMainFn(t *testing.T) {
220250
flag.Parse()
221251
oldWD, err := os.Getwd()

0 commit comments

Comments
 (0)