; We copy cells.ml here so we can build it using TracedAtomic instead of the default one.
(copy_files# (files ../../core/cells.ml))
(copy_files# (files ../../sem_state.ml))
(copy_files# (files ../../sync.ml))
(copy_files# (files ../../unix/rcfd.ml))
(copy_files# (files ../../condition.ml))
(copy_files# (files ../../pool.ml))
(copy_files# (files ../../core/broadcast.ml))

(executables
  (names test_cells test_semaphore test_sync test_rcfd test_condition test_pool)
  (libraries dscheck optint fmt eio))

(rule
  (alias dscheck)
  (package eio)
  (action (run %{exe:test_rcfd.exe})))

(rule
  (alias dscheck)
  (package eio)
  (action (run %{exe:test_cells.exe})))

(rule
  (alias dscheck)
  (package eio)
  (action (run %{exe:test_sync.exe})))

(rule
  (alias dscheck)
  (package eio)
  (action (run %{exe:test_semaphore.exe})))

(rule
  (alias dscheck)
  (package eio)
  (action (run %{exe:test_condition.exe})))

(rule
  (alias dscheck)
  (package eio)
  (action (run %{exe:test_pool.exe})))
