From 23f206cf1fa9e4e9398aba47707024368c13ca60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Fri, 7 Oct 2022 11:38:01 +0200 Subject: Process node record accessor --- src/Main.hs | 1 + src/Network.hs | 2 +- src/Process.hs | 9 ++++++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Main.hs b/src/Main.hs index 46fdaa6..b19796a 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -203,6 +203,7 @@ spawnOn target pname killWith cmd = do , procStdin = hin , procOutput = pout , procKillWith = killWith + , procNode = either (const undefined) id target } let readingLoop :: Handle -> (Text -> TestRun ()) -> TestRun () diff --git a/src/Network.hs b/src/Network.hs index a3c7120..d1d00bc 100644 --- a/src/Network.hs +++ b/src/Network.hs @@ -11,7 +11,7 @@ import Control.Concurrent import Data.Text (Text) import Data.Text qualified as T -import Process +import {-# SOURCE #-} Process import Test data Network = Network diff --git a/src/Process.hs b/src/Process.hs index 04c5076..0a2c861 100644 --- a/src/Process.hs +++ b/src/Process.hs @@ -7,6 +7,7 @@ module Process ( closeProcess, ) where +import Control.Arrow import Control.Concurrent.STM import Control.Monad.Except @@ -20,6 +21,7 @@ import System.IO import System.Posix.Signals import System.Process +import Network import Output import Test @@ -29,6 +31,7 @@ data Process = Process , procStdin :: Handle , procOutput :: TVar [Text] , procKillWith :: Maybe Signal + , procNode :: Node } instance Eq Process where @@ -37,7 +40,11 @@ instance Eq Process where instance ExprType Process where textExprType _ = T.pack "proc" textExprValue n = T.pack "p:" <> textProcName (procName n) - emptyVarValue = Process (ProcName T.empty) undefined undefined undefined undefined + emptyVarValue = Process (ProcName T.empty) undefined undefined undefined undefined emptyVarValue + + recordMembers = map (first T.pack) + [ ("node", RecordSelector $ procNode) + ] data ProcName = ProcName Text -- cgit v1.2.3