Skip to content

Releases: ocaml-gospel/ortac

0.7.2

27 Aug 09:15
0d9abb9

Choose a tag to compare

This is a bugfix release.

  • [Dune] Fix cycle dependency in Ortac/Dune-rules for wrapper plugin
    #348

0.7.1

11 Jul 07:57
d97b732

Choose a tag to compare

This is a bugfix release.

  • [Dune] Fix dependencies in generated library declaration for Ortac/Wrapper
    #342
  • [Dune] Fix opam dependancies in ortac-dune
    #340

0.7.0

04 Jul 12:11
163def8

Choose a tag to compare

This new release introduces the new Ortac/Wrapper plugin, which includes extended support for projection functions, model-based specifications, and old operator support.
It also fixes some bugs for both the Ortac/Wrapper and Ortac/QCheck-STM plugins.

New introduction of the Ortac/Wrapper plugin

  • Support for old operator
    The Ortac/Wrapper plugin now supports the old operator in post-conditions,
    checking post-conditions mentionning pre-states.
    #297

  • Model-based specification support with projection function

    • Ortac/Wrapper now handles Gospel models in specifications. Generation is skipped if the required projection is missing, avoiding incorrect code.
      #305, #313, #327, #332, #331, #324
  • Improved generated output
    Generated files includes a header comment indicating that they were produced by Ortac.
    #322

  • Automatic Dune file generation
    The Ortac/Dune plugin automatically generates dune files for Ortac/Wrapper plugin.
    #314, #335

Tests

  • Test reorganization
    Tests for the Ortac/Wrapper plugin have been split into separate files to improve maintainability.
    #306

  • Extended test coverage
    Several additional tests were added to better cover the Ortac/Wrapper plugin features.
    #299

Bug Fixes

  • Ortac/QCheck-STM

    • Fixed incorrect behavior in the next-state computation for functions specialized for ints.
      #326
    • Disabled warning 34 (unused open) in generated code to reduce noise.
      #307
  • Ortac/Wrapper
    Fixed incorrect error type reporting for violated pre-conditions and post-conditions in generated tests.
    #295

0.6.1

12 May 07:41
efb681c

Choose a tag to compare

This is mainly a bugfix release

  • [QCheck-STM] Fix labelled arguments in runnable scenario
    #302
  • [QCheck-STM] Modifies SUTs in place in the store
    #296

0.6.0

05 Mar 13:34
3a22f55

Choose a tag to compare

This new release comes with three improvements:

  • Make search for returned value description more flexible
    #291
  • Fix generation of the QCheck.Fn.apply identifier
    #288
  • Improve failure message in case of out of domain failure
    #287

0.5.0

06 Jan 15:47
97e8a15

Choose a tag to compare

This new release comes with three new features:

  • #277: Add support for generating function values in Ortac/QCheck-STM
  • #280: Add module-prefix optional argument to Ortac/QCheck-STM and Ortac/Dune
  • #281: Add submodule optional argument to Ortac/QCheck-STM and Ortac/Dune

0.4.0

08 Oct 11:59
23373dc

Choose a tag to compare

This release brings a number of new features and improvements:

  • New features:
    • #247: Generated tests cover now functions with multiple SUT arguments
    • #253: Generated tests cover now functions returning SUT values
    • #259: Generated tests can be run in a separated process with a timeout
  • Improvements:
    • #245: Fix the analysis of function signature to explicitly not support SUTs inside
      another type
    • #251: Fix the display of the runnable scenario for value returned by a function
      that could have raised an exception

0.3.0

04 Jul 09:11
c8f27be

Choose a tag to compare

This release brings a number of new features and improvements:

  • Improvement of the user interface:
    • Switch to a module based configuration to simplify the command line
    • Release a dune plugin to generate Dune boilerplate
    • Overwrite the default cleanup function if there is one defined in the
      configuration module
  • Extend supported Gospel subset for models:
    • Add support for custom ghost type as model: you are no longer limited to
      the Gospel standard library to define the model of your OCaml types
    • Add support for functional type in model: you can use the arrow type as a
      model
  • Extend coverage of generated tests:
    • Add support for testing functions without a SUT argument
    • Add support for tuples, both as argument and returned value
  • Fix:
    • Add an error when none of the functions can be tested rather than
      generating illegal OCaml code
    • Handle correctly cast from int to integer included by Gospel when
      computing the expected returned value in failure message
    • Fix field access translation

0.2.0

15 Apr 09:34
a5a285d

Choose a tag to compare

This release brings of number of new features and improvements:

  • Improve test-failure message so that the user knows which part of the Gospel
    specification has been violated and get a runnable OCaml program
    demonstrating the unexpected behaviour.

  • Add support for type invariants so that they are checked at initialisation
    and after each function call.

  • Add an include option to qcheck-stm cli so that the user can add QCheck
    generator and STM.ty type extension.

  • Add a quiet flag

  • Make --help and --version work even without any plugins installed

  • Add a comment warning that the file is generated

  • Check for out of scope variables to avoid generating code that will be
    rejected by OCaml compiler.

  • Translate constant integer patterns with a guard testing for equality

0.1.0

24 Oct 13:09

Choose a tag to compare

Initial release of ortac-core, ortac-runtime and ortac-qcheck-stm