This site uses cookies to improve the user experience. By continuing to use the site you are agreeing to our use of cookies.
Welcome to QuickCheck CI!
QuickCheck CI is a continuous integration server that runs
QuviQ QuickCheck on a project. QuickCheck is a tool for automatically
generating test cases from specified properties of the software under
test.
Open Source Developers can use QuickCheck CI to get free access to
QuviQ QuickCheck for their quality assurance. There are many open source
projects created by people that have a commercial copy of QuickCheck; they
can now easily share their QuickCheck properties.
QuickCheck CI runs the full version of QuickCheck, including the
connection to C. Thus, even open source projects written in C can be tested
with QuickCheck CI.
Most recently built projects
Project
Status
Date
Runtime
Project settings
If you have a lot of active counterexamples the running time might get very high.
In this case you can inactivate all counterexamples in bulk.
Before registering your project you need to add the following two files in the top directory of your repository:
⇒ EQC_CI_LICENCE.txt
- The QuviQ CI licence file which can be downloaded here.
⇒ .eqc_ci
- A configuration file with the following contents.
{build, "CMD"}.
Where CMD is a command that builds your project, for example: cd ebin; erl -make
(Mandatory)
{test_path, "DIR"}.
Where DIR is the directory where the compiled beam-files will be found, for example: ebin
(Optional - the option can be repeated if tests reside in multiple directories. Default:ebin)
{deps, "DIR"}.
Where DIR is the directory containing beam files necessary when running, for example: deps/folsom/ebin
(Optional - the option can be repeated for multiple dependencies. Note: rebar.config is currently not taken into account)
{test_root, "DIR"}.
Where DIR is the directory from where the tests should be run, for example: ebin_test
(OptionalNote: rebar.config is currently not taken into account)
Code coverage
QuickCheck CI will automatically try to collect coverage information when running tests. In order to succeed the code must be compiled using
the eqc_cover parse transform. If you are compiling using: erl -make this can be achieved with:
Otherwise make sure that you compile with this parse transform and that it is
applied first (it needs the source code untouched to display it correctly).
QuickCheck-CI exports a GitHub webhook that can automatically queue a build whenever there is
a push to a repository. You can install the webhook as follows:
Open the repository on GitHub while being logged in
Navigate to the settings page
Choose the "Webhooks & Services" menu item
Click the "Add webhook" button
Fill the "Payload URL" field with the following URL:
Set the "Content type" to 'application/json'
Since QuickCheck-CI only understands the PUSH event, select 'Just the push event'
Leave the other settings as , and click the "Add webhook" button
Installed software
QuviQ QuickCheck:
Erlang:
Elixir:
Configuration options
{build, "CMD"}.
Where CMD is a command that builds your project, for example: cd ebin; erl -make
Mandatory
{test_path, "DIR"}.
Where DIR is the directory where the compiled beam-files will be found, for example: ebin
Optional - The option can be repeated if tests reside in multiple directories.
{deps, "DIR"}.
Where DIR is the directory containing beam files necessary when running, for example: deps/folsom/ebin
Optional - The option can be repeated for multiple dependencies.
Note: rebar.config is currently not taken into account.
{test_root, "DIR"}.
Where DIR is the directory from where the tests should be run, for example: ebin_test
Optional
Default value: "ebin"
Note: rebar.config is currently not taken into account.
Code coverage
QuickCheck CI will automatically try to collect coverage information when running tests. In order to succeed the code must be compiled using
the eqc_cover parse transform. If you are compiling using: erl -make this can be achieved with:
Otherwise make sure that you compile with this parse transform and that it is
applied first (it needs the source code untouched to display it correctly).
*** No coverage information found ***
QuickCheck CI will automatically try to collect coverage information when running
tests. In order to succeed the code must be compiled using the eqc_cover parse transform.
If you are compiling using 'erl -make' this can be achieved with:
erl -eval "make:all([{parse_transform, eqc_cover}])" -s init stop
Otherwise make sure that you compile with this parse transform and that it is applied first
(it needs the source code untouched to display it correctly)