]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-execute: support case that the games user in multiple groups 39905/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 2 Dec 2025 21:59:31 +0000 (06:59 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 7 Dec 2025 00:10:32 +0000 (09:10 +0900)
On Alpine/postmarketOS,
```
$ id -nG games
games users
```

test/test-execute/exec-dynamicuser-fixeduser-games.service

index 29b712c9aa1f7491784e3de8103c92759661aecc..60435897450f2b5ef93d6b93fd12ee37eadb8049 100644 (file)
@@ -2,12 +2,13 @@
 [Unit]
 Description=Test DynamicUser with static User= whose uid and gid are different
 # On Ubuntu or Debian, user games has uid==5 and gid==60.
+# On Alpine/postmarketOS, the user 'games' in the 'games' and 'users' groups.
 
 [Service]
 Type=oneshot
-ExecStart=bash -x -c 'test "$$(id -nG)" = "games" && test "$$(id -ng)" = "games" && test "$$(id -nu)" = "games"'
+ExecStart=bash -x -c '[[ "$$(id -nG)" =~ "games" ]] && test "$$(id -ng)" = "games" && test "$$(id -nu)" = "games"'
 # Multiple ExecStart= lines causes the issue #9702.
-ExecStart=bash -x -c 'test "$$(id -nG)" = "games" && test "$$(id -ng)" = "games" && test "$$(id -nu)" = "games"'
+ExecStart=bash -x -c '[[ "$$(id -nG)" =~ "games" ]] && test "$$(id -ng)" = "games" && test "$$(id -nu)" = "games"'
 DynamicUser=yes
 User=games
 ReadWritePaths=-/coverage