Until now we've addressed several mutations, but in a rather ad-hoc way. To be more systematic about it, we can crank up the number of mutations (to, say, a thousand) and focus on one file at a time (e.g., earthly +test-mutations --n_mutations=1000 --modules=src/parameters.ml. Here is a WIP list of mutations obtained this way that we can work on.
[x] src/sliceList.ml SWAP_FUNCTION true -> false L46
This is in fact tested in tests/testSliceList.ml (test "slice_list_from_leaf_ptr - fails for ptr with no corresponding list in auction state", which is part of the slow tests).
This one loops forever when mutated, because the condition on the recursive loop is mutated.
It'd be nice to find a workaround for this issue.
src/mem.ml
Nothing here.
(NOTE: This operation did not as I would have liked, with zero mutations. I got Exception: Tried all possible combinations of modules and mutations and could not find a matching name. We should probably change this behavior.)
src/ligo.ml
Can't mutate this one since it gives ValueError: invalid literal for int() with base 10: '0x'.
Until now we've addressed several mutations, but in a rather ad-hoc way. To be more systematic about it, we can crank up the number of mutations (to, say, a thousand) and focus on one file at a time (e.g.,
earthly +test-mutations --n_mutations=1000 --modules=src/parameters.ml
. Here is a WIP list of mutations obtained this way that we can work on.src/avl.ml
src/burrow.ml
src/cfmm.ml
Nothing here.
src/error.ml
Unnecessary to mutate.
src/constants.ml
src/parameters.ml
src/checker.ml
src/liquidationAuction.ml
src/sliceList.ml
tests/testSliceList.ml
(test "slice_list_from_leaf_ptr - fails for ptr with no corresponding list in auction state", which is part of the slow tests).src/fa12Interface.ml
Unnecessary to mutate.
src/burrowTypes.ml
Unnecessary to mutate.
src/cfmmTypes.ml
Nothing here.
src/ptr.ml
src/liquidationAuctionPrimitiveTypes.ml
Unnecessary to mutate.
src/liquidationAuctionTypes.ml
Unnecessary to mutate.
src/checkerTypes.ml
Unnecessary to mutate.
src/fa2Interface.ml
Nothing here.
src/ctez.ml
src/lqt.ml
src/tok.ml
src/fixedPoint.ml
src/kit.ml
src/checkerEntrypoints.ml
Cannot mutate; this file is not managed by git.
src/checkerMain.ml
src/common.m
This one loops forever when mutated, because the condition on the recursive loop is mutated. It'd be nice to find a workaround for this issue.
src/mem.ml
Nothing here. (NOTE: This operation did not as I would have liked, with zero mutations. I got
Exception: Tried all possible combinations of modules and mutations and could not find a matching name
. We should probably change this behavior.)src/ligo.ml
Can't mutate this one since it gives
ValueError: invalid literal for int() with base 10: '0x'
.src/ligoOp.ml