Improve handling with system state
- Always unlink $cmd after exit via END block. - The tests don't function well if kern.geom.debugflags != 0. Save debugflags, then restore them at the end of the test. MFC after: 1 month Sponsored by: Dell EMC Isilon
This commit is contained in:
parent
990e7dcfdc
commit
22184bfa63
@ -144,7 +144,17 @@ my $out = basename($cmd) . ".out";
|
||||
# Make sure we have permission to use gctl...
|
||||
if (`$cmd` =~ "^FAIL Permission denied") {
|
||||
print "1..0 # SKIP insufficient permissions\n";
|
||||
unlink $cmd;
|
||||
exit 0;
|
||||
}
|
||||
|
||||
my $debugflags_oid = 'kern.geom.debugflags';
|
||||
chomp(my $old_geom_debugflags = `sysctl -n $debugflags_oid`);
|
||||
if ($? != 0) {
|
||||
print "1..0 # SKIP could not query $debugflags_oid\n";
|
||||
exit 0;
|
||||
}
|
||||
if (system("sysctl $debugflags_oid=0") != 0) {
|
||||
print "1..0 # SKIP could not set $debugflags_oid=0\n";
|
||||
exit 0;
|
||||
}
|
||||
|
||||
@ -227,4 +237,7 @@ foreach my $key (sort keys %steps) {
|
||||
}
|
||||
$nr += 1;
|
||||
}
|
||||
exit 0;
|
||||
END {
|
||||
system("sysctl $debugflags_oid=$old_geom_debugflags");
|
||||
unlink($cmd);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user