From 517eae2e0105d4bcd0c568abca09e0e6b3c6c9d3 Mon Sep 17 00:00:00 2001 From: Neil Mayhew Date: Thu, 2 Nov 2023 17:56:01 -0600 Subject: [PATCH] Enable CDDL test file to be found in both cabal and nix builds --- cardano-node/{ => test-data}/ledger_events.cddl | 0 cardano-node/test/Test/Cardano/Node/LedgerEvent.hs | 7 ++++++- nix/haskell.nix | 4 +++- 3 files changed, 9 insertions(+), 2 deletions(-) rename cardano-node/{ => test-data}/ledger_events.cddl (100%) diff --git a/cardano-node/ledger_events.cddl b/cardano-node/test-data/ledger_events.cddl similarity index 100% rename from cardano-node/ledger_events.cddl rename to cardano-node/test-data/ledger_events.cddl diff --git a/cardano-node/test/Test/Cardano/Node/LedgerEvent.hs b/cardano-node/test/Test/Cardano/Node/LedgerEvent.hs index 47b606def95..3d2dad4fa3a 100644 --- a/cardano-node/test/Test/Cardano/Node/LedgerEvent.hs +++ b/cardano-node/test/Test/Cardano/Node/LedgerEvent.hs @@ -21,15 +21,20 @@ import Data.String (IsString(..)) import Data.Text (Text) import Hedgehog (Property, discover, footnote) import qualified Hedgehog +import qualified Hedgehog.Internal.Property as Hedgehog +import qualified Hedgehog.Extras.Test.Process as Hedgehog import qualified Hedgehog.Gen as Gen import qualified Hedgehog.Range as Range +import System.FilePath (()) import System.IO.Unsafe (unsafePerformIO) import qualified Data.Text as T import qualified Data.Text.IO as TIO specification :: Text specification = - unsafePerformIO $ TIO.readFile "./ledger_events.cddl" + unsafePerformIO $ do + base <- either (fail . show) pure . fst =<< Hedgehog.runTestT Hedgehog.getProjectBase + TIO.readFile $ base "cardano-node/test-data/ledger_events.cddl" {-# NOINLINE specification #-} prop_roundtrip_LedgerEvent_CBOR :: Property diff --git a/nix/haskell.nix b/nix/haskell.nix index b2a0a349780..8d902acb3b0 100644 --- a/nix/haskell.nix +++ b/nix/haskell.nix @@ -225,7 +225,9 @@ let packages.cardano-node.components.tests.cardano-node-test.preCheck = let # This define files included in the directory that will be passed to `H.getProjectBase` for this test: - filteredProjectBase = incl ../. mainnetConfigFiles; + filteredProjectBase = incl ../. (mainnetConfigFiles ++ [ + "cardano-node/test-data/ledger_events.cddl" + ]); in '' export CARDANO_NODE_SRC=${filteredProjectBase}