- Uses property based testing to check the equivalence of code refactored by Wrangler
- Compares folders or commits of the same codebase with the original and refactored code (git)
- Erlang/OTP 26 or later
- Wrangler
- PropEr
- Jsone
- Git: The git cli client has to be installed
- Dialyzer, Typer (usually packaged together with Erlang)
Just grab the latest release and put it somewhere on your $PATH
(e.g.: ~/.local/bin
).
You also have to add execute permissions. (chmod +x equivchecker
)
To run the check, you can specify which folders or commits you want to compare like this
$ equivchecker <original_source> <refactored_source>
$ equivchecker -c <original_commit> <refactored_commit>
The -c (or --commit)
flag tells equivchecker to use commits instead of folders.
You can also specify a single commit or folder, in which case the content of the current directory will be compared to it:
$ equivchecker <original_folder>
$ equivchecker -c <original_commit>
You can even omit both arguments:
$ equivchecker
In this case, the current directory will be compared to the currently checked out commit (HEAD).
It's possible to get the output formatted as JSON:
$ equivchecker --json
Statistical information about the tests can be generated with -s
or --statistics
:
$ equivchecker --statistics
We would like to thank the Erlang Ecosystem Foundation for generously funding the development of this project. Their support has been invaluable and has allowed us to bring this project to life.