Skip to content

Commit d096d25

Browse files
committed
Unify and shorten temporary directory names in hydra-cluster tests
Long templates led to too long paths in CI and having the template test case specficic is rarely helpful. The generated directory names are unique and the test errors always include the unique id so locating the right directory in case of multiple errors is still possible.
1 parent fe3237d commit d096d25

File tree

7 files changed

+41
-42
lines changed

7 files changed

+41
-42
lines changed

hydra-cluster/test/Test/CardanoClientSpec.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ spec =
1818
around (showLogsOnFailure "CardanoClientSpec") $
1919
it "queryGenesisParameters works as expected" $ \tracer ->
2020
failAfter 60 $
21-
withClusterTempDir "queryGenesisParameters" $ \tmpDir -> do
21+
withClusterTempDir $ \tmpDir -> do
2222
-- This uses the hydra-cluster/config/devnet and updates the
2323
-- systemStart to some current time making it the perfect target to
2424
-- test against.

hydra-cluster/test/Test/ChainObserverSpec.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ spec = do
3232
it "can observe hydra transactions created by hydra-nodes" $
3333
failAfter 60 $
3434
showLogsOnFailure "ChainObserverSpec" $ \tracer -> do
35-
withTempDir "hydra-chain-observer" $ \tmpDir -> do
35+
withTempDir "hydra-cluster" $ \tmpDir -> do
3636
-- Start a cardano devnet
3737
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \cardanoNode@RunningNode{nodeSocket} -> do
3838
-- Prepare a hydra-node

hydra-cluster/test/Test/DirectChainSpec.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ spec = around (showLogsOnFailure "DirectChainSpec") $ do
306306
waitForUTxO networkId nodeSocket someUTxO
307307

308308
it "can restart head to point in the past and replay on-chain events" $ \tracer -> do
309-
withTempDir "direct-chain" $ \tmp -> do
309+
withTempDir "hydra-cluster" $ \tmp -> do
310310
withCardanoNodeDevnet (contramap FromNode tracer) tmp $ \node@RunningNode{nodeSocket, networkId} -> do
311311
hydraScriptsTxId <- publishHydraScriptsAs node Faucet
312312
(aliceCardanoVk, _) <- keysFor Alice
@@ -331,7 +331,7 @@ spec = around (showLogsOnFailure "DirectChainSpec") $ do
331331
void $ aliceChain `observesInTimeSatisfying` hasInitTxWith headParameters participants
332332

333333
it "cannot restart head to an unknown point" $ \tracer -> do
334-
withTempDir "direct-chain" $ \tmp -> do
334+
withTempDir "hydra-cluster" $ \tmp -> do
335335
withCardanoNodeDevnet (contramap FromNode tracer) tmp $ \node@RunningNode{nodeSocket} -> do
336336
(aliceCardanoVk, _) <- keysFor Alice
337337
seedFromFaucet_ node aliceCardanoVk 100_000_000 (contramap FromFaucet tracer)
@@ -349,7 +349,7 @@ spec = around (showLogsOnFailure "DirectChainSpec") $ do
349349
IntersectionNotFound{} -> True
350350

351351
it "can publish and query reference scripts in a timely manner" $ \tracer -> do
352-
withTempDir "direct-chain" $ \tmp -> do
352+
withTempDir "hydra-cluster" $ \tmp -> do
353353
withCardanoNodeDevnet (contramap FromNode tracer) tmp $ \RunningNode{nodeSocket, networkId} -> do
354354
readConfigFile ("credentials" </> "faucet.sk") >>= writeFileBS (tmp </> "faucet.sk")
355355
hydraScriptsTxIdStr <-

hydra-cluster/test/Test/EndToEndSpec.hs

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -110,18 +110,17 @@ import Prelude qualified
110110
allNodeIds :: [Int]
111111
allNodeIds = [1 .. 3]
112112

113-
-- | Like 'withTempDir', busing a common prefix to keep hydra-cluster logs more
114-
-- easily on CI.
113+
-- | Like 'withTempDir', but using a common template to archive logs more easily
114+
-- on CI.
115115
--
116116
-- NOTE: The ci-nix.yaml workflow depends on this.
117-
withClusterTempDir :: MonadIO m => String -> (FilePath -> m a) -> m a
118-
withClusterTempDir name =
119-
withTempDir ("hydra-cluster-e2e-" <> name)
117+
withClusterTempDir :: MonadIO m => (FilePath -> m a) -> m a
118+
withClusterTempDir = withTempDir "hydra-cluster"
120119

121120
spec :: Spec
122121
spec = around (showLogsOnFailure "EndToEndSpec") $ do
123122
it "End-to-end offline mode" $ \tracer -> do
124-
withTempDir "offline-mode-e2e" $ \tmpDir -> do
123+
withClusterTempDir $ \tmpDir -> do
125124
(aliceCardanoVk, aliceCardanoSk) <- keysFor Alice
126125
(bobCardanoVk, _) <- keysFor Bob
127126
initialUTxO <- generate $ do
@@ -164,59 +163,59 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
164163
describe "End-to-end on Cardano devnet" $ do
165164
describe "single party hydra head" $ do
166165
it "full head life-cycle" $ \tracer -> do
167-
withClusterTempDir "single-full-life-cycle" $ \tmpDir -> do
166+
withClusterTempDir $ \tmpDir -> do
168167
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
169168
publishHydraScriptsAs node Faucet
170169
>>= singlePartyHeadFullLifeCycle tracer tmpDir node
171170
it "can close with long deadline" $ \tracer -> do
172-
withClusterTempDir "close-long-deadline" $ \tmpDir -> do
171+
withClusterTempDir $ \tmpDir -> do
173172
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
174173
publishHydraScriptsAs node Faucet
175174
>>= canCloseWithLongContestationPeriod tracer tmpDir node
176175
it "can submit a timed tx" $ \tracer -> do
177-
withClusterTempDir "timed-tx" $ \tmpDir -> do
176+
withClusterTempDir $ \tmpDir -> do
178177
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
179178
publishHydraScriptsAs node Faucet
180179
>>= timedTx tmpDir tracer node
181180
it "commits from external with script utxo" $ \tracer -> do
182-
withClusterTempDir "single-commits-script-from-external" $ \tmpDir -> do
181+
withClusterTempDir $ \tmpDir -> do
183182
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
184183
publishHydraScriptsAs node Faucet
185184
>>= singlePartyCommitsFromExternalScript tracer tmpDir node
186185
it "commit external wallet utxo with inline datum in the script" $ \tracer -> do
187-
withClusterTempDir "single-commits-script-from-external" $ \tmpDir -> do
186+
withClusterTempDir $ \tmpDir -> do
188187
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
189188
publishHydraScriptsAs node Faucet
190189
>>= singlePartyCommitsExternalScriptWithInlineDatum tracer tmpDir node
191190
it "can't commit externally with internal wallet utxo" $ \tracer -> do
192-
withClusterTempDir "commit-internal-wallet-utxo" $ \tmpDir -> do
191+
withClusterTempDir $ \tmpDir -> do
193192
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
194193
publishHydraScriptsAs node Faucet
195194
>>= singlePartyCannotCommitExternallyWalletUtxo tracer tmpDir node
196195
it "can submit a signed user transaction" $ \tracer -> do
197-
withClusterTempDir "submit-a-signed-user-transaction" $ \tmpDir -> do
196+
withClusterTempDir $ \tmpDir -> do
198197
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
199198
publishHydraScriptsAs node Faucet
200199
>>= canSubmitTransactionThroughAPI tracer tmpDir node
201200

202201
describe "three hydra nodes scenario" $ do
203202
it "does not error when all nodes open the head concurrently" $ \tracer ->
204203
failAfter 60 $
205-
withClusterTempDir "three-no-errors" $ \tmpDir -> do
204+
withClusterTempDir $ \tmpDir -> do
206205
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node -> do
207206
publishHydraScriptsAs node Faucet
208207
>>= threeNodesNoErrorsOnOpen tracer tmpDir node
209208

210209
it "inits a Head, processes a single Cardano transaction and closes it again" $ \tracer ->
211210
failAfter 60 $
212-
withClusterTempDir "three-full-life-cycle" $ \tmpDir -> do
211+
withClusterTempDir $ \tmpDir -> do
213212
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node -> do
214213
hydraScriptsTxId <- publishHydraScriptsAs node Faucet
215214
initAndClose tmpDir tracer 1 hydraScriptsTxId node
216215

217216
it "inits a Head and closes it immediately" $ \tracer ->
218217
failAfter 60 $
219-
withClusterTempDir "three-init-close-immediately" $ \tmpDir -> do
218+
withClusterTempDir $ \tmpDir -> do
220219
let clusterIx = 0
221220
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node@RunningNode{nodeSocket} -> do
222221
aliceKeys@(aliceCardanoVk, _) <- generate genKeyPair
@@ -279,25 +278,25 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
279278

280279
describe "restarting nodes" $ do
281280
it "can abort head after restart" $ \tracer -> do
282-
withClusterTempDir "abort-after-restart" $ \tmpDir -> do
281+
withClusterTempDir $ \tmpDir -> do
283282
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
284283
publishHydraScriptsAs node Faucet
285284
>>= restartedNodeCanAbort tracer tmpDir node
286285

287286
it "can observe a commit tx after a restart, even when a tx happened while down" $ \tracer -> do
288-
withClusterTempDir "commit-after-restart" $ \tmpDir -> do
287+
withClusterTempDir $ \tmpDir -> do
289288
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
290289
publishHydraScriptsAs node Faucet
291290
>>= restartedNodeCanObserveCommitTx tracer tmpDir node
292291

293292
it "prevent resuming a head after reconfiguring a peer" $ \tracer -> do
294-
withClusterTempDir "prevent-resume-reconfiguring-peer" $ \tmpDir -> do
293+
withClusterTempDir $ \tmpDir -> do
295294
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
296295
publishHydraScriptsAs node Faucet
297296
>>= testPreventResumeReconfiguredPeer tracer tmpDir node
298297

299298
it "can start chain from the past and replay on-chain events" $ \tracer ->
300-
withClusterTempDir "replay-chain-events" $ \tmp ->
299+
withClusterTempDir $ \tmp ->
301300
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmp $ \node@RunningNode{nodeSocket, networkId} -> do
302301
(aliceCardanoVk, _aliceCardanoSk) <- keysFor Alice
303302
let contestationPeriod = UnsafeContestationPeriod 10
@@ -325,7 +324,7 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
325324
headId' `shouldBe` aliceHeadId
326325

327326
it "close of an initial snapshot from re-initialized node is contested" $ \tracer ->
328-
withClusterTempDir "contest-after-restart" $ \tmp ->
327+
withClusterTempDir $ \tmp ->
329328
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmp $ \node@RunningNode{nodeSocket, networkId} -> do
330329
hydraScriptsTxId <- publishHydraScriptsAs node Faucet
331330

@@ -407,7 +406,7 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
407406
describe "two hydra heads scenario" $ do
408407
it "two heads on the same network do not conflict" $ \tracer ->
409408
failAfter 60 $
410-
withClusterTempDir "two-heads-no-conflict" $ \tmpDir -> do
409+
withClusterTempDir $ \tmpDir -> do
411410
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node -> do
412411
hydraScriptsTxId <- publishHydraScriptsAs node Faucet
413412
concurrently_
@@ -416,14 +415,14 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
416415

417416
it "alice inits a Head with incorrect keys preventing bob from observing InitTx" $ \tracer ->
418417
failAfter 60 $
419-
withClusterTempDir "incorrect-cardano-keys" $ \tmpDir -> do
418+
withClusterTempDir $ \tmpDir -> do
420419
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node -> do
421420
publishHydraScriptsAs node Faucet
422421
>>= initWithWrongKeys tmpDir tracer node
423422

424423
it "bob cannot abort alice's head" $ \tracer -> do
425424
failAfter 60 $
426-
withClusterTempDir "two-heads-cant-abort" $ \tmpDir -> do
425+
withClusterTempDir $ \tmpDir -> do
427426
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node@RunningNode{nodeSocket} -> do
428427
(aliceCardanoVk, _aliceCardanoSk) <- keysFor Alice
429428
(bobCardanoVk, _bobCardanoSk) <- keysFor Bob
@@ -457,7 +456,7 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
457456

458457
describe "Monitoring" $ do
459458
it "Node exposes Prometheus metrics on port 6001" $ \tracer -> do
460-
withClusterTempDir "prometheus-metrics" $ \tmpDir -> do
459+
withClusterTempDir $ \tmpDir -> do
461460
(aliceCardanoVk, _) <- keysFor Alice
462461
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node@RunningNode{nodeSocket} -> do
463462
hydraScriptsTxId <- publishHydraScriptsAs node Faucet
@@ -480,7 +479,7 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
480479

481480
describe "hydra-node executable" $ do
482481
it "logs its command line arguments" $ \tracer -> do
483-
withClusterTempDir "logs-options" $ \dir -> do
482+
withClusterTempDir $ \dir -> do
484483
withCardanoNodeDevnet (contramap FromCardanoNode tracer) dir $ \node@RunningNode{nodeSocket} -> do
485484
let hydraTracer = contramap FromHydraNode tracer
486485
hydraScriptsTxId <- publishHydraScriptsAs node Faucet
@@ -490,7 +489,7 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
490489
line ^? key "message" . key "tag" == Just (Aeson.String "NodeOptions")
491490

492491
it "logs to a logfile" $ \tracer -> do
493-
withClusterTempDir "logs-to-logfile" $ \dir -> do
492+
withClusterTempDir $ \dir -> do
494493
withCardanoNodeDevnet (contramap FromCardanoNode tracer) dir $ \node@RunningNode{nodeSocket} -> do
495494
let hydraTracer = contramap FromHydraNode tracer
496495
hydraScriptsTxId <- publishHydraScriptsAs node Faucet
@@ -507,7 +506,7 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
507506
describe "forking eras" $ do
508507
it "does report on unsupported era" $ \tracer -> do
509508
pendingWith "Currently supporting Conway era no future upcoming"
510-
withClusterTempDir "unsupported-era" $ \tmpDir -> do
509+
withClusterTempDir $ \tmpDir -> do
511510
args <- setupCardanoDevnet tmpDir
512511
forkIntoConwayInEpoch tmpDir args 1
513512
withCardanoNode (contramap FromCardanoNode tracer) tmpDir args $ \node@RunningNode{nodeSocket} -> do
@@ -527,7 +526,7 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
527526

528527
it "does report on unsupported era on startup" $ \tracer -> do
529528
pendingWith "Currently supporting Conway era no future upcoming"
530-
withClusterTempDir "unsupported-era-startup" $ \tmpDir -> do
529+
withClusterTempDir $ \tmpDir -> do
531530
args <- setupCardanoDevnet tmpDir
532531
forkIntoConwayInEpoch tmpDir args 1
533532
withCardanoNode (contramap FromCardanoNode tracer) tmpDir args $ \node@RunningNode{nodeSocket} -> do
@@ -544,7 +543,7 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
544543
errorOutputs `shouldContain` "upgrade your hydra-node"
545544

546545
it "support new era" $ \tracer -> do
547-
withClusterTempDir "support-new-era" $ \tmpDir -> do
546+
withClusterTempDir $ \tmpDir -> do
548547
args <- setupCardanoDevnet tmpDir
549548

550549
forkIntoConwayInEpoch tmpDir args 10
@@ -580,7 +579,7 @@ spec = around (showLogsOnFailure "EndToEndSpec") $ do
580579
guard $ snapshotNumber == Aeson.Number 0
581580

582581
it "support new era on restart" $ \tracer -> do
583-
withClusterTempDir "support-new-era-restart" $ \tmpDir -> do
582+
withClusterTempDir $ \tmpDir -> do
584583
args <- setupCardanoDevnet tmpDir
585584

586585
forkIntoConwayInEpoch tmpDir args 10

hydra-cluster/test/Test/Hydra/Cluster/CardanoCliSpec.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ spec :: Spec
2323
spec =
2424
describe "cardano-cli" $ do
2525
it "cardano-cli can accept a draft commit tx in text-envelope format" $
26-
withTempDir "cardano-cli" $ \tmpDir -> do
26+
withTempDir "hydra-cluster" $ \tmpDir -> do
2727
let txFile = tmpDir </> "tx.raw"
2828
draftCommitResponse <- DraftCommitTxResponse <$> generate (arbitrary :: Gen Tx)
2929
encodeFile txFile draftCommitResponse
@@ -40,7 +40,7 @@ spec =
4040

4141
around (showLogsOnFailure "CardanoCliSpec") $ do
4242
it "query protocol-parameters is compatible with our FromJSON instance" $ \tracer ->
43-
withTempDir "cardano-cli-pparams" $ \tmpDir -> do
43+
withTempDir "hydra-cluster" $ \tmpDir -> do
4444
withCardanoNodeDevnet tracer tmpDir $ \RunningNode{nodeSocket, networkId} -> do
4545
protocolParameters <- cliQueryProtocolParameters nodeSocket (networkId)
4646
case (parseEither pparamsFromJson protocolParameters) of

hydra-cluster/test/Test/Hydra/Cluster/FaucetSpec.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ spec = do
2222
it "should work concurrently" $
2323
showLogsOnFailure "FaucetSpec" $ \tracer ->
2424
failAfter 30 $
25-
withTempDir "end-to-end-cardano-node" $ \tmpDir ->
25+
withTempDir "hydra-cluster" $ \tmpDir ->
2626
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node ->
2727
replicateConcurrently_ 10 $ do
2828
vk <- generate genVerificationKey
@@ -31,7 +31,7 @@ spec = do
3131
describe "returnFundsToFaucet" $
3232
it "seedFromFaucet and returnFundsToFaucet work together" $ do
3333
showLogsOnFailure "FaucetSpec" $ \tracer ->
34-
withTempDir "end-to-end-cardano-node" $ \tmpDir ->
34+
withTempDir "hydra-cluster" $ \tmpDir ->
3535
withCardanoNodeDevnet (contramap FromCardanoNode tracer) tmpDir $ \node@RunningNode{networkId, nodeSocket} -> do
3636
let faucetTracer = contramap FromFaucet tracer
3737
actor <- generate $ elements [Alice, Bob, Carol]

hydra-cluster/test/Test/OfflineChainSpec.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import System.FilePath ((</>))
2121
spec :: Spec
2222
spec = do
2323
it "does start on slot 0 with no genesis" $ do
24-
withTempDir "offline-mode-tick" $ \tmpDir -> do
24+
withTempDir "hydra-cluster" $ \tmpDir -> do
2525
Aeson.encodeFile (tmpDir </> "utxo.json") (mempty @UTxO)
2626
let offlineConfig =
2727
OfflineChainConfig
@@ -39,7 +39,7 @@ spec = do
3939
_ -> False
4040

4141
it "does not start on slot 0 with real genesis file" $ do
42-
withTempDir "offline-mode-tick" $ \tmpDir -> do
42+
withTempDir "hydra-cluster" $ \tmpDir -> do
4343
Aeson.encodeFile (tmpDir </> "utxo.json") (mempty @UTxO)
4444
readConfigFile ("devnet" </> "genesis-shelley.json")
4545
>>= writeFileBS (tmpDir </> "genesis.json")

0 commit comments

Comments
 (0)