diff options
Diffstat (limited to 'test/lib/Exim/Runtest.pm')
-rw-r--r-- | test/lib/Exim/Runtest.pm | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/lib/Exim/Runtest.pm b/test/lib/Exim/Runtest.pm new file mode 100644 index 000000000..2ac9a61ee --- /dev/null +++ b/test/lib/Exim/Runtest.pm @@ -0,0 +1,28 @@ +package Exim::Runtest; +use strict; +use warnings; +use Carp; + +use List::Util qw'shuffle'; + + +# find a group name, preferrable 'mail', but +# use some other random name if 'mail' isn't a valid group +# name +sub mailgroup { + my $group = shift; + + croak "Need a group *name*, not a numeric group id." + if $group =~ /^\d+$/; + + return $group if getgrnam $group; + + my @groups; + setgrent or die "setgrent: $!\n"; + push @groups, $_ while defined($_ = getgrent); + endgrent; + return (shuffle @groups)[0]; +}; + + +1; |