This might be an old feature, but anyway...
adduser -g staff test
doesn't change /etc/group if the group staff already exists.
The correct way is to add the user is to use:
adduser -g staff -G staff test.
Now, the member list in 'staff' is updated.
But isn't this a bit redundant? If you specify '-g' you should expect
add it to the group too.
A user's primary group (the one in /etc/passwd) should not also be listed in the
group file. The group file user list is only for listing the secondary groups
At least, this is how I understand it to work, based on experience with HP-UX,
Solaris and Linux. I could be wrong.
The behavior of "-g" is consistent with the documention. Won't change
because this will break too many things.