aboutsummaryrefslogtreecommitdiffhomepage
path: root/system/dbus/dbus_test.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-10-13 04:38:48 +0900
committerOphestra <cat@gensokyo.uk>2025-10-13 04:38:48 +0900
commit7638a44fa613f23434318bdf136723aa010e8638 (patch)
tree7b5270ed4e9b6d7f1ee0f28c58d8077aa1d18005 /system/dbus/dbus_test.go
parenta14b6535a66cb7ac0fc4827f767ffaee0ce04b57 (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.go97
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())
+ }
})
}
}