41 lines
919 B
Go
41 lines
919 B
Go
package helper_test
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"strings"
|
|
"testing"
|
|
|
|
"git.gensokyo.uk/security/fortify/helper"
|
|
)
|
|
|
|
func Test_argsFD_String(t *testing.T) {
|
|
wantString := strings.Join(wantArgs, " ")
|
|
if got := argsWt.(fmt.Stringer).String(); got != wantString {
|
|
t.Errorf("String(): got %v; want %v",
|
|
got, wantString)
|
|
}
|
|
}
|
|
|
|
func TestNewCheckedArgs(t *testing.T) {
|
|
args := []string{"\x00"}
|
|
if _, err := helper.NewCheckedArgs(args); !errors.Is(err, helper.ErrContainsNull) {
|
|
t.Errorf("NewCheckedArgs(%q) error = %v, wantErr %v",
|
|
args,
|
|
err, helper.ErrContainsNull)
|
|
}
|
|
|
|
t.Run("must panic", func(t *testing.T) {
|
|
badPayload := []string{"\x00"}
|
|
defer func() {
|
|
wantPanic := "argument contains null character"
|
|
if r := recover(); r != wantPanic {
|
|
t.Errorf("MustNewCheckedArgs(%q) panic = %v, wantPanic %v",
|
|
badPayload,
|
|
r, wantPanic)
|
|
}
|
|
}()
|
|
helper.MustNewCheckedArgs(badPayload)
|
|
})
|
|
}
|