Skip to content

Releases: ocaml-multicore/multicoretests

0.11

08 Oct 09:51

Choose a tag to compare

This release is purely a test suite update to get it all green with the latest ocaml/ocaml trunk.
As the test libraries are identical to those of the 0.10 release, 0.11 will not published on the opam repositoty:

  • #571: Adjust the exception matched in domain/domain_spawntree.ml to build
    with latest ocaml/ocaml trunk (test suite update)

0.10

07 Oct 13:30

Choose a tag to compare

This release is primarily a test suite update, with #567 adjusting the Gc.stat stack_size check after it has been restored on trunk. The release also bumps the dune lower bound to 3.18 to utilize its functionality to generate x-maintenance-intent entries:

  • #570: Use dune.3.18 support to generate x-maintenance-intent entries

0.9

29 Jul 13:16

Choose a tag to compare

0.9

The 0.9 release contains adjustments to the public interface of Lin in order to make it compatible with 5.5.0+trunk
and also switches the Util.Pp pretty printers to use QCheck.Print for consistency:

  • #566: Use QCheck.Print combinators in Util.Pp too for consistency,
    e.g., to avoid that STM argument and result printer outputs differ.
  • #562: Fix the int32 and int64 printers in both Lin and STM to add
    missing l and L suffixes on literals.
  • #560: Change Lin.{constructible,deconstructible} from an empty variant type
    to an abstract type to get Lin compiling on 5.5.0+trunk again, due
    to ocaml/ocaml#13994 removing special handling
    of abstract and empty variants defined in the current module.

0.8

10 Apr 14:28

Choose a tag to compare

0.8

The 0.8 release improves the error finding ability of the Lin_thread and STM_thread modes:

  • #540: Significantly increase the probability of context switching in Lin_thread and STM_thread by utilizing Gc.Memprof callbacks. Avoid on 5.0-5.2 without Gc.Memprof support.
  • #546: Speed up Lin's default string and bytes shrinkers.
  • #547: Add Util.Pp.{cst4,cst5}

0.7

21 Jan 16:29

Choose a tag to compare

0.7

This release contains two contributions from @polytypic, incl. an STM feature to help testing of cmds that may raise an effect:

  • #509: Change/Fix to use a symmetric barrier to synchronize domains
  • #511: Introduce extended specs to allow wrapping command sequences
  • #517: Add Lin combinators seq_small, array_small, and list_small

0.6

09 Jan 15:57

Choose a tag to compare

0.6

This version contains to changes to the qcheck-lin, qcheck-stm or qcheck-multicoretests-util packages
and hence isn't pushed to the opam-repo.

Instead the release contains two significant additions to the test suite in the multicoretests opam package:

  • #463: Dynarray tests
  • #469: Add gc tests

0.5

16 Dec 09:51

Choose a tag to compare

0.5

The biggest news in the 0.5 release is the addition of Util.Pp.pp_fun_ for printing function values generated with QCheck.
To ensure quoted and escaped output for chars and strings, this required bumping the qcheck-core lower bound to the freshly released qcheck-core.0.23. This in turn, enabled a couple of other clean-ups:

  • #492: Also use the new, upstreamed Gen.exponential combinator in STM
  • #491: Require qcheck.0.23, simplify show functions by utilizing it, and update expect outputs accordingly
  • #486: Add Util.Pp.pp_fun_ printer for generated QCheck.fun_ functions

0.4

17 Sep 19:36

Choose a tag to compare

0.4

The 0.4 release brings two new "stress test" functions and also adjusts the cmd list distribution of STM_sequential:

  • #415: Remove --verbose in internal mutable_set_v5 expect test to avoid a test failure on a slow machine
  • #443: Add Lin_domain.stress_test as a lighter stress test, not requiring an interleaving search.
  • #462: Add STM_domain.stress_test_par, similar to Lin_domain.stress_test for STM models.
  • #472: Switch arb_cmds to use an exponential distribution with a mean of 10, avoiding lists of up to 10000 cmds in STM_sequential (reported by @nikolaushuber).

0.3

11 Oct 13:19

Choose a tag to compare

0.3

The 0.3 release brings 3 "usability improvements" to STM and Util
and a Lin search improvement that should reduce memory allocation.

  • #400: Catch and delay exceptions in STM's next_state for a nicer UX
  • #387: Reduce needless allocations in Lin's sequential consistency
    search, as part of an Out_channel test cleanup
  • #379: Extend the set of Util.Pp pretty-printers and teach them to
    add break hints similar to ppx_deriving.show; teach to_show to
    generate truncated strings when $MCTUTILS_TRUNCATE environment
    variable is set
  • #368: Switch STM_domain.agree_prop_par_asym from using
    Semaphore.Binary to using an int Atomic.t which improves
    the error rate across platforms and backends

0.2

02 Jun 10:27

Choose a tag to compare

0.2

This release adds a range of features and bugfixes:

  • #342: Add two submodules of combinators in Util:
    • Pp to pretty-print values back to valid OCaml syntax
    • Equal to test equality of values
  • #337: Add 3 Bytes.t combinators to Lin: bytes, bytes_small, bytes_small_printable
  • #329,340,352: Support qcheck-lin and qcheck-stm on OCaml 4.12.x, 4.13.x and 4.14.x
    without the Domain and Effect modes
  • #316: Fix rep_count in STM_thread so that negative and positive
    tests repeat equally many times
  • #318: avoid repetitive interleaving searches in STM_domain and STM_thread
  • #312: Escape and quote bytes printed with STM's bytes combinator
  • #295: ensure cleanup is run in the presence of exceptions in
    • STM_sequential.agree_prop and STM_domain.agree_prop_par
    • Lin_thread.lin_prop and Lin_effect.lin_prop