From 8ce0412a8f7fe17a5bd4a3f91df6cdcdc8c96e5b Mon Sep 17 00:00:00 2001 From: Ryan Voots Date: Sun, 21 May 2017 09:40:02 -0700 Subject: [PATCH] Return $? back safely --- lib/Sys/Linux/Namespace.pm | 4 +--- t/02-namespace.t | 5 ++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/Sys/Linux/Namespace.pm b/lib/Sys/Linux/Namespace.pm index 969976e..ae0b278 100644 --- a/lib/Sys/Linux/Namespace.pm +++ b/lib/Sys/Linux/Namespace.pm @@ -124,12 +124,10 @@ sub run { croak "Run must be given a codref to run" unless ref $code eq "CODE"; $self->pre_setup(%args); - $self->_subprocess(sub { + return $self->_subprocess(sub { $self->post_setup(%args); $code->(%args); }, %args); - - return 1; } 1; diff --git a/t/02-namespace.t b/t/02-namespace.t index 7dd6331..5a9a8d9 100644 --- a/t/02-namespace.t +++ b/t/02-namespace.t @@ -5,11 +5,9 @@ BEGIN { use Test::More; use Test::SharedFork; -# test 1 use Sys::Linux::Namespace; $Sys::Linux::Namespace::debug = 1; -# test 2 SKIP: { skip "Need to be root to run test", 5 unless $< == 0; ok(my $namespace = Sys::Linux::Namespace->new(private_tmp => 1), "Setup object"); @@ -25,7 +23,8 @@ SKIP: { is_deeply([grep {m|/proc/\d+/|} glob '/proc/*/'], ['/proc/1/'], "Only /proc/1/ exists"); }); - ok($ret, "run code in sandbox"); + # namespace process exited cleanly + ok($ret == 0, "run code in sandbox"); alarm(5); $pid_ns->run(code => sub {