(rule
 (action
  (progn
   (copy ../../src_lockfree/skiplist.ml skiplist.ml)
   (copy ../../src_lockfree/size.ml size.ml)))
 (package saturn_lockfree))

(test
 (package saturn_lockfree)
 (name dscheck_skiplist)
 (modules skiplist size dscheck_skiplist)
 (build_if
  (>= %{ocaml_version} 5))
 (libraries alcotest dscheck multicore-magic-dscheck)
 (flags
  (:standard -open Multicore_magic_dscheck)))

(test
 (package saturn_lockfree)
 (name qcheck_skiplist)
 (modules qcheck_skiplist)
 (libraries
  saturn_lockfree
  barrier
  qcheck
  qcheck-core
  qcheck-alcotest
  alcotest
  domain_shims))

(test
 (package saturn_lockfree)
 (name stm_skiplist)
 (modules stm_skiplist)
 (libraries saturn_lockfree qcheck-core qcheck-stm.stm stm_run))
