Open jhclark opened 11 years ago
Graft globs that are routed to a parent task via a global variable do not work. The following should have only 1 realization for "broken" but instead has 2:
task feeder < in=(TestSet: x=/dev/null y=/dev/null) > out {} task works1 < in=$out@feeder[TestSet:*] {} global { file=(TestSet: x=/dev/null y=/dev/null) } task works2 < in=$file[TestSet:*] {} global { var=$out@feeder } task broken < in=$var[TestSet:*] {}
Output:
RUN: /home/jhclark/software/ducttape/syntax/issues/shouldSucceed/./works2/Baseline.baseline (Baseline.baseline) RUN: /home/jhclark/software/ducttape/syntax/issues/shouldSucceed/./feeder/Baseline.baseline (TestSet.x) RUN: /home/jhclark/software/ducttape/syntax/issues/shouldSucceed/./broken/Baseline.baseline (TestSet.x) RUN: /home/jhclark/software/ducttape/syntax/issues/shouldSucceed/./feeder/TestSet.y (TestSet.y) RUN: /home/jhclark/software/ducttape/syntax/issues/shouldSucceed/./broken/TestSet.y (TestSet.y) RUN: /home/jhclark/software/ducttape/syntax/issues/shouldSucceed/./works1/Baseline.baseline (Baseline.baseline)
This is now checked in as syntax/issues/shouldSucceed/145.tape
To be clear, this bug is that because "broken" uses a glob, and introduces no other branch points, it should have exactly one realization.
Graft globs that are routed to a parent task via a global variable do not work. The following should have only 1 realization for "broken" but instead has 2:
Output: