Skip to content

Commit 7bfb7e3

Browse files
committed
wip
1 parent 922e5cb commit 7bfb7e3

File tree

12 files changed

+196
-153
lines changed

12 files changed

+196
-153
lines changed

libs/cardano-ledger-test/src/Test/Cardano/Ledger/Constrained/Preds/CertState.hs

+23-21
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import Cardano.Ledger.Shelley.LedgerState (availableAfterMIR)
1616
import Cardano.Ledger.Shelley.TxCert (MIRPot (..))
1717
import Control.Monad (when)
1818
import Data.Default (Default (def))
19+
import Data.TreeDiff (toExpr)
1920
import Lens.Micro
2021
import Test.Cardano.Ledger.Constrained.Ast
2122
import Test.Cardano.Ledger.Constrained.Classes (OrdCond (..), unCertStateF)
@@ -31,8 +32,10 @@ import Test.Cardano.Ledger.Constrained.Solver
3132
import Test.Cardano.Ledger.Constrained.TypeRep
3233
import Test.Cardano.Ledger.Constrained.Utils (testIO)
3334
import Test.Cardano.Ledger.Constrained.Vars
35+
import Test.Cardano.Ledger.Conway.TreeDiff ()
3436
import Test.Cardano.Ledger.Generic.Functions (protocolVersion)
3537
import Test.Cardano.Ledger.Generic.Proof
38+
import Test.Cardano.Ledger.TreeDiff ()
3639
import Test.QuickCheck
3740
import Test.Tasty (TestTree, defaultMain, testGroup)
3841

@@ -91,13 +94,13 @@ vstateCheckPreds :: Proof era -> [Pred era]
9194
vstateCheckPreds _p = []
9295

9396
vstateStage ::
94-
Reflect era =>
97+
(Reflect era, ToExprs era) =>
9598
Proof era ->
9699
Subst era ->
97100
Gen (Subst era)
98101
vstateStage proof = toolChainSub proof standardOrderInfo (vstatePreds proof)
99102

100-
demoV :: ReplMode -> IO ()
103+
demoV :: ToExprs ConwayEra => ReplMode -> IO ()
101104
demoV mode = do
102105
let proof = Conway
103106
env <-
@@ -109,13 +112,13 @@ demoV mode = do
109112
>>= (\subst -> monadTyped $ substToEnv subst emptyEnv)
110113
)
111114
vstate <- monadTyped $ runTarget env vstateT
112-
when (mode == Interactive) $ putStrLn (show (pcVState vstate))
115+
when (mode == Interactive) . print $ toExpr vstate
113116
modeRepl mode proof env ""
114117

115-
demoTestV :: TestTree
118+
demoTestV :: ToExprs ConwayEra => TestTree
116119
demoTestV = testIO "Testing VState Stage" (demoV CI)
117120

118-
mainV :: IO ()
121+
mainV :: ToExprs ConwayEra => IO ()
119122
mainV = defaultMain $ testIO "Testing VState Stage" (demoV Interactive)
120123

121124
-- ==========================================
@@ -162,13 +165,13 @@ pstateCheckPreds _ =
162165
]
163166

164167
pstateStage ::
165-
Reflect era =>
168+
(Reflect era, ToExprs era) =>
166169
Proof era ->
167170
Subst era ->
168171
Gen (Subst era)
169172
pstateStage proof = toolChainSub proof standardOrderInfo (pstatePreds proof)
170173

171-
demoP :: ReplMode -> IO ()
174+
demoP :: ToExprs BabbageEra => ReplMode -> IO ()
172175
demoP mode = do
173176
let proof = Babbage
174177
env <-
@@ -179,14 +182,13 @@ demoP mode = do
179182
>>= (\subst -> monadTyped $ substToEnv subst emptyEnv)
180183
)
181184
pstate <- monadTyped $ runTarget env pstateT
182-
when (mode == Interactive) $ do
183-
putStrLn (show (pcPState pstate))
185+
when (mode == Interactive) . print $ toExpr pstate
184186
modeRepl mode proof env ""
185187

186-
demoTestP :: TestTree
188+
demoTestP :: ToExprs BabbageEra => TestTree
187189
demoTestP = testIO "Testing PState Stage" (demoP CI)
188190

189-
mainP :: IO ()
191+
mainP :: ToExprs BabbageEra => IO ()
190192
mainP = defaultMain $ testIO "Testing PState Stage" (demoP Interactive)
191193

192194
-- =================================================
@@ -303,13 +305,13 @@ certStateCheckPreds p =
303305
]
304306

305307
dstateStage ::
306-
Reflect era =>
308+
(Reflect era, ToExprs era) =>
307309
Proof era ->
308310
Subst era ->
309311
Gen (Subst era)
310312
dstateStage proof = toolChainSub proof standardOrderInfo (certStatePreds proof)
311313

312-
demoD :: ReplMode -> Int -> IO ()
314+
demoD :: ToExprs BabbageEra => ReplMode -> Int -> IO ()
313315
demoD mode seed = do
314316
let proof = Babbage
315317
env <-
@@ -321,18 +323,18 @@ demoD mode seed = do
321323
>>= (\subst -> monadTyped $ substToEnv subst emptyEnv)
322324
)
323325
dState <- monadTyped $ runTarget env dstateT
324-
when (mode == Interactive) $ putStrLn (show (pcDState dState))
326+
when (mode == Interactive) . print $ toExpr dState
325327
modeRepl mode proof env ""
326328

327-
demoTestD :: TestTree
329+
demoTestD :: ToExprs BabbageEra => TestTree
328330
demoTestD = testIO "Testing DState Stage" (demoD CI 99)
329331

330-
mainD :: Int -> IO ()
332+
mainD :: ToExprs BabbageEra => Int -> IO ()
331333
mainD seed = defaultMain $ testIO "Testing DState Stage" (demoD Interactive seed)
332334

333335
-- ===============================================
334336

335-
demoC :: ReplMode -> IO ()
337+
demoC :: ToExprs ConwayEra => ReplMode -> IO ()
336338
demoC mode = do
337339
let proof = Conway
338340
env <-
@@ -346,16 +348,16 @@ demoC mode = do
346348
>>= (\subst -> monadTyped $ substToEnv subst emptyEnv)
347349
)
348350
certState <- monadTyped . runTarget env $ certStateT
349-
when (mode == Interactive) $ putStrLn (show (pcCertState (unCertStateF certState)))
351+
when (mode == Interactive) . print . toExpr $ unCertStateF certState
350352
modeRepl mode proof env ""
351353

352-
demoTestC :: TestTree
354+
demoTestC :: ToExprs ConwayEra => TestTree
353355
demoTestC = testIO "Testing CertState Stage" (demoC CI)
354356

355-
mainC :: IO ()
357+
mainC :: ToExprs ConwayEra => IO ()
356358
mainC = defaultMain $ testIO "Testing CertState Stage" (demoC Interactive)
357359

358-
demoTest :: TestTree
360+
demoTest :: (ToExprs ConwayEra, ToExprs BabbageEra) => TestTree
359361
demoTest =
360362
testGroup
361363
"CertState tests"

libs/cardano-ledger-test/src/Test/Cardano/Ledger/Constrained/Preds/LedgerState.hs

+9-8
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ import qualified Data.OMap.Strict as OMap
4848
import Data.Ratio ((%))
4949
import Data.Set (Set)
5050
import qualified Data.Set as Set
51+
import Data.TreeDiff (toExpr)
5152
import Lens.Micro
5253
import Test.Cardano.Ledger.Constrained.Ast
5354
import Test.Cardano.Ledger.Constrained.Classes (OrdCond (..), genPParamsUpdate)
@@ -102,7 +103,7 @@ enactStateCheckPreds _ = []
102103

103104
ledgerStatePreds ::
104105
forall era.
105-
Reflect era =>
106+
(Reflect era, ToExprs era) =>
106107
UnivSize -> Proof era -> [Pred era]
107108
ledgerStatePreds _usize p =
108109
[ Subset (Dom enactWithdrawals) credsUniv
@@ -181,7 +182,7 @@ ledgerStatePreds _usize p =
181182
getOne [] = NoPParamsUpdate
182183

183184
ledgerStateStage ::
184-
Reflect era =>
185+
(Reflect era, ToExprs era) =>
185186
UnivSize ->
186187
Proof era ->
187188
Subst era ->
@@ -195,7 +196,7 @@ ledgerStateStage usize proof subst0 = do
195196
Just msg -> error msg
196197

197198
demo ::
198-
Reflect era =>
199+
(Reflect era, ToExprs era) =>
199200
Proof era -> ReplMode -> IO ()
200201
demo proof mode = do
201202
env <-
@@ -212,13 +213,13 @@ demo proof mode = do
212213
)
213214
lstate <- monadTyped $ runTarget env (ledgerStateT proof)
214215
let env2 = getTarget lstate (ledgerStateT proof) env
215-
when (mode == Interactive) $ putStrLn (show (pcLedgerState proof lstate))
216+
when (mode == Interactive) . print $ toExpr lstate
216217
modeRepl mode proof env2 ""
217218

218-
demoTest :: TestTree
219+
demoTest :: ToExprs ConwayEra => TestTree
219220
demoTest = testIO "Testing LedgerState Stage" (demo Conway CI)
220221

221-
main :: IO ()
222+
main :: ToExprs ConwayEra => IO ()
222223
main = defaultMain $ testIO "Testing LedgerState Stage" (demo Conway Interactive)
223224

224225
-- =============================================
@@ -341,7 +342,7 @@ toProposalMap xs = Map.fromList (map pairup xs)
341342
where
342343
pairup gas = (gasId gas, gas)
343344

344-
demoGov :: (ConwayEraPParams era, Reflect era) => Proof era -> ReplMode -> IO ()
345+
demoGov :: (ConwayEraPParams era, Reflect era, ToExprs era) => Proof era -> ReplMode -> IO ()
345346
demoGov proof mode = do
346347
env <-
347348
generate
@@ -353,7 +354,7 @@ demoGov proof mode = do
353354
)
354355
modeRepl mode proof env ""
355356

356-
mainGov :: IO ()
357+
mainGov :: ToExprs ConwayEra => IO ()
357358
mainGov = demoGov Conway Interactive
358359

359360
setActionId :: GovAction era -> Maybe GovActionId -> GovAction era

libs/cardano-ledger-test/src/Test/Cardano/Ledger/Constrained/Preds/PParams.hs

+6-6
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import Test.Cardano.Ledger.Generic.Updaters (defaultCostModels, newPParams)
3939
import Test.Tasty (TestTree, defaultMain)
4040
import Test.Tasty.QuickCheck
4141

42-
extract :: Era era => Term era t -> Term era s -> Pred era
42+
extract :: (Era era, ToExprs era) => Term era t -> Term era s -> Pred era
4343
extract term@(Var (V _ _ (Yes r1 lens))) record =
4444
case testEql r1 (termRep record) of
4545
Just Refl -> term :<-: (Constr "lookup" (\x -> x ^. lens) ^$ record)
@@ -99,7 +99,7 @@ genPParams proof tx bb bh = do
9999
]
100100
)
101101

102-
pParamsPreds :: Reflect era => Proof era -> [Pred era]
102+
pParamsPreds :: (Reflect era, ToExprs era) => Proof era -> [Pred era]
103103
pParamsPreds p =
104104
[ GenFrom
105105
(pparams p)
@@ -139,22 +139,22 @@ pParamsPreds p =
139139
)
140140

141141
pParamsStage ::
142-
Reflect era =>
142+
(Reflect era, ToExprs era) =>
143143
Proof era ->
144144
Subst era ->
145145
Gen (Subst era)
146146
pParamsStage proof = toolChainSub proof standardOrderInfo (pParamsPreds proof)
147147

148-
demo :: ReplMode -> IO ()
148+
demo :: ToExprs BabbageEra => ReplMode -> IO ()
149149
demo mode = do
150150
let proof = Babbage
151151
subst <- generate (pParamsStage proof emptySubst)
152152
env <- monadTyped (substToEnv subst emptyEnv)
153153
when (mode == Interactive) $ putStrLn "\n" >> putStrLn (show subst)
154154
modeRepl mode proof env ""
155155

156-
demoTest :: TestTree
156+
demoTest :: ToExprs BabbageEra => TestTree
157157
demoTest = testIO "Testing TxOut Stage" (demo CI)
158158

159-
mainPParams :: IO ()
159+
mainPParams :: ToExprs BabbageEra => IO ()
160160
mainPParams = defaultMain $ testIO "Testing TxOut Stage" (demo Interactive)

0 commit comments

Comments
 (0)