diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-06-19 22:24:00 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-06-21 15:59:51 +0200 |
commit | b7eb345a88df9ee87080fe776722f12e911b773f (patch) | |
tree | ae66d29255f35b44cfcbc7de8cc6d083d002d39c /src/Test.hs | |
parent | da73a6777c2e4b7b4a54830c781a6e5bb2cb86fe (diff) |
Object type with constructors and destructors
Diffstat (limited to 'src/Test.hs')
-rw-r--r-- | src/Test.hs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Test.hs b/src/Test.hs index a9a2cdb..6c44e94 100644 --- a/src/Test.hs +++ b/src/Test.hs @@ -10,7 +10,9 @@ import Data.Typeable import Network import Process +import Run.Monad import Script.Expr +import Script.Object import Script.Shell data Test = Test @@ -32,6 +34,7 @@ instance Monoid (TestBlock ()) where data TestStep a where Scope :: TestBlock a -> TestStep a + CreateObject :: forall o. ObjectType TestRun o => Proxy o -> ConstructorArgs o -> TestStep () Subnet :: TypedVarName Network -> Network -> (Network -> TestStep a) -> TestStep a DeclNode :: TypedVarName Node -> Network -> (Node -> TestStep a) -> TestStep a Spawn :: TypedVarName Process -> Either Network Node -> [ Text ] -> (Process -> TestStep a) -> TestStep a |