diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-10-13 04:38:48 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-10-13 04:38:48 +0900 |
| commit | 7638a44fa613f23434318bdf136723aa010e8638 (patch) | |
| tree | 7b5270ed4e9b6d7f1ee0f28c58d8077aa1d18005 /cmd | |
| parent | a14b6535a66cb7ac0fc4827f767ffaee0ce04b57 (diff) | |
treewide: parallel tests
Most tests already had no global state, however parallel was never enabled. This change enables it for all applicable tests.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/hakurei/command_test.go | 4 | ||||
| -rw-r--r-- | cmd/hakurei/print_test.go | 8 | ||||
| -rw-r--r-- | cmd/hsu/parse_test.go | 22 |
3 files changed, 32 insertions, 2 deletions
diff --git a/cmd/hakurei/command_test.go b/cmd/hakurei/command_test.go index d29485de..66960d9f 100644 --- a/cmd/hakurei/command_test.go +++ b/cmd/hakurei/command_test.go @@ -11,6 +11,8 @@ import ( ) func TestHelp(t *testing.T) { + t.Parallel() + testCases := []struct { name string args []string @@ -68,6 +70,8 @@ Flags: } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { + t.Parallel() + out := new(bytes.Buffer) c := buildCommand(t.Context(), message.NewMsg(nil), new(earlyHardeningErrs), out) if err := c.Parse(tc.args); !errors.Is(err, command.ErrHelp) && !errors.Is(err, flag.ErrHelp) { diff --git a/cmd/hakurei/print_test.go b/cmd/hakurei/print_test.go index c38b7310..a0bb198c 100644 --- a/cmd/hakurei/print_test.go +++ b/cmd/hakurei/print_test.go @@ -27,6 +27,8 @@ var ( ) func TestPrintShowInstance(t *testing.T) { + t.Parallel() + testCases := []struct { name string instance *state.State @@ -487,6 +489,8 @@ App for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { + t.Parallel() + output := new(strings.Builder) gotValid := printShowInstance(output, testTime, tc.instance, tc.config, tc.short, tc.json) if got := output.String(); got != tc.want { @@ -501,6 +505,8 @@ App } func TestPrintPs(t *testing.T) { + t.Parallel() + testCases := []struct { name string entries state.Entries @@ -698,6 +704,8 @@ func TestPrintPs(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { + t.Parallel() + output := new(strings.Builder) printPs(output, testTime, stubStore(tc.entries), tc.short, tc.json) if got := output.String(); got != tc.want { diff --git a/cmd/hsu/parse_test.go b/cmd/hsu/parse_test.go index d5d39467..0fbf8a15 100644 --- a/cmd/hsu/parse_test.go +++ b/cmd/hsu/parse_test.go @@ -6,32 +6,46 @@ import ( "testing" ) -func Test_parseUint32Fast(t *testing.T) { +func TestParseUint32Fast(t *testing.T) { + t.Parallel() + t.Run("zero-length", func(t *testing.T) { + t.Parallel() + if _, err := parseUint32Fast(""); err == nil || err.Error() != "zero length string" { t.Errorf(`parseUint32Fast(""): error = %v`, err) return } }) + t.Run("overflow", func(t *testing.T) { + t.Parallel() + if _, err := parseUint32Fast("10000000000"); err == nil || err.Error() != "string too long" { t.Errorf("parseUint32Fast: error = %v", err) return } }) + t.Run("invalid byte", func(t *testing.T) { + t.Parallel() + if _, err := parseUint32Fast("meow"); err == nil || err.Error() != "invalid character 'm' at index 0" { t.Errorf(`parseUint32Fast("meow"): error = %v`, err) return } }) + t.Run("full range", func(t *testing.T) { + t.Parallel() + testRange := func(i, end int) { for ; i < end; i++ { s := strconv.Itoa(i) w := i t.Run("parse "+s, func(t *testing.T) { t.Parallel() + v, err := parseUint32Fast(s) if err != nil { t.Errorf("parseUint32Fast(%q): error = %v", @@ -55,7 +69,9 @@ func Test_parseUint32Fast(t *testing.T) { }) } -func Test_parseConfig(t *testing.T) { +func TestParseConfig(t *testing.T) { + t.Parallel() + testCases := []struct { name string puid, want int @@ -71,6 +87,8 @@ func Test_parseConfig(t *testing.T) { for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { + t.Parallel() + fid, ok, err := parseConfig(bytes.NewBufferString(tc.rc), tc.puid) if err == nil && tc.wantErr != "" { t.Errorf("parseConfig: error = %v; wantErr %q", |
