From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 B35BB7F1AA for ; Thu, 10 Sep 2015 01:33:50 +0200 (CEST) IronPort-PHdr: 9a23:5bU6ch3h/zCdNiCqsmDT+DRfVm0co7zxezQtwd8ZsegfKfad9pjvdHbS+e9qxAeQG96Lt7Qd1qGM7ujJYi8p39WoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6kO74TNaIBjjLw09fr2zQd6OyZ3qnLrvs7ToICx2xxOFKYtoKxu3qQiD/uI3uqBFbpgL9x3Sv3FTcP5Xz247bXianhL7+9vitMU7q3cYk7sb+sVBSaT3ebgjBfwdVWx+cjN92Mq+lx7DS0Ok5mEdSXkRihpFGUDg5zj+Rpb3v2OutO920S2CPMveS7UoHzmu8vE4ZgXvjXIrPjg4/WXgoFh2nqZa6Eatrhp+zoqSapyYMuh6f4vQZ8kTWWtYQ8sXXCwXUdD0VJcGE+dUZbUQlIL6vVZb6ELmXQQ= Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=daniel.buenzli@erratique.ch; spf=None smtp.mailfrom=daniel.buenzli@erratique.ch; spf=None smtp.helo=postmaster@smtp.webfaction.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=pra; client-ip=74.55.86.74; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of daniel.buenzli@erratique.ch) identity=mailfrom; client-ip=74.55.86.74; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="daniel.buenzli@erratique.ch"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@smtp.webfaction.com) identity=helo; client-ip=74.55.86.74; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="daniel.buenzli@erratique.ch"; x-sender="postmaster@smtp.webfaction.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AkAgA6wfBVfkpWN0pdDoNpaYMkvAWFeQKBehABAQEBAQEBARABAQkLDAghLoIdggcBAQQjVhALGgImAgJHEAYbE4gTBAm2fZQJAQEBBwEBAQEBGQSBIolHgQWDEYFIMweCaS+BFAWVVoUKiTyHIA+OEYNsg2g/cIhJAQEB X-IPAS-Result: A0AkAgA6wfBVfkpWN0pdDoNpaYMkvAWFeQKBehABAQEBAQEBARABAQkLDAghLoIdggcBAQQjVhALGgImAgJHEAYbE4gTBAm2fZQJAQEBBwEBAQEBGQSBIolHgQWDEYFIMweCaS+BFAWVVoUKiTyHIA+OEYNsg2g/cIhJAQEB X-IronPort-AV: E=Sophos;i="5.17,500,1437429600"; d="scan'208";a="176758602" Received: from mail6.webfaction.com (HELO smtp.webfaction.com) ([74.55.86.74]) by mail2-smtp-roc.national.inria.fr with ESMTP; 10 Sep 2015 01:33:49 +0200 Received: from [192.168.0.2] (cpc16-cmbg14-2-0-cust300.5-4.cable.virginm.net [86.6.157.45]) by smtp.webfaction.com (Postfix) with ESMTP id 74E4F207CB65; Wed, 9 Sep 2015 23:32:47 +0000 (UTC) Date: Thu, 10 Sep 2015 00:32:46 +0100 From: =?utf-8?Q?Daniel_B=C3=BCnzli?= To: John Christopher McAlpine Cc: caml-list@inria.fr Message-ID: <279F86C517F5492E94C9880187EA0333@erratique.ch> In-Reply-To: <55F0B2CA.40707@nmt.edu> References: <55F09806.1030507@nmt.edu> <20150909205548.GA12106@pema> <55F0B2CA.40707@nmt.edu> X-Mailer: sparrow 1.6.4 (build 1178) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Subject: Re: [Caml-list] Use of unit testing frameworks in OCaml Le mercredi, 9 septembre 2015 =C3=A0 23:29, John Christopher McAlpine a =C3= =A9crit : > Here you go: https://github.com/michipili/broken Looking at the examples it really seems to be. Names are already hard to come by, why bother me with having to invent one = for *each* assertion ? What you want is to subvert the backtrace mechanism = so that failing tests just output a location your IDE can jump to and highl= ight.=20=20 Also for tests that are more complex than simple assertions I'd like to hav= e a print out of the function arguments that lead to the assertion failure.= See for example [1] for a toy testing framework that does that and that I = c&p around because I don't have the time to spend a month to give the probl= em a good solution. This simple thing is already, from a programmer perspec= tive, much better than anything you mentioned =E2=80=94 but it's missing th= e quickcheck and random value generation bits that any self-respecting solu= tion should bring to the table.=20=20 The problem (beyond Gabriel's more sensitive answer) with these all these t= esting framework is that they seem to be too busy to uncreatively copy the = useless crap oo testing framework and terminology rather than provide actua= l useful tools for programmers. Best, Daniel [1] https://github.com/dbuenzli/astring/blob/master/test/testing.mli https://github.com/dbuenzli/astring/blob/master/test/testing.ml