1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-15 01:34:26 +02:00

Don't wait in integration tests when running in headless mode

There's no point in spending time waiting in this case, as nobody can see it.
This commit is contained in:
Stefan Haller
2024-06-05 11:11:25 +02:00
parent 187a2f0cc2
commit 4f6d3fb592
5 changed files with 12 additions and 2 deletions

View File

@ -21,6 +21,7 @@ type GuiDriver struct {
gui *Gui gui *Gui
isIdleChan chan struct{} isIdleChan chan struct{}
toastChan chan string toastChan chan string
headless bool
} }
var _ integrationTypes.GuiDriver = &GuiDriver{} var _ integrationTypes.GuiDriver = &GuiDriver{}
@ -161,3 +162,7 @@ func (self *GuiDriver) NextToast() *string {
return nil return nil
} }
} }
func (self *GuiDriver) Headless() bool {
return self.headless
}

View File

@ -38,7 +38,7 @@ func (gui *Gui) handleTestMode() {
gui.PopupHandler.(*popup.PopupHandler).SetToastFunc( gui.PopupHandler.(*popup.PopupHandler).SetToastFunc(
func(message string, kind types.ToastKind) { toastChan <- message }) func(message string, kind types.ToastKind) { toastChan <- message })
test.Run(&GuiDriver{gui: gui, isIdleChan: isIdleChan, toastChan: toastChan}) test.Run(&GuiDriver{gui: gui, isIdleChan: isIdleChan, toastChan: toastChan, headless: Headless()})
gui.g.Update(func(*gocui.Gui) error { gui.g.Update(func(*gocui.Gui) error {
return gocui.ErrQuit return gocui.ErrQuit

View File

@ -84,6 +84,8 @@ func (self *fakeGuiDriver) NextToast() *string {
func (self *fakeGuiDriver) CheckAllToastsAcknowledged() {} func (self *fakeGuiDriver) CheckAllToastsAcknowledged() {}
func (self *fakeGuiDriver) Headless() bool { return false }
func TestManualFailure(t *testing.T) { func TestManualFailure(t *testing.T) {
test := NewIntegrationTest(NewIntegrationTestArgs{ test := NewIntegrationTest(NewIntegrationTestArgs{
Description: unitTestDescription, Description: unitTestDescription,

View File

@ -601,7 +601,9 @@ func (self *ViewDriver) SetCaptionPrefix(prefix string) *ViewDriver {
} }
func (self *ViewDriver) Wait(milliseconds int) *ViewDriver { func (self *ViewDriver) Wait(milliseconds int) *ViewDriver {
self.t.Wait(milliseconds) if !self.t.gui.Headless() {
self.t.Wait(milliseconds)
}
return self return self
} }

View File

@ -46,4 +46,5 @@ type GuiDriver interface {
// Pop the next toast that was displayed; returns nil if there was none // Pop the next toast that was displayed; returns nil if there was none
NextToast() *string NextToast() *string
CheckAllToastsAcknowledged() CheckAllToastsAcknowledged()
Headless() bool
} }