set -e

#
# run normal mode
#
echo ''
$NXF_RUN | tee stdout

[[ `grep 'INFO' .nextflow.log | grep -c 'Submitted process > foo'` == 4 ]] || false

grep "Result $PWD/cache/omega/result.txt" stdout
grep "Result $PWD/cache/delta/result.txt" stdout
grep "Result $PWD/cache/alpha/result.txt" stdout
grep "Result $PWD/cache/gamma/result.txt" stdout

test -f my_alpha.txt
test -f my_delta.txt
test -f my_gamma.txt
test -f my_omega.txt

diff my_alpha.txt .expected
diff my_delta.txt .expected
diff my_gamma.txt .expected
diff my_omega.txt .expected

rm my_* 



#
# run normal mode -- this time store result are used
#
echo ''
$NXF_RUN | tee stdout

[[ `grep 'INFO' .nextflow.log | grep -E -c '\[skipping\] Stored process > foo'` == 4 ]] || false

grep "Result $PWD/cache/omega/result.txt" stdout
grep "Result $PWD/cache/delta/result.txt" stdout
grep "Result $PWD/cache/alpha/result.txt" stdout
grep "Result $PWD/cache/gamma/result.txt" stdout

test -f my_alpha.txt
test -f my_delta.txt
test -f my_gamma.txt
test -f my_omega.txt

diff my_alpha.txt .expected
diff my_delta.txt .expected
diff my_gamma.txt .expected
diff my_omega.txt .expected

rm my_* 

#
# run resume mode
#
echo ''
$NXF_RUN -resume | tee stdout

[[ `grep 'INFO' .nextflow.log | grep -E -c '\[skipping\] Stored process > foo'` == 4 ]] || false

grep "Result $PWD/cache/omega/result.txt" stdout
grep "Result $PWD/cache/delta/result.txt" stdout
grep "Result $PWD/cache/alpha/result.txt" stdout
grep "Result $PWD/cache/gamma/result.txt" stdout

test -f my_alpha.txt
test -f my_delta.txt
test -f my_gamma.txt
test -f my_omega.txt

diff my_alpha.txt .expected
diff my_delta.txt .expected
diff my_gamma.txt .expected
diff my_omega.txt .expected
