summaryrefslogtreecommitdiff
path: root/src/Script
diff options
context:
space:
mode:
Diffstat (limited to 'src/Script')
-rw-r--r--src/Script/Shell.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Script/Shell.hs b/src/Script/Shell.hs
index b00dc5f..5c70f2a 100644
--- a/src/Script/Shell.hs
+++ b/src/Script/Shell.hs
@@ -20,6 +20,7 @@ import System.IO
import System.Process hiding (ShellCommand)
import Network
+import Network.Ip
import Output
import Process
import Run.Monad
@@ -37,6 +38,7 @@ newtype ShellScript = ShellScript [ ShellStatement ]
executeScript :: Node -> ProcName -> MVar ExitCode -> Handle -> Handle -> Handle -> ShellScript -> TestRun ()
executeScript node pname statusVar pstdin pstdout pstderr (ShellScript statements) = do
+ setNetworkNamespace $ getNetns node
forM_ statements $ \ShellStatement {..} -> case shellCommand of
"echo" -> liftIO $ do
T.hPutStrLn pstdout $ T.intercalate " " shellArguments
@@ -65,7 +67,7 @@ spawnShell procNode procName script = do
( pstdin, procStdin ) <- liftIO $ createPipe
( hout, pstdout ) <- liftIO $ createPipe
( herr, pstderr ) <- liftIO $ createPipe
- procHandle <- fmap (Right . (, statusVar)) $ forkTest $ do
+ procHandle <- fmap (Right . (, statusVar)) $ forkTestUsing forkOS $ do
executeScript procNode procName statusVar pstdin pstdout pstderr script
let procKillWith = Nothing