Skip to content

Commit 89d3685

Browse files
committed
Add test for -version-string flag
1 parent f3d82d4 commit 89d3685

4 files changed

Lines changed: 14 additions & 8 deletions

File tree

main_test.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -417,13 +417,14 @@ stringer [flags] -type T files...`,
417417
}
418418
}
419419

420-
func setup(t *testing.T) string {
420+
func setup(t *testing.T, args ...string) string {
421421
t.Helper()
422422
prevArgs := os.Args
423423
t.Cleanup(func() { os.Args = prevArgs })
424424
tmp := t.TempDir()
425425
out := filepath.Join(tmp, "out")
426-
os.Args = []string{"gohelp2man", "-output", out, "testdata/test.sh"}
426+
os.Args = append([]string{"gohelp2man"}, args...)
427+
os.Args = append(os.Args, "-output", out, "testdata/test.sh")
427428
return out
428429
}
429430

@@ -437,9 +438,12 @@ func TestFull(t *testing.T) {
437438
for _, c := range cases {
438439
t.Run(c, func(t *testing.T) {
439440
basename := filepath.Join("testdata", "test_full_"+c)
440-
out := setup(t)
441-
last := len(os.Args) - 1
442-
os.Args = append(os.Args[:last], "-opt-include", basename+".h2m", os.Args[last])
441+
args := []string{"-opt-include", basename + ".h2m"}
442+
if strargs, err := os.ReadFile(basename + ".args"); err == nil {
443+
f := func(r rune) bool { return r == '\n' || r == '\r' }
444+
args = append(args, strings.FieldsFunc(string(strargs), f)...)
445+
}
446+
out := setup(t, args...)
443447
t.Setenv("GOHELP2MAN_TESTCASE", basename+".txt")
444448
t.Setenv("SOURCE_DATE_EPOCH", "0")
445449
main()

testdata/test_full_escapes.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
.\" Generated by gohelp2man (devel); DO NOT EDIT.
2-
.TH .BR\(dqCMD 1 1970-01-01 ".br\(dqcmd"
2+
.TH .BR\(dqCMD 1 1970-01-01 ".br\(dqcmd v3.1.0\-beta.1"
33
.SH NAME
44
\&.br"cmd \- command that contains a double quote and starts with a dot
55
.SH SYNOPSIS

testdata/test_full_escapes.args

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-version-string
2+
v3.1.0-beta.1

testdata/update.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22
export SOURCE_DATE_EPOCH=0
3-
set -x
43
for f in testdata/test_full_*.txt
54
do
6-
GOHELP2MAN_TESTCASE=$f go run . -opt-include "${f%.txt}.h2m" "testdata/test.sh" > "${f%.txt}.1"
5+
cat "${f%.txt}.args" 2> /dev/null \
6+
| xargs -d'\n' sh -x -c "GOHELP2MAN_TESTCASE=$f go run . -opt-include ${f%.txt}.h2m \"\$@\" testdata/test.sh" "go" > "${f%.txt}.1"
77
done

0 commit comments

Comments
 (0)