ucsd-progsys/liquidhaskell

Collect bfq files in CI

Open

#2,020 创建于 2022年6月29日

在 GitHub 查看
 (4 评论) (0 反应) (0 负责人)Haskell (1,306 star) (157 fork)batch import
good first issue

描述

We found recently a failing job in CI which isn't reproducible if the job is retried. If we could collect the .bfq files of tests which fail in CI, we might have a better chance to reproduce them either locally or in CI.

.bfq files aren't the most portable but are the fastest to write, and at the moment are the only files guaranteed to be accepted as inputs to LF. We would have to see how much of an impact in test time they produce.

There are at least two possible solutions:

  1. I think the ideal would be to dump the .bfq files only when there is a verification error, and only if some flag (to be implemented) is enabled. When tests are expected to fail, we would need to provide a reversed flag, that only produces .bfq files if verification succeeds.
  2. The next best would be to produce only .bfq files on all tests, no matter if they failed or not. LH has a --save flag, but it produces a few other files besides .bfq. One task here would be to add a new flag to LH and LF to only produce .bfqs.

https://github.com/ucsd-progsys/liquidhaskell/issues/2020: Implements --save-bfq-on-error in liquid-fixpoint

Other pieces necessary for this issue are:

  • similar flag for liquid haskell.
  • simliar flag for liquid fixpoint and liquid haskell that produces bfq files on success (to use for negative tests).
  • using the flags in CI in the liquid haskell repo.

贡献者指南

Collect bfq files in CI · ucsd-progsys/liquidhaskell#2020 | Good First Issue