mirror of https://github.com/liamg/aminal.git
Decouple vttest tests from user's config
The screen capture tests were failing on my machine because the screen capture based vttest tests were using my personal config in ~/.config/aminal/config.toml. This had different colours and a fixed DPI scaling factor which mean the screen captures didn't match. The sixel tests were also failing because my login shell is a highly customised zsh. A static test config is now passed by the vttest tests and the shell is set to "/bin/sh" on Linux, OSX etc to help avoid problems due to differences between shells and shell configs.
This commit is contained in:
parent
93bf686b9d
commit
31a1147d81
|
@ -22,6 +22,13 @@ func getActuallyProvidedFlags() map[string]bool {
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func maybeGetConfig(override *config.Config) *config.Config {
|
||||||
|
if override != nil {
|
||||||
|
return override
|
||||||
|
}
|
||||||
|
return getConfig()
|
||||||
|
}
|
||||||
|
|
||||||
func getConfig() *config.Config {
|
func getConfig() *config.Config {
|
||||||
showVersion := false
|
showVersion := false
|
||||||
ignoreConfig := false
|
ignoreConfig := false
|
||||||
|
|
8
main.go
8
main.go
|
@ -7,6 +7,7 @@ import (
|
||||||
"runtime"
|
"runtime"
|
||||||
"runtime/pprof"
|
"runtime/pprof"
|
||||||
|
|
||||||
|
"github.com/liamg/aminal/config"
|
||||||
"github.com/liamg/aminal/gui"
|
"github.com/liamg/aminal/gui"
|
||||||
"github.com/liamg/aminal/platform"
|
"github.com/liamg/aminal/platform"
|
||||||
"github.com/liamg/aminal/terminal"
|
"github.com/liamg/aminal/terminal"
|
||||||
|
@ -20,11 +21,12 @@ func init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
initialize(nil)
|
initialize(nil, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func initialize(unitTestfunc callback) {
|
func initialize(unitTestfunc callback, configOverride *config.Config) {
|
||||||
conf := getConfig()
|
conf := maybeGetConfig(configOverride)
|
||||||
|
|
||||||
logger, err := getLogger(conf)
|
logger, err := getLogger(conf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Failed to create logger: %s\n", err)
|
fmt.Printf("Failed to create logger: %s\n", err)
|
||||||
|
|
19
main_test.go
19
main_test.go
|
@ -6,10 +6,12 @@ import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/liamg/aminal/config"
|
||||||
"github.com/liamg/aminal/gui"
|
"github.com/liamg/aminal/gui"
|
||||||
"github.com/liamg/aminal/terminal"
|
"github.com/liamg/aminal/terminal"
|
||||||
|
|
||||||
|
@ -123,7 +125,7 @@ func TestCursorMovement(t *testing.T) {
|
||||||
g.Close()
|
g.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
initialize(testFunc)
|
initialize(testFunc, testConfig())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,7 +161,7 @@ func TestScreenFeatures(t *testing.T) {
|
||||||
g.Close()
|
g.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
initialize(testFunc)
|
initialize(testFunc, testConfig())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,7 +186,7 @@ func TestSixel(t *testing.T) {
|
||||||
g.Close()
|
g.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
initialize(testFunc)
|
initialize(testFunc, testConfig())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -192,3 +194,14 @@ func TestSixel(t *testing.T) {
|
||||||
func TestExit(t *testing.T) {
|
func TestExit(t *testing.T) {
|
||||||
os.Exit(0)
|
os.Exit(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testConfig() *config.Config {
|
||||||
|
c := config.DefaultConfig()
|
||||||
|
|
||||||
|
// Use a vanilla shell on POSIX to help ensure consistency.
|
||||||
|
if runtime.GOOS != "windows" {
|
||||||
|
c.Shell = "/bin/sh"
|
||||||
|
}
|
||||||
|
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue