{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} module Main where import Cardano.Ledger.Alonzo (AlonzoEra) import Data.Proxy (Proxy (..)) import System.Environment (lookupEnv) import qualified Test.Cardano.Ledger.Alonzo.ChainTrace as ChainTrace import qualified Test.Cardano.Ledger.Alonzo.Golden as Golden import Test.Cardano.Ledger.Alonzo.ImpTest () import qualified Test.Cardano.Ledger.Shelley.PropertyTests as Shelley import qualified Test.Cardano.Ledger.Shelley.Rules.AdaPreservation as AdaPreservation import qualified Test.Cardano.Ledger.Shelley.Rules.IncrementalStake as IncrementalStake import Test.Tasty main :: IO () IO () main = do Maybe String nightly <- String -> IO (Maybe String) lookupEnv String "NIGHTLY" TestTree -> IO () defaultMain (TestTree -> IO ()) -> TestTree -> IO () forall a b. (a -> b) -> a -> b $ case Maybe String nightly of Maybe String Nothing -> TestTree defaultTests Just String _ -> TestTree nightlyTests defaultTests :: TestTree defaultTests :: TestTree defaultTests = String -> [TestTree] -> TestTree testGroup String "Alonzo tests" [ forall era. (EraGen era, EraStake era, ChainProperty era, HasTrace (CHAIN era) (GenEnv MockCrypto era), GovState era ~ ShelleyGovState era, State (EraRule "LEDGER" era) ~ LedgerState era, Signal (EraRule "LEDGER" era) ~ Tx era, Environment (EraRule "LEDGER" era) ~ LedgerEnv era, BaseM (EraRule "LEDGER" era) ~ ShelleyBase, STS (EraRule "LEDGER" era)) => Int -> TestTree AdaPreservation.tests @AlonzoEra Int 50 , TestTree Golden.tests ] nightlyTests :: TestTree nightlyTests :: TestTree nightlyTests = String -> [TestTree] -> TestTree testGroup String "Alonzo tests - nightly" ([TestTree] -> TestTree) -> [TestTree] -> TestTree forall a b. (a -> b) -> a -> b $ forall era. (EraGen era, EraStake era, ShelleyEraAccounts era, ApplyBlock era, GetLedgerView era, Embed (EraRule "BBODY" era) (CHAIN era), Embed (EraRule "TICK" era) (CHAIN era), Embed (EraRule "TICKN" era) (CHAIN era), HasTrace (EraRule "LEDGERS" era) (GenEnv MockCrypto era), State (EraRule "TICKN" era) ~ TicknState, Environment (EraRule "LEDGERS" era) ~ ShelleyLedgersEnv era, Environment (EraRule "TICKN" era) ~ TicknEnv, Signal (EraRule "LEDGERS" era) ~ Seq (Tx era), Signal (EraRule "TICKN" era) ~ Bool, BaseM (EraRule "LEDGERS" era) ~ ShelleyBase, ProtVerAtMost era 6, GovState era ~ ShelleyGovState era, InstantStake era ~ ShelleyInstantStake era, BaseEnv (EraRule "LEDGER" era) ~ Globals, HasTrace (EraRule "LEDGER" era) (GenEnv MockCrypto era), State (EraRule "TICK" era) ~ NewEpochState era, State (EraRule "LEDGER" era) ~ LedgerState era, BaseM (EraRule "LEDGER" era) ~ ShelleyBase, State (EraRule "BBODY" era) ~ ShelleyBbodyState era, Environment (EraRule "LEDGER" era) ~ LedgerEnv era, Environment (EraRule "TICK" era) ~ (), Signal (EraRule "LEDGER" era) ~ Tx era, State (EraRule "LEDGERS" era) ~ LedgerState era, Environment (EraRule "BBODY" era) ~ BbodyEnv era, Signal (EraRule "TICK" era) ~ SlotNo, Signal (EraRule "BBODY" era) ~ Block BHeaderView era) => [TestTree] Shelley.commonTests @AlonzoEra [TestTree] -> [TestTree] -> [TestTree] forall a. [a] -> [a] -> [a] ++ [ Proxy AlonzoEra -> TestTree forall era. (EraGen era, EraGov era, EraStake era, ShelleyEraAccounts era, HasTrace (CHAIN era) (GenEnv MockCrypto era)) => Proxy era -> TestTree IncrementalStake.incrStakeComparisonTest (Proxy AlonzoEra forall {k} (t :: k). Proxy t Proxy :: Proxy AlonzoEra) , TestTree ChainTrace.tests ]