(jbuild_version 1)

;; Test for ${^} with globs in rules

(rule
 ((targets (result expected))
  (deps    (jbuild (glob_files *.txt)))
  (action  (progn
            (with-stdout-to result   (echo ${^}))
            (with-stdout-to expected (echo "jbuild a.txt b.txt c.txt"))))))

(rule
 ((targets (result2 expected2))
  (deps    ((files_recursively_in sub-tree)))
  (action  (progn
            (with-stdout-to result2   (echo ${^}))
            (with-stdout-to expected2 (echo "sub-tree/a sub-tree/dir/b"))))))

(alias
 ((name   runtest)
  (deps   (result expected))
  (action (run diff -u result expected))))

(alias
 ((name   runtest)
  (deps   (result2 expected2))
  (action (run diff -u result2 expected2))))

;; Test inferred rules

(rule (copy jbuild jbuild-plop))

(alias
 ((name   runtest)
  (deps   (jbuild jbuild-plop))
  (action (run diff -u ${!^}))))

;; For some tests in subdirs

(rule (with-stdout-to 023e1a58-4d08-11e7-a041-aa000008c8a6 (echo "plop")))
