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
In reply to Testing for group or world writable files by neilwatson
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |