neilwatson has asked for the wisdom of the Perl Monks concerning the following question:
Brethren,
I want to test if a file is writable by the group or world. What I tried is below, but test three fails unexpectedly
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use feature 'say'; use Test::More; use File::stat; my $file = $ARGV[0]; my $sb = stat( $file ); my $mode = $sb->mode & 0777; warn "mode of [$file] is [$mode]"; ok( -O $file, "File owned by real uid" ); ok( -f $file, "File is a plain file" ); ok( ! $mode & 022, "File is not group or world writable" ); done_testing; # Results in: mode of [/etc/passwd] is [420] at ./foo.pl line 14. not ok 1 - File owned by real uid # Failed test 'File owned by real uid' # at ./foo.pl line 16. ok 2 - File is a plain file not ok 3 - File is not group or world writable # Failed test 'File is not group or world writable' # at ./foo.pl line 18. 1..3 # Looks like you failed 2 tests of 3.
Neil Watson
watson-wilson.ca
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Testing for group or world writable files
by Loops (Curate) on Jul 07, 2015 at 01:34 UTC | |
by choroba (Cardinal) on Jul 07, 2015 at 08:41 UTC | |
Re: Testing for group or world writable files
by stevieb (Canon) on Jul 07, 2015 at 01:28 UTC | |
Re: Testing for group or world writable files
by kcott (Archbishop) on Jul 07, 2015 at 13:48 UTC | |
Re: Testing for group or world writable files
by Anonymous Monk on Jul 07, 2015 at 01:52 UTC |