helper/args: variadic check function
All checks were successful
Test / Create distribution (push) Successful in 34s
Test / Sandbox (push) Successful in 1m30s
Test / Hakurei (push) Successful in 2m21s
Test / Hpkg (push) Successful in 3m23s
Test / Sandbox (race detector) (push) Successful in 4m1s
Test / Hakurei (race detector) (push) Successful in 4m46s
Test / Flake checks (push) Successful in 1m27s
All checks were successful
Test / Create distribution (push) Successful in 34s
Test / Sandbox (push) Successful in 1m30s
Test / Hakurei (push) Successful in 2m21s
Test / Hpkg (push) Successful in 3m23s
Test / Sandbox (race detector) (push) Successful in 4m1s
Test / Hakurei (race detector) (push) Successful in 4m46s
Test / Flake checks (push) Successful in 1m27s
This package turns out to be much less widely used than anticipated, and might be facing removal. This change makes test cases cleaner. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
parent
790d77075e
commit
048c1957f1
@ -35,7 +35,7 @@ func (a argsWt) String() string {
|
||||
}
|
||||
|
||||
// NewCheckedArgs returns a checked null-terminated argument writer for a copy of args.
|
||||
func NewCheckedArgs(args []string) (wt io.WriterTo, err error) {
|
||||
func NewCheckedArgs(args ...string) (wt io.WriterTo, err error) {
|
||||
a := make(argsWt, len(args))
|
||||
for i, arg := range args {
|
||||
a[i], err = syscall.ByteSliceFromString(arg)
|
||||
@ -49,8 +49,8 @@ func NewCheckedArgs(args []string) (wt io.WriterTo, err error) {
|
||||
|
||||
// MustNewCheckedArgs returns a checked null-terminated argument writer for a copy of args.
|
||||
// If s contains a NUL byte this function panics instead of returning an error.
|
||||
func MustNewCheckedArgs(args []string) io.WriterTo {
|
||||
a, err := NewCheckedArgs(args)
|
||||
func MustNewCheckedArgs(args ...string) io.WriterTo {
|
||||
a, err := NewCheckedArgs(args...)
|
||||
if err != nil {
|
||||
panic(err.Error())
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ func TestNewCheckedArgs(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
args := []string{"\x00"}
|
||||
if _, err := helper.NewCheckedArgs(args); !errors.Is(err, syscall.EINVAL) {
|
||||
if _, err := helper.NewCheckedArgs(args...); !errors.Is(err, syscall.EINVAL) {
|
||||
t.Errorf("NewCheckedArgs: error = %v, wantErr %v", err, syscall.EINVAL)
|
||||
}
|
||||
|
||||
@ -36,6 +36,6 @@ func TestNewCheckedArgs(t *testing.T) {
|
||||
t.Errorf("MustNewCheckedArgs: panic = %v, wantPanic %v", r, wantPanic)
|
||||
}
|
||||
}()
|
||||
helper.MustNewCheckedArgs(badPayload)
|
||||
helper.MustNewCheckedArgs(badPayload...)
|
||||
})
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ var (
|
||||
}
|
||||
|
||||
wantPayload = strings.Join(wantArgs, "\x00") + "\x00"
|
||||
argsWt = helper.MustNewCheckedArgs(wantArgs)
|
||||
argsWt = helper.MustNewCheckedArgs(wantArgs...)
|
||||
)
|
||||
|
||||
func argF(argsFd, statFd int) []string {
|
||||
|
@ -78,7 +78,7 @@ func Finalise(sessionBus, systemBus ProxyPair, session, system *hst.BusConfig) (
|
||||
|
||||
final = &Final{Session: sessionBus, System: systemBus}
|
||||
|
||||
final.WriterTo, err = helper.NewCheckedArgs(args)
|
||||
final.WriterTo, err = helper.NewCheckedArgs(args...)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
@ -181,7 +181,7 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
call("isVerbose", stub.ExpectArgs{}, true, nil),
|
||||
call("verbose", stub.ExpectArgs{[]any{"session bus proxy:", []string{"unix:path=/run/user/1000/bus", "/tmp/hakurei.0/99dd71ee2146369514e0d10783368f8f/bus", "--filter", "--talk=session\x00"}}}, nil, nil),
|
||||
call("verbose", stub.ExpectArgs{[]any{"system bus proxy:", []string{"unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/99dd71ee2146369514e0d10783368f8f/system_bus_socket", "--filter", "--talk=system\x00"}}}, nil, nil),
|
||||
call("verbose", stub.ExpectArgs{[]any{"message bus proxy final args:", helper.MustNewCheckedArgs([]string{"unique", "value", "0", "injected", "by", "the", "test", "suite"})}}, nil, nil),
|
||||
call("verbose", stub.ExpectArgs{[]any{"message bus proxy final args:", helper.MustNewCheckedArgs("unique", "value", "0", "injected", "by", "the", "test", "suite")}}, nil, nil),
|
||||
}}},
|
||||
})
|
||||
|
||||
@ -196,10 +196,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: false,
|
||||
}, &dbusProxyOp{final: &dbus.Final{
|
||||
Session: dbus.ProxyPair{"unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus"},
|
||||
@ -208,10 +208,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, false},
|
||||
|
||||
@ -222,10 +222,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1001/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, &dbusProxyOp{final: &dbus.Final{
|
||||
Session: dbus.ProxyPair{"unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus"},
|
||||
@ -234,10 +234,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, false},
|
||||
|
||||
@ -248,10 +248,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket\x00"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, &dbusProxyOp{final: &dbus.Final{
|
||||
Session: dbus.ProxyPair{"unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus"},
|
||||
@ -260,10 +260,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, false},
|
||||
|
||||
@ -274,10 +274,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1001/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, &dbusProxyOp{final: &dbus.Final{
|
||||
Session: dbus.ProxyPair{"unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus"},
|
||||
@ -286,10 +286,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, false},
|
||||
|
||||
@ -300,10 +300,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, &dbusProxyOp{final: &dbus.Final{
|
||||
Session: dbus.ProxyPair{"unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus"},
|
||||
@ -312,10 +312,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, false},
|
||||
|
||||
@ -326,10 +326,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, &dbusProxyOp{final: &dbus.Final{
|
||||
Session: dbus.ProxyPair{"unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus"},
|
||||
@ -338,10 +338,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, false},
|
||||
|
||||
@ -352,10 +352,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, &dbusProxyOp{final: &dbus.Final{
|
||||
Session: dbus.ProxyPair{"unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus"},
|
||||
@ -364,10 +364,10 @@ func TestDBusProxyOp(t *testing.T) {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"unix", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{
|
||||
WriterTo: helper.MustNewCheckedArgs(
|
||||
"--filter", "unix:path=/run/user/1000/bus", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/bus",
|
||||
"--filter", "unix:path=/run/dbus/system_bus_socket", "/tmp/hakurei.0/b186c281d9e83a39afdc66d964ef99c6/system_bus_socket",
|
||||
}),
|
||||
),
|
||||
}, system: true,
|
||||
}, true},
|
||||
})
|
||||
@ -387,7 +387,7 @@ func dbusNewFinalSample(v int) *dbus.Final {
|
||||
SessionUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/user/1000/bus"}}}},
|
||||
SystemUpstream: []dbus.AddrEntry{{Method: "unix", Values: [][2]string{{"path", "/run/dbus/system_bus_socket"}}}},
|
||||
|
||||
WriterTo: helper.MustNewCheckedArgs([]string{"unique", "value", strconv.Itoa(v), "injected", "by", "the", "test", "suite"}),
|
||||
WriterTo: helper.MustNewCheckedArgs("unique", "value", strconv.Itoa(v), "injected", "by", "the", "test", "suite"),
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user