add tests for go config parser

This commit is contained in:
Jake Stewart
2023-09-03 16:39:27 +08:00
parent 0aa4c850ba
commit 8754d80832
2 changed files with 27 additions and 4 deletions

View File

@@ -47,6 +47,24 @@ func TestSSHConfigParsing(t *testing.T) {
rt()
conf = "env a=b"
rt(`export 'a'="b"`)
conf = "env a=\\"
rt(`export 'a'="\\"`)
conf = `env
\ a=
\\`
conf = "env\n \t \\ a=\n\\\\"
rt(`export 'a'="\\"`)
conf = `
e
\n
\v
\ a
\=
\\
\`
rt(`export 'a'="\\"`)
conf = "env a=b\nhostname 2\nenv a=c\nenv b=b"
rt(`export 'a'="b"`)
hostname = "2"

View File

@@ -19,13 +19,18 @@ func TestConfigParsing(t *testing.T) {
os.Mkdir(filepath.Join(tdir, "sub"), 0o700)
os.WriteFile(conf_file, []byte(
`error main
# ignore me
# igno
\re me
a one
#: other
include sub/b.conf
include
\ sub/b.conf
b
include non-existent
globinclude sub/c?.conf
include non-exis
\tent
globin
\clude sub/c?.c
\onf
`), 0o600)
os.WriteFile(filepath.Join(tdir, "sub/b.conf"), []byte("incb cool\ninclude a.conf"), 0o600)
os.WriteFile(filepath.Join(tdir, "sub/c1.conf"), []byte("inc1 cool"), 0o600)