使用Nix构建Haskell软件包时如何流测试输出?

时间:2018-11-03 18:25:54

标签: haskell cabal nix hydra

我有一个在Hydra上使用Nix构建的项目。运行测试时,它将日志记录到文件中,这使得它们很难从CI服务器中查看。有没有办法在测试套件运行时使项目打印stdout / err?这是我目前得到的:

Running 1 test suites...
Test suite test: RUNNING...
Test suite test: FAIL
Test suite logged to: dist/test/project-name-0.0.0-test.log
0 of 1 test suites (0 of 1 test cases) passed.

1 个答案:

答案 0 :(得分:1)

编辑:cabal new-run test:test部分不正确。我正在研究如何使Nix的Haskell构建器流式传输测试结果。

您可以在Nix中覆盖checkPhase来完成此操作。您可以在此处看到它的定义:https://github.com/NixOS/nixpkgs/blob/32340793aafec24dcef95fee46a21e634dd63457/pkgs/development/haskell-modules/generic-builder.nix#L357-L361

checkPhase应该有效:

checkPhase = ''
  runHook preCheck
  cabal new-run test:test
  runHook postCheck
'';