
(executable
  (name make)
  (flags :standard -warn-error -a)
  (modules make))

(rule
  (targets run_qtest.ml)
  (deps ./make.exe (source_tree ../src))
  (action (run ./make.exe -target %{targets} ../src/core ../src/unix/)))

(executable
  (name run_qtest)
  (modes native)
  (modules run_qtest)
  ; disable some warnings in qtests
  (flags :standard -warn-error -a -w -3-33-35-27-39-50)
  (libraries iter gen qcheck containers containers.unix unix uutf threads))

(rule
  (alias runtest)
  (locks /ctest)
  (package containers)
  (action  (run ./run_qtest.exe)))

(rule
  (targets run_qtest_data.ml)
  (deps make.exe (source_tree ../src/data))
  (action (run ./make.exe -target %{targets} ../src/data)))

(executable
  (name run_qtest_data)
  (modes native)
  (modules run_qtest_data)
  ; disable some warnings in qtests
  (flags :standard -warn-error -a -w -3-33-35-27-39-50)
  (libraries iter gen qcheck containers containers-data))

(rule
  (alias runtest)
  (package containers-data)
  (locks /ctest)
  (action  (run ./run_qtest_data.exe)))

(rule
  (targets run_qtest_thread.ml)
  (deps make.exe (source_tree ../src/threads))
  (action (run ./make.exe -target %{targets} ../src/threads)))

(executable
  (name run_qtest_thread)
  (modes native)
  (modules run_qtest_thread)
  ; disable some warnings in qtests
  (flags :standard -warn-error -a -w -3-33-35-27-39-50)
  (libraries qcheck containers containers-thread iter threads))

(rule
  (alias runtest)
  (locks /ctest)
  (package containers-thread)
  (action  (run ./run_qtest_thread.exe)))
