[go: up one dir, main page]

WIP: Migrate Tezos to QCheck2

Context

https://github.com/c-cube/qcheck/pull/116 creates a QCheck2 module with integrated shrinking.

In the following release of QCheck2, the type arbitrary will also be removed, we will directly use Gen.t

This MR (currently WIP) tries and uses this new module.

Closes #1583

Manually testing the MR

The easiest way is to clone the MR branch of QCheck and symlink it in vendors/ (so that you can remove the link without removing the repository):

# In your favorite folder to clone Git repositories
$ git clone --branch=feat/integratedShrinking git@github.com:Sir4ur0n/qcheck.git
$ cd <path/to/your/tezos/project>
$ ln -s <path/to/your/qcheck/clone> vendors/

Now run all changed tests:

$ dune build @src/lib_base/test/runtest_p2p_addr -f && \
  dune exec src/lib_base/test/test_time.exe -f && \
  dune test src/lib_lwt_result_stdlib -f && \
  dune build @src/lib_protocol_environment/runtest_mem_context_array_theory -f && \
  dune build @src/lib_proxy/runtest_fuzzing_light -f && \
  dune build @src/lib_rpc_http/runtest -f && \
  dune exec src/lib_shell/test/test_synchronisation_heuristic_fuzzy.exe -f && \
  dune build @src/lib_stdlib/test/runtest_bounded_heap -f && \
  dune build @src/lib_stdlib/test/runtest_tzList -f && \
  dune build @src/proto_010_PtGRANAD/lib_protocol/runtest_saturation_fuzzing -f && \
  dune exec src/proto_010_PtGRANAD/lib_protocol/test/test_gas_properties.exe -f && \
  dune build @src/proto_010_PtGRANAD/lib_protocol/runtest_test_tez_repr -f && \
  dune build @src/proto_alpha/lib_protocol/runtest_saturation_fuzzing -f && \
  dune exec src/proto_alpha/lib_protocol/test/test_gas_properties.exe -f && \
  dune build @src/proto_alpha/lib_protocol/runtest_test_tez_repr -f

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, the Development Version section of CHANGES.md for everything else).
  • Select suitable reviewers using the Reviewers field below.
Edited by Julien Debon

Merge request reports

Loading