Bug #43172 MTR leaves test files in /tmp after check_socket_path_length finds path too long
Faulty logic in cleanup Put test file into tmpdir, cleanup by removing tmpdir
This commit is contained in:
parent
6bd93f6702
commit
e0c6aad83a
@ -113,8 +113,8 @@ sub check_socket_path_length {
|
|||||||
|
|
||||||
# Create a tempfile name with same length as "path"
|
# Create a tempfile name with same length as "path"
|
||||||
my $tmpdir = tempdir( CLEANUP => 0);
|
my $tmpdir = tempdir( CLEANUP => 0);
|
||||||
my $len = length($path) - length($tmpdir);
|
my $len = length($path) - length($tmpdir) - 1;
|
||||||
my $testfile = $tmpdir . "x" x ($len > 0 ? $len : 1);
|
my $testfile = $tmpdir . "/" . "x" x ($len > 0 ? $len : 1);
|
||||||
my $sock;
|
my $sock;
|
||||||
eval {
|
eval {
|
||||||
$sock= new IO::Socket::UNIX
|
$sock= new IO::Socket::UNIX
|
||||||
@ -126,17 +126,15 @@ sub check_socket_path_length {
|
|||||||
die "Could not create UNIX domain socket: $!"
|
die "Could not create UNIX domain socket: $!"
|
||||||
unless defined $sock;
|
unless defined $sock;
|
||||||
|
|
||||||
die "UNIX domain socket patch was truncated"
|
die "UNIX domain socket path was truncated"
|
||||||
unless ($testfile eq $sock->hostpath());
|
unless ($testfile eq $sock->hostpath());
|
||||||
|
|
||||||
$truncated= 0; # Yes, it worked!
|
$truncated= 0; # Yes, it worked!
|
||||||
|
|
||||||
};
|
};
|
||||||
#print "check_socket_path_length, failed: ", $@, '\n' if ($@);
|
|
||||||
|
|
||||||
$sock= undef; # Close socket
|
$sock= undef; # Close socket
|
||||||
unlink($testfile); # Remove the physical file
|
rmtree($tmpdir); # Remove the tempdir and any socket file created
|
||||||
rmdir($tmpdir); # Remove the tempdir
|
|
||||||
return $truncated;
|
return $truncated;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user