(rule
 (targets t1.ml t1.mli t1_plain.ml t1_plain_ext.ml)
 (deps
  (source_tree t1))
 (action
  (setenv
   SOURCE_DATE_EPOCH
   0
   (progn
    (run %{bin:ocaml-crunch} --mode=lwt -o t1.ml t1)
    (run %{bin:ocaml-crunch} --mode=plain -o t1_plain.ml t1)
    (run %{bin:ocaml-crunch} --mode=plain -e ext -o t1_plain_ext.ml t1)))))

(rule
 (alias runtest)
 (action
  (diff t1.expected.ml t1.ml)))

(rule
 (alias runtest)
 (action
  (diff t1.expected.mli t1.mli)))

(rule
 (alias runtest)
 (action
  (diff t1_plain.expected.ml t1_plain.ml)))

(rule
 (alias runtest)
 (action
  (diff t1_plain_ext.expected.ml t1_plain_ext.ml)))

(test
 (name consumer)
 (libraries lwt.unix mirage-kv lwt mirage-kv-mem)
 (modules t1 consumer))
