detached 89fd514

test(e2e): use requireGit so CI cannot skip the Git tests

commit
89fd514a218935cad6e85258b60e047a06c002b2
author
brice · · 2026-10-10 07:11 UTC
parent
b0a4fdf
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
2 files · +2 -8
M cmd/ermite/e2e_helpers_test.go +1 -4
@@ -48,10 +48,7 @@ type harnessOpts struct {
4848 // lives in it and Unix socket paths are limited to about 100 bytes.
4949 func newHarness(t *testing.T, o harnessOpts) *harness {
5050 t.Helper()
51- gitBin, err := exec.LookPath("git")
52- if err != nil {
53- t.Skip("git not found")
54- }
51+ gitBin := requireGit(t)
5552 data, err := os.MkdirTemp("", "ermite")
5653 require.NoError(t, err)
5754 t.Cleanup(func() { _ = os.RemoveAll(data) })
@@ -48,10 +48,7 @@ type harnessOpts struct {
48 // lives in it and Unix socket paths are limited to about 100 bytes.48 // lives in it and Unix socket paths are limited to about 100 bytes.
49 func newHarness(t *testing.T, o harnessOpts) *harness {49 func newHarness(t *testing.T, o harnessOpts) *harness {
50 t.Helper()50 t.Helper()
51- gitBin, err := exec.LookPath("git")51+ gitBin := requireGit(t)
52- if err != nil {
53- t.Skip("git not found")
54- }
55 data, err := os.MkdirTemp("", "ermite")52 data, err := os.MkdirTemp("", "ermite")
56 require.NoError(t, err)53 require.NoError(t, err)
57 t.Cleanup(func() { _ = os.RemoveAll(data) })54 t.Cleanup(func() { _ = os.RemoveAll(data) })
M cmd/ermite/e2e_test.go +1 -4
@@ -691,10 +691,7 @@ func TestFsckRejectsMalformedObjects(t *testing.T) {
691691 // The built binary end to end: `ermite serve` as a process, its hook scripts
692692 // exec'ing the same binary, and a real git client pushing and cloning.
693693 func TestBuiltBinaryPushAndClone(t *testing.T) {
694- gitBin, err := exec.LookPath("git")
695- if err != nil {
696- t.Skip("git not found")
697- }
694+ gitBin := requireGit(t)
698695 data, err := os.MkdirTemp("", "ermite")
699696 require.NoError(t, err)
700697 t.Cleanup(func() { _ = os.RemoveAll(data) })
@@ -691,10 +691,7 @@ func TestFsckRejectsMalformedObjects(t *testing.T) {
691 // The built binary end to end: `ermite serve` as a process, its hook scripts691 // The built binary end to end: `ermite serve` as a process, its hook scripts
692 // exec'ing the same binary, and a real git client pushing and cloning.692 // exec'ing the same binary, and a real git client pushing and cloning.
693 func TestBuiltBinaryPushAndClone(t *testing.T) {693 func TestBuiltBinaryPushAndClone(t *testing.T) {
694- gitBin, err := exec.LookPath("git")694+ gitBin := requireGit(t)
695- if err != nil {
696- t.Skip("git not found")
697- }
698 data, err := os.MkdirTemp("", "ermite")695 data, err := os.MkdirTemp("", "ermite")
699 require.NoError(t, err)696 require.NoError(t, err)
700 t.Cleanup(func() { _ = os.RemoveAll(data) })697 t.Cleanup(func() { _ = os.RemoveAll(data) })

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 45

↑↓ moveenter openesc close