(rule
 (action
  (copy ../../src/mpsc_queue.ml mpsc_queue.ml))
 (package saturn))

(test
 (package saturn)
 (name mpsc_queue_dscheck)
 (libraries atomic dscheck alcotest)
 (build_if
  (>= %{ocaml_version} 5))
 (modules mpsc_queue mpsc_queue_dscheck))

(test
 (package saturn)
 (name qcheck_mpsc_queue)
 (libraries
  saturn
  barrier
  qcheck
  qcheck-core
  qcheck-alcotest
  domain_shims
  alcotest)
 (modules qcheck_mpsc_queue))

(test
 (package saturn)
 (name stm_mpsc_queue)
 (modules stm_mpsc_queue)
 (libraries
  saturn
  qcheck-core
  qcheck-multicoretests-util
  qcheck-stm.stm
  stm_run))
