module Main (
  main,
) where

import System.Environment (lookupEnv)
import Test.Cardano.Ledger.CanonicalState.Reference (loadAllReferenceCDDLs)
import qualified Test.Cardano.Ledger.CanonicalState.Spec
import Test.Cardano.Ledger.Common

main :: IO ()
IO ()
main = do
  mReferenceCDDLs <- IO (Maybe [(Text, Either LoadError (CTreeRoot MonoReferenced))])
loadAllReferenceCDDLs

  sampleCount <- lookupEnv "CONFORMANCE_SAMPLES" >>= \Maybe String
m -> Integer -> IO Integer
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Integer -> IO Integer) -> Integer -> IO Integer
forall a b. (a -> b) -> a -> b
$ Integer -> (String -> Integer) -> Maybe String -> Integer
forall b a. b -> (a -> b) -> Maybe a -> b
maybe Integer
1000 String -> Integer
forall a. Read a => String -> a
read Maybe String
m

  ledgerTestMain $
    Test.Cardano.Ledger.CanonicalState.Spec.spec mReferenceCDDLs sampleCount