From 8053775af7faaf6021e8f7f455783b265172339b Mon Sep 17 00:00:00 2001 From: Nicolas Osborne Date: Tue, 8 Oct 2024 15:39:47 +0200 Subject: [PATCH 1/3] [new release] Five Ortac packages 0.4.0 This release brings a number of new features and improvements: - New features: + [#247](https://github.com/ocaml-gospel/ortac/pull/247): Generated tests cover now functions with multiple SUT arguments + [#253](https://github.com/ocaml-gospel/ortac/pull/253): Generated tests cover now functions returning SUT values + [#259](https://github.com/ocaml-gospel/ortac/pull/259): Generated tests can be run in a separated process with a timeout - Improvements: + [#245](https://github.com/ocaml-gospel/ortac/pull/245): Fix the analysis of function signature to explicitly not support SUTs inside another type + [#251](https://github.com/ocaml-gospel/ortac/pull/251): Fix the display of the runnable scenario for value returned by a function that could have raised an exception --- packages/ortac-core/ortac-core.0.4.0/opam | 64 +++++++++++++++++++ packages/ortac-dune/ortac-dune.0.4.0/opam | 42 ++++++++++++ .../ortac-qcheck-stm.0.4.0/opam | 63 ++++++++++++++++++ .../ortac-runtime-qcheck-stm.0.4.0/opam | 50 +++++++++++++++ .../ortac-runtime/ortac-runtime.0.4.0/opam | 51 +++++++++++++++ 5 files changed, 270 insertions(+) create mode 100644 packages/ortac-core/ortac-core.0.4.0/opam create mode 100644 packages/ortac-dune/ortac-dune.0.4.0/opam create mode 100644 packages/ortac-qcheck-stm/ortac-qcheck-stm.0.4.0/opam create mode 100644 packages/ortac-runtime-qcheck-stm/ortac-runtime-qcheck-stm.0.4.0/opam create mode 100644 packages/ortac-runtime/ortac-runtime.0.4.0/opam diff --git a/packages/ortac-core/ortac-core.0.4.0/opam b/packages/ortac-core/ortac-core.0.4.0/opam new file mode 100644 index 00000000000..f8029b7035e --- /dev/null +++ b/packages/ortac-core/ortac-core.0.4.0/opam @@ -0,0 +1,64 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: + "Ortac (OCaml Runtime Assertion Checking) core tool and library based on Gospel" +description: """ +Ortac (OCaml Runtime Assertion Checking) is a tool to turn +executable Gospel specifications into code to test they hold. +Ortac Core provides: +- a library to turn Gospel terms and types into OCaml expressions + and types, +- and a command-line tool. +You will need at least one of the Ortac plugins to actually +generate test code. +""" +maintainer: ["Nicolas Osborne "] +authors: [ + "Clément Pascutto " + "Nicolas Osborne " + "Samuel Hym " +] +license: "MIT" +homepage: "https://github.com/ocaml-gospel/ortac" +doc: "https://ocaml-gospel.github.io/ortac/ortac-core/" +bug-reports: "https://github.com/ocaml-gospel/ortac/issues" +depends: [ + "dune" {>= "3.8"} + "ocaml" {>= "4.12.0"} + "dune-build-info" + "dune-site" + "cmdliner" {>= "1.1.0"} + "fmt" + "ppxlib" {>= "0.26.0"} + "gospel" {= "0.3.0"} + "alcotest" {with-test & >= "0.8.1"} + "ortac-runtime" {with-test} + "odoc" {with-doc} +] +conflicts: [ + "result" {< "1.5"} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "--promote-install-files=false" + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] + ["dune" "install" "-p" name "--create-install-files" name] +] +dev-repo: "git+https://github.com/ocaml-gospel/ortac.git" +url { + src: "https://github.com/ocaml-gospel/ortac/archive/refs/tags/0.4.0.tar.gz" + checksum: [ + "md5=16613f8f5d8cd134335ad8ddbca051f6" + "sha512=1e9f803639370aae447cc601cc17d780e3d0395977899fd5dcfcb037f754148a6a03178ac097a92667b5d02995d7b1f022f30b121de0744f72dad7f5d8306db9" + ] +} diff --git a/packages/ortac-dune/ortac-dune.0.4.0/opam b/packages/ortac-dune/ortac-dune.0.4.0/opam new file mode 100644 index 00000000000..00ed954ca4b --- /dev/null +++ b/packages/ortac-dune/ortac-dune.0.4.0/opam @@ -0,0 +1,42 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: "Generate dune rules for other ortac plugins" +description: "Generate dune rules for other ortac plugins" +maintainer: ["Nicolas Osborne "] +authors: ["Nicolas Osborne "] +license: "MIT" +homepage: "https://github.com/ocaml-gospel/ortac" +bug-reports: "https://github.com/ocaml-gospel/ortac/issues" +depends: [ + "dune" {>= "3.8"} + "ocaml" {>= "4.12.0"} + "fmt" + "cmdliner" {>= "1.1.0"} + "ortac-core" {= version} + "ortac-qcheck-stm" {with-test} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "--promote-install-files=false" + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] + ["dune" "install" "-p" name "--create-install-files" name] +] +dev-repo: "git+https://github.com/ocaml-gospel/ortac.git" +url { + src: "https://github.com/ocaml-gospel/ortac/archive/refs/tags/0.4.0.tar.gz" + checksum: [ + "md5=16613f8f5d8cd134335ad8ddbca051f6" + "sha512=1e9f803639370aae447cc601cc17d780e3d0395977899fd5dcfcb037f754148a6a03178ac097a92667b5d02995d7b1f022f30b121de0744f72dad7f5d8306db9" + ] +} diff --git a/packages/ortac-qcheck-stm/ortac-qcheck-stm.0.4.0/opam b/packages/ortac-qcheck-stm/ortac-qcheck-stm.0.4.0/opam new file mode 100644 index 00000000000..fcaa0173282 --- /dev/null +++ b/packages/ortac-qcheck-stm/ortac-qcheck-stm.0.4.0/opam @@ -0,0 +1,63 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: "QCheck-STM plugin for Ortac" +description: """ +The QCheck-STM plugin for the Ortac command-line tool (provided by +the ortac-core package) can generate model-based tests for a module +with Gospel specifications. The generated code will test that the +function specifications hold by using the QCheck-STM library to +create random test cases. + +Ortac (OCaml Runtime Assertion Checking) is a tool to turn +executable Gospel specifications into code to test they hold. +""" +maintainer: ["Nicolas Osborne "] +authors: [ + "Nicolas Osborne " + "Samuel Hym " + "Nikolaus Huber " +] +license: "MIT" +homepage: "https://github.com/ocaml-gospel/ortac" +doc: "https://ocaml-gospel.github.io/ortac/ortac-qcheck-stm/" +bug-reports: "https://github.com/ocaml-gospel/ortac/issues" +depends: [ + "dune" {>= "3.8"} + "ocaml" {>= "4.12.0"} + "cmdliner" {>= "1.1.0"} + "fmt" + "ppxlib" {>= "0.26.0"} + "mdx" {with-test & >= "2.3.0"} + "gospel" {= "0.3.0"} + "qcheck-stm" {>= "0.4"} + "ortac-core" {= version} + "ortac-runtime-qcheck-stm" {= version} + "odoc" {with-doc} +] +conflicts: [ + "result" {< "1.5"} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "--promote-install-files=false" + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] + ["dune" "install" "-p" name "--create-install-files" name] +] +dev-repo: "git+https://github.com/ocaml-gospel/ortac.git" +url { + src: "https://github.com/ocaml-gospel/ortac/archive/refs/tags/0.4.0.tar.gz" + checksum: [ + "md5=16613f8f5d8cd134335ad8ddbca051f6" + "sha512=1e9f803639370aae447cc601cc17d780e3d0395977899fd5dcfcb037f754148a6a03178ac097a92667b5d02995d7b1f022f30b121de0744f72dad7f5d8306db9" + ] +} diff --git a/packages/ortac-runtime-qcheck-stm/ortac-runtime-qcheck-stm.0.4.0/opam b/packages/ortac-runtime-qcheck-stm/ortac-runtime-qcheck-stm.0.4.0/opam new file mode 100644 index 00000000000..31247a43202 --- /dev/null +++ b/packages/ortac-runtime-qcheck-stm/ortac-runtime-qcheck-stm.0.4.0/opam @@ -0,0 +1,50 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: "Runtime support library for Ortac/QCheck-STM-generated code" +description: """ +The ortac-runtime-qcheck-stm library provides support for the code +generated by the Ortac/QCheck-STM plugin (provided by the +ortac-qcheck-stm package). + +Ortac (OCaml Runtime Assertion Checking) is a tool to turn +executable Gospel specifications into code to test they hold. +""" +maintainer: ["Nicolas Osborne "] +authors: [ + "Nicolas Osborne " + "Nikolaus Huber " +] +license: "MIT" +homepage: "https://github.com/ocaml-gospel/ortac" +bug-reports: "https://github.com/ocaml-gospel/ortac/issues" +depends: [ + "dune" {>= "3.8"} + "ocaml" {>= "4.12.0"} + "qcheck-stm" {>= "0.4"} + "ortac-runtime" {= version} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "--promote-install-files=false" + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] + ["dune" "install" "-p" name "--create-install-files" name] +] +dev-repo: "git+https://github.com/ocaml-gospel/ortac.git" +url { + src: "https://github.com/ocaml-gospel/ortac/archive/refs/tags/0.4.0.tar.gz" + checksum: [ + "md5=16613f8f5d8cd134335ad8ddbca051f6" + "sha512=1e9f803639370aae447cc601cc17d780e3d0395977899fd5dcfcb037f754148a6a03178ac097a92667b5d02995d7b1f022f30b121de0744f72dad7f5d8306db9" + ] +} diff --git a/packages/ortac-runtime/ortac-runtime.0.4.0/opam b/packages/ortac-runtime/ortac-runtime.0.4.0/opam new file mode 100644 index 00000000000..73294172abf --- /dev/null +++ b/packages/ortac-runtime/ortac-runtime.0.4.0/opam @@ -0,0 +1,51 @@ +# This file is generated by dune, edit dune-project instead +opam-version: "2.0" +synopsis: "Runtime support library for Ortac-generated code" +description: """ +The ortac-runtime library provides support for the code generated +by the various Ortac plugins. +Ortac (OCaml Runtime Assertion Checking) is a tool to turn +executable Gospel specifications into code to test they hold. +""" +maintainer: ["Nicolas Osborne "] +authors: [ + "Clément Pascutto " + "Nicolas Osborne " + "Samuel Hym " +] +license: "MIT" +homepage: "https://github.com/ocaml-gospel/ortac" +doc: "https://ocaml-gospel.github.io/ortac/ortac-runtime/" +bug-reports: "https://github.com/ocaml-gospel/ortac/issues" +depends: [ + "dune" {>= "3.8"} + "ocaml" {>= "4.12.0"} + "fmt" {>= "0.8.7"} + "zarith" + "monolith" {with-test & >= "20201026"} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "--promote-install-files=false" + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] + ["dune" "install" "-p" name "--create-install-files" name] +] +dev-repo: "git+https://github.com/ocaml-gospel/ortac.git" +url { + src: "https://github.com/ocaml-gospel/ortac/archive/refs/tags/0.4.0.tar.gz" + checksum: [ + "md5=16613f8f5d8cd134335ad8ddbca051f6" + "sha512=1e9f803639370aae447cc601cc17d780e3d0395977899fd5dcfcb037f754148a6a03178ac097a92667b5d02995d7b1f022f30b121de0744f72dad7f5d8306db9" + ] +} From 25d47bc3fdb62125bb14752dbffca4dfd72c424e Mon Sep 17 00:00:00 2001 From: Nicolas Osborne Date: Wed, 9 Oct 2024 09:20:16 +0200 Subject: [PATCH 2/3] Update packages/ortac-core/ortac-core.0.4.0/opam Co-authored-by: Jan Midtgaard --- packages/ortac-core/ortac-core.0.4.0/opam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ortac-core/ortac-core.0.4.0/opam b/packages/ortac-core/ortac-core.0.4.0/opam index f8029b7035e..c8689084af1 100644 --- a/packages/ortac-core/ortac-core.0.4.0/opam +++ b/packages/ortac-core/ortac-core.0.4.0/opam @@ -32,7 +32,7 @@ depends: [ "ppxlib" {>= "0.26.0"} "gospel" {= "0.3.0"} "alcotest" {with-test & >= "0.8.1"} - "ortac-runtime" {with-test} + "ortac-runtime" {with-test & = version} "odoc" {with-doc} ] conflicts: [ From 231513d709b736ed404044bb3d684636c5708d8b Mon Sep 17 00:00:00 2001 From: Nicolas Osborne Date: Wed, 9 Oct 2024 09:20:23 +0200 Subject: [PATCH 3/3] Update packages/ortac-dune/ortac-dune.0.4.0/opam Co-authored-by: Jan Midtgaard --- packages/ortac-dune/ortac-dune.0.4.0/opam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ortac-dune/ortac-dune.0.4.0/opam b/packages/ortac-dune/ortac-dune.0.4.0/opam index 00ed954ca4b..c09bad5173d 100644 --- a/packages/ortac-dune/ortac-dune.0.4.0/opam +++ b/packages/ortac-dune/ortac-dune.0.4.0/opam @@ -13,7 +13,7 @@ depends: [ "fmt" "cmdliner" {>= "1.1.0"} "ortac-core" {= version} - "ortac-qcheck-stm" {with-test} + "ortac-qcheck-stm" {with-test & = version} "odoc" {with-doc} ] build: [