1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-05-29 23:17:32 +02:00

Include demos when running integration tests on CI (#3640)

- **PR Description**

This includes the demos when using `make integration-test-all`, and
speeds them up a little bit when run in this way by disabling Wait calls
when running in headless mode.

This will guard against demos breaking when we make behavior changes, as
happened several times in the past (most recently in #3636.
This commit is contained in:
Stefan Haller 2024-06-05 15:00:25 +02:00 committed by GitHub
commit eef70dbdf6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 12 additions and 8 deletions

View File

@ -21,6 +21,7 @@ type GuiDriver struct {
gui *Gui
isIdleChan chan struct{}
toastChan chan string
headless bool
}
var _ integrationTypes.GuiDriver = &GuiDriver{}
@ -161,3 +162,7 @@ func (self *GuiDriver) NextToast() *string {
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(
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 {
return gocui.ErrQuit

View File

@ -45,12 +45,6 @@ func TestIntegration(t *testing.T) {
return
}
// not running demoes right now. Arguably we should, but we'd need to
// strip away any artificial lag they use.
if test.IsDemo() {
return
}
t.Run(test.Name(), func(t *testing.T) {
t.Parallel()
err := f()

View File

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

View File

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

View File

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