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 /system/dbus/dbus_test.go | |
| 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 'system/dbus/dbus_test.go')
| -rw-r--r-- | system/dbus/dbus_test.go | 97 |
1 files changed, 41 insertions, 56 deletions
diff --git a/system/dbus/dbus_test.go b/system/dbus/dbus_test.go index 299a4637..abe324ba 100644 --- a/system/dbus/dbus_test.go +++ b/system/dbus/dbus_test.go @@ -65,7 +65,7 @@ func TestProxyStartWaitCloseString(t *testing.T) { } const ( - stubProxyTimeout = 30 * time.Second + stubProxyTimeout = 5 * time.Second ) func testProxyFinaliseStartWaitCloseString(t *testing.T, useSandbox bool) { @@ -99,8 +99,7 @@ func testProxyFinaliseStartWaitCloseString(t *testing.T, useSandbox bool) { } if err := p.Start(); !errors.Is(err, syscall.ENOTRECOVERABLE) { - t.Errorf("Start: error = %q, wantErr %q", - err, syscall.ENOTRECOVERABLE) + t.Errorf("Start: error = %q, wantErr %q", err, syscall.ENOTRECOVERABLE) return } }) @@ -115,71 +114,57 @@ func testProxyFinaliseStartWaitCloseString(t *testing.T, useSandbox bool) { var final *dbus.Final t.Run("finalise", func(t *testing.T) { if v, err := dbus.Finalise(tc[0].bus, tc[1].bus, tc[0].c, tc[1].c); err != nil { - t.Errorf("Finalise: error = %v, wantErr %v", - err, tc[0].wantErr) + t.Errorf("Finalise: error = %v, wantErr %v", err, tc[0].wantErr) return } else { final = v } }) - t.Run("run", func(t *testing.T) { - ctx, cancel := context.WithTimeout(t.Context(), stubProxyTimeout) - defer cancel() - output := new(strings.Builder) - if !useSandbox { - p = dbus.NewDirect(ctx, message.NewMsg(nil), final, output) - } else { - p = dbus.New(ctx, message.NewMsg(nil), final, output) + ctx, cancel := context.WithTimeout(t.Context(), stubProxyTimeout) + defer cancel() + output := new(strings.Builder) + if !useSandbox { + p = dbus.NewDirect(ctx, message.NewMsg(nil), final, output) + } else { + p = dbus.New(ctx, message.NewMsg(nil), final, output) + } + + { // check invalid wait behaviour + wantErr := "dbus: not started" + if err := p.Wait(); err == nil || err.Error() != wantErr { + t.Errorf("Wait: error = %v, wantErr %v", err, wantErr) } + } - t.Run("invalid wait", func(t *testing.T) { - wantErr := "dbus: not started" - if err := p.Wait(); err == nil || err.Error() != wantErr { - t.Errorf("Wait: error = %v, wantErr %v", - err, wantErr) - } - }) + { // check string behaviour + want := "(unused dbus proxy)" + if got := p.String(); got != want { + t.Errorf("String: %q, want %q", got, want) + return + } + } - t.Run("string", func(t *testing.T) { - want := "(unused dbus proxy)" - if got := p.String(); got != want { - t.Errorf("String: %q, want %q", - got, want) - return - } - }) + if err := p.Start(); err != nil { + t.Fatalf("Start: error = %v", err) + } - if err := p.Start(); err != nil { - t.Fatalf("Start: error = %v", - err) + { // check running string behaviour + wantSubstr := fmt.Sprintf("%s --args=3 --fd=4", os.Args[0]) + if useSandbox { + wantSubstr = `argv: ["xdg-dbus-proxy" "--args=3" "--fd=4"], filter: true, rules: 0, flags: 0x1, presets: 0xf` } + if got := p.String(); !strings.Contains(got, wantSubstr) { + t.Errorf("String: %q, want %q", + got, wantSubstr) + return + } + } - t.Run("string", func(t *testing.T) { - wantSubstr := fmt.Sprintf("%s --args=3 --fd=4", os.Args[0]) - if useSandbox { - wantSubstr = `argv: ["xdg-dbus-proxy" "--args=3" "--fd=4"], filter: true, rules: 0, flags: 0x1, presets: 0xf` - } - if got := p.String(); !strings.Contains(got, wantSubstr) { - t.Errorf("String: %q, want %q", - got, wantSubstr) - return - } - }) - - t.Run("wait", func(t *testing.T) { - done := make(chan struct{}) - go func() { - if err := p.Wait(); err != nil { - t.Errorf("Wait: error = %v\noutput: %s", - err, output.String()) - } - close(done) - }() - p.Close() - <-done - }) - }) + p.Close() + if err := p.Wait(); err != nil { + t.Errorf("Wait: error = %v\noutput: %s", err, output.String()) + } }) } } |
