From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 42A817F736 for ; Tue, 15 Sep 2015 16:22:43 +0200 (CEST) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=ceastlund@janestreet.com; spf=Pass smtp.mailfrom=ceastlund@janestreet.com; spf=None smtp.helo=postmaster@mxout4.mail.janestreet.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of ceastlund@janestreet.com) identity=pra; client-ip=38.105.200.233; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="ceastlund@janestreet.com"; x-sender="ceastlund@janestreet.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of ceastlund@janestreet.com designates 38.105.200.233 as permitted sender) identity=mailfrom; client-ip=38.105.200.233; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="ceastlund@janestreet.com"; x-sender="ceastlund@janestreet.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mxout4.mail.janestreet.com) identity=helo; client-ip=38.105.200.233; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="ceastlund@janestreet.com"; x-sender="postmaster@mxout4.mail.janestreet.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AIAgAbKfhVnOnIaSZdFoNhaQaCXqoDkm+CQYM2AoE1BzsRAQEBAQEBAREBAQEBAQYWCU+EIwEBAQIBAQwGER0BASwLAQ8JAgsNDR0CAiEBEgEFAQoSBhMSEId3AwoIAwqYb49GgTA+MYpVcYRlAQWKSwMKhGkBAQEBAQUBAQEBAQEBFQYKhmmEfYJQHoE2ZQQHgmmBQ4YADI9VhRCGBYFughORNoVxEiOBFxEmgjANHIFwVQEBiigBAQE X-IPAS-Result: A0AIAgAbKfhVnOnIaSZdFoNhaQaCXqoDkm+CQYM2AoE1BzsRAQEBAQEBAREBAQEBAQYWCU+EIwEBAQIBAQwGER0BASwLAQ8JAgsNDR0CAiEBEgEFAQoSBhMSEId3AwoIAwqYb49GgTA+MYpVcYRlAQWKSwMKhGkBAQEBAQUBAQEBAQEBFQYKhmmEfYJQHoE2ZQQHgmmBQ4YADI9VhRCGBYFughORNoVxEiOBFxEmgjANHIFwVQEBiigBAQE X-IronPort-AV: E=Sophos;i="5.17,536,1437429600"; d="scan'208";a="177716503" Received: from mxout4.mail.janestreet.com ([38.105.200.233]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Sep 2015 16:22:42 +0200 Received: from tot-qpr-mailcore2.delacy.com ([172.27.56.106] helo=tot-qpr-mailcore2) by mxout4.mail.janestreet.com with esmtps (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.82) (envelope-from ) id 1Zbr84-000691-SC for caml-list@inria.fr; Tue, 15 Sep 2015 10:22:40 -0400 X-JS-Flow: external Received: by tot-qpr-mailcore2 with JS-mailcore (0.1) (envelope-from ) id BV-Cmu-AAAGrT-Kh; 2015-09-15 10:22:38.337487-04:00 Received: from mail-io0-f182.google.com ([209.85.223.182]) by mxgoog1.mail.janestreet.com with esmtps (UNKNOWN:AES128-GCM-SHA256:128) (Exim 4.72) (envelope-from ) id 1Zbr82-0005vI-7f for caml-list@inria.fr; Tue, 15 Sep 2015 10:22:38 -0400 Received: by iofb144 with SMTP id b144so201875537iof.1 for ; Tue, 15 Sep 2015 07:22:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=janestreet.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=KshVQeJFN+XG1fAu/Mcmk8ixsxZE6JbtFIMf0o7DQio=; b=W/gzgyzIb+Vl5E9UFj1hPlW/4iwp7F6uhoGVi0RPv2rv943OtxwSJc7VzfQ0vXris8 c2m9fmKWGYpqyM0wRrrgIoWbIfAMxYqN3UJMTxMAGqtHqym1gp113wyjXfMKZXbUe00c 9r2omxVsPg5zLPn24FPJ1rKcgN8iwXyLigde0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=KshVQeJFN+XG1fAu/Mcmk8ixsxZE6JbtFIMf0o7DQio=; b=MRzNoSzfdw6J9JY4xcEcwtY81ThJIZUgqd/FDpIDCCfbH36uy42QXPQTEcxugFvr8h +S5kFQ+EtpgcfkVs+mHJ8xRgemCGH2D7OboNwXU03gJ6lvCoJ7ose6LviDTGhBt26wsB MWE1uTxyiIsa75xiL0GuvprCSzcMj0vrJajzcA3Ts0X8aW7i6AvfFt73phykaz2IhDFB p0uYfN7seQiiHBSEvV+FZcRiPLeFUR2MiGegFwACpAFKh05NsGmqx4Eb/ze8kHdnI3Af J9mqP8KwlucFPDDOg7XDMwOZ8J6CK1fWdQA4Soa+RRQ5NJiGU9x3bhSUa51y3LZZ+/8G 8otw== X-Gm-Message-State: ALoCoQkvVjhoW8DlwxHWkjV4hJ0K/2SqZJGD010Ba+gsWY5fSEbRn7x/HWmINFikVbX7A+9/GaBcBzhNX7qd+TU5807K3HrcucPylZvAhQwe4ofEpLr0v5Gj/zEVSxyBVs/7bd5jDOyL X-Received: by 10.107.135.169 with SMTP id r41mr38589143ioi.152.1442326957857; Tue, 15 Sep 2015 07:22:37 -0700 (PDT) X-Received: by 10.107.135.169 with SMTP id r41mr38589106ioi.152.1442326957625; Tue, 15 Sep 2015 07:22:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.181.85 with HTTP; Tue, 15 Sep 2015 07:21:58 -0700 (PDT) In-Reply-To: References: <55F536EE.5010901@etorok.net> <20150913155224.GE16946@carty> From:Carl Eastlund Date: Tue, 15 Sep 2015 10:21:58 -0400 Message-ID: To:Gabriel Scherer Cc:Yaron Minsky , "caml-list@inria.fr" Content-Type: multipart/alternative; boundary=001a113ed0def5d26d051fc9e938 X-JS-Processed-by: mailcore Subject: Re: [Caml-list] Quick Check like testing for OCaml? --001a113ed0def5d26d051fc9e938 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Glad you like it. Our Quickcheck implementation is new and its design is still somewhat of an experiment, so I can't claim it's a mature library as originally asked for in this thread, but of course we appreciate feedback from early adopters. As Yaron said, I'm writing up a blog post that will go into more detail about it. We just had an intern, Daniel Spencer, implement shrinking. That will make its way to the public release shortly. On Tue, Sep 15, 2015 at 10:06 AM, Gabriel Scherer wrote: > >> https://github.com/janestreet/core_kernel/blob/master/src/quickcheck_gen= erator.mli >> >> https://github.com/janestreet/core_kernel/blob/master/src/quickcheck_obs= erver.mli >> > > This is very nice. > I hope the library will also get shrinking support, because it not so easy > to do, and important in practice. > > On Tue, Sep 15, 2015 at 3:09 PM, Yaron Minsky > wrote: > >> Core_kernel has a recently added quickcheck library. Carl Eastlund, who >> is the main author, is finishing up a blog post describing it, but you c= an >> start with the documentation in this file: >> >> >> https://github.com/janestreet/core_kernel/blob/master/src/quickcheck_gen= erator.mli >> >> On Sun, Sep 13, 2015 at 11:52 AM, Simon Cruanes < >> simon.cruanes.2007@m4x.org> wrote: >> >>> There is also qtest (also called iTeML on github) which is a bit >>> special: it's a testing framework providing unit testing through OUnit, >>> and simple random testing; its specificy is that tests can be written in >>> comments within the module to test, so that the code itself has no >>> additional >>> dependencies or code bloat due to tests. It is very easy to write new >>> tests, since you don't have to add specific test modules. >>> It is used, afaik, at least in Batteries and in containers. >>> >>> I am probably going to work on making qtest and qcheck a bit closer, if >>> qtest's developper(s) agree. >>> >>> Cheers, >>> >>> Le Sun, 13 Sep 2015, T=C3=B6r=C3=B6k Edwin a =C3=A9crit : >>> > On 09/13/2015 11:09 AM, Keiko Nakata wrote: >>> > > Hi, >>> > > >>> > > I am looking for (reasonably matured and hopefully easy to install) >>> QuickCheck-like property based testing software for OCaml code. >>> > > >>> > > Any information is appreciated! >>> > >>> > There is qcheck.0.4, quickcheck.1.0.2 and kaputt.1.2 on opam. >>> > qcheck has documentation in the mli, integration with OUnit and quite >>> easy to get started with. >>> > Kaputt also has reducers (to produce smaller counterexamples), and >>> SmallCheck-like enumeration tests. >>> > >>> > I haven't tried quickcheck, and haven't found an equivalent to >>> SmartCheck's counterexample generalization [1] >>> > >>> > [1] https://www.cs.indiana.edu/~lepike/pubs/smartcheck.pdf >>> > >>> > Best regards, >>> > --Edwin >>> > >>> > -- >>> > Caml-list mailing list. Subscription management and archives: >>> > https://sympa.inria.fr/sympa/arc/caml-list >>> > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >>> > Bug reports: http://caml.inria.fr/bin/caml-bugs >>> >>> >>> -- >>> Simon Cruanes >>> >>> http://weusepgp.info/ >>> key 49AA62B6, fingerprint 949F EB87 8F06 59C6 D7D3 7D8D 4AC0 1D08 49AA >>> 62B6 >>> >> >> > --=20 Carl Eastlund --001a113ed0def5d26d051fc9e938 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Glad you like it.=C2=A0 Our Quickcheck implementation is new and its = design is still somewhat of an experiment, so I can't claim it's a = mature library as originally asked for in this thread, but of course we app= reciate feedback from early adopters.=C2=A0 As Yaron said, I'm writing = up a blog post that will go into more detail about it.

We just had an intern, Dan= iel Spencer, implement shrinking.=C2=A0 That will make its way to the publi= c release shortly.

On Tue, Sep 15, 2015 at 10:06 AM, Gabriel Scherer <ga= briel.scherer@gmail.com> wrote:
https://github.com/janestreet/core_kernel/blob/maste= r/src/quickcheck_observer.mli

This is very nice.
I hope the library will also get shrinking supp= ort, because it not so easy to do, and important in practice.

On Tue, Sep= 15, 2015 at 3:09 PM, Yaron Minsky <yminsky@janestreet.com> wrote:
Core_kernel has a recently added quickcheck library.=C2=A0 Carl Ea= stlund, who is the main author, is finishing up a blog post describing it, = but you can start with the documentation in this file:

<= a href=3D"https://github.com/janestreet/core_kernel/blob/master/src/quickch= eck_generator.mli" target=3D"_blank">https://github.com/janestreet/core_ker= nel/blob/master/src/quickcheck_generator.mli
<= div class=3D"gmail_extra">
On Sun, Sep 13, 20= 15 at 11:52 AM, Simon Cruanes <simon.cruanes.2007@m4x.org>= wrote:
There i= s also qtest (also called iTeML on github) which is a bit
special: it's a testing framework providing unit testing through OUnit,=
and simple random testing; its specificy is that tests can be written in
comments within the module to test, so that the code itself has no addition= al
dependencies or code bloat due to tests. It is very easy to write new
tests, since you don't have to add specific test modules.
It is used, afaik, at least in Batteries and in containers.

I am probably going to work on making qtest and qcheck a bit closer, if
qtest's developper(s) agree.

Cheers,

Le Sun, 13 Sep 2015, T=C3=B6r=C3=B6k Edwin a =C3=A9crit :
> On 09/13/2015 11:09 AM, Keiko Nakata wrote:
> > Hi,
> >
> > I am looking for (reasonably matured and hopefully easy to instal= l) QuickCheck-like property based testing software for OCaml code.
> >
> > Any information is appreciated!
>
> There is qcheck.0.4, quickcheck.1.0.2 and kaputt.1.2 on opam.
> qcheck has documentation in the mli, integration with OUnit and quite = easy to get started with.
> Kaputt also has reducers (to produce smaller counterexamples), and Sma= llCheck-like enumeration tests.
>
> I haven't tried quickcheck, and haven't found an equivalent to= SmartCheck's counterexample generalization [1]
>
> [1] https://www.cs.indiana.edu/~lepike/pu= bs/smartcheck.pdf
>
> Best regards,
> --Edwin
>
> --
> Caml-list mailing list.=C2=A0 Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group= /ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs


--
Simon Cruanes

http= ://weusepgp.info/
key 49AA62B6, fingerprint 949F EB87 8F06 59C6 D7D3=C2=A0 7D8D 4AC0 1D08 49A= A 62B6





--
Carl Eastlund
--001a113ed0def5d26d051fc9e938--