|
10 | 10 | }:
|
11 | 11 |
|
12 | 12 | let
|
| 13 | + data = [ |
| 14 | + { |
| 15 | + name = "tx-bakery-test-scripts-config.json"; |
| 16 | + path = config.packages.tx-bakery-test-scripts-config; |
| 17 | + } |
| 18 | + ]; |
| 19 | + dataDir = "data"; |
13 | 20 | rustFlake = inputs.flake-lang.lib."${system}".rustFlake {
|
| 21 | + inherit data; |
14 | 22 | src = ./.;
|
15 |
| - crateName = "tx-bakery-tests"; |
16 |
| - cargoNextestExtraArgs = "--no-capture"; |
| 23 | + crateName = "tx-bakery-testsuite"; |
| 24 | + exportTests = true; |
17 | 25 |
|
18 | 26 | extraSources = [
|
19 | 27 | config.packages.tx-bakery-rust-src
|
|
28 | 36 | config.packages.lbf-tx-bakery-tests-plutus-api-rust
|
29 | 37 | ];
|
30 | 38 |
|
31 |
| - data = [ |
32 |
| - { |
33 |
| - name = "tx-bakery-test-scripts-config.json"; |
34 |
| - path = config.packages.tx-bakery-test-scripts-config; |
35 |
| - } |
36 |
| - ]; |
37 |
| - |
38 | 39 | devShellTools = [
|
39 |
| - self'.packages.tx-bakery-tests |
| 40 | + self'.packages.pc-tx-bakery-tests |
40 | 41 | ];
|
41 | 42 |
|
42 | 43 | devShellHook =
|
43 | 44 | config.settings.shell.hook
|
44 | 45 | + ''
|
45 | 46 | echo "TxBakery testsuite"
|
46 | 47 | echo ""
|
47 |
| - echo "Run tx-bakery-tests to execute the testsuite." |
48 |
| - echo "or tx-bakery-tests up ogmios cardano_devnet -t=true to spin up an environment" |
| 48 | + echo "Run pc-tx-bakery-tests to execute the testsuite." |
| 49 | + echo "or pc-tx-bakery-tests up ogmios cardano_devnet -t=true to spin up an environment" |
49 | 50 | echo ""
|
50 | 51 | '';
|
51 | 52 | };
|
52 | 53 | in
|
53 | 54 | {
|
54 | 55 | inherit (rustFlake) packages devShells;
|
55 | 56 |
|
56 |
| - checks = { |
57 |
| - "tx-bakery-testsuite" = self'.packages.tx-bakery-tests; |
58 |
| - }; |
| 57 | + checks = |
| 58 | + let |
| 59 | + data-drv = pkgs.linkFarm "data" data; |
| 60 | + in |
| 61 | + { |
| 62 | + "tx-bakery-testsuite" = pkgs.stdenv.mkDerivation { |
| 63 | + name = "tx-bakery-testsuite-check"; |
| 64 | + phases = [ |
| 65 | + "unpackPhase" |
| 66 | + "checkPhase" |
| 67 | + "buildPhase" |
| 68 | + ]; |
| 69 | + unpackPhase = '' |
| 70 | + echo "Linking data" |
| 71 | + ln -s ${data-drv} ./${dataDir} |
| 72 | + ln -s ${./wallets} ./wallets |
| 73 | + ''; |
| 74 | + checkPhase = '' |
| 75 | + ${self'.packages.pc-tx-bakery-tests}/bin/pc-tx-bakery-tests |
| 76 | + ''; |
| 77 | + buildPhase = '' |
| 78 | + mkdir $out |
| 79 | + ''; |
| 80 | + doCheck = true; |
| 81 | + }; |
| 82 | + }; |
59 | 83 |
|
60 | 84 | cardano-devnet.initialFunds = {
|
61 | 85 | "60a5587dc01541d4ad17d7a4416efee274d833f2fc894eef79976a3d06" = 9000000000;
|
62 | 86 | };
|
63 | 87 |
|
64 |
| - process-compose.tx-bakery-tests = { |
| 88 | + process-compose.pc-tx-bakery-tests = { |
65 | 89 | imports = [
|
66 | 90 | inputs.services-flake.processComposeModules.default
|
67 | 91 | ];
|
| 92 | + cli.environment.PC_DISABLE_TUI = true; |
68 | 93 | settings.processes = {
|
69 |
| - build = { |
70 |
| - command = "${pkgs.cargo}/bin/cargo build --tests"; |
71 |
| - }; |
72 |
| - |
73 | 94 | tests = {
|
74 |
| - command = "${pkgs.cargo}/bin/cargo test"; |
| 95 | + command = " |
| 96 | + ${self'.packages.tx-bakery-testsuite-rust-test}/bin/run_tests.sh |
| 97 | + "; |
75 | 98 | depends_on = {
|
76 |
| - build.condition = "process_completed_successfully"; |
77 | 99 | cardano_devnet.condition = "process_healthy";
|
78 | 100 | ogmios.condition = "process_healthy";
|
79 | 101 | };
|
| 102 | + availability = { |
| 103 | + exit_on_end = true; |
| 104 | + exit_on_skipped = true; |
| 105 | + }; |
80 | 106 | };
|
81 | 107 |
|
82 | 108 | cardano_devnet = {
|
83 | 109 | command = config.packages.cardano-devnet;
|
84 |
| - depends_on.build.condition = "process_completed_successfully"; |
85 | 110 | readiness_probe = {
|
86 | 111 | exec.command = ''
|
87 | 112 | ${inputs'.cardano-node.packages.cardano-cli}/bin/cardano-cli query tip \
|
|
0 commit comments