1. 23 May, 2017 4 commits
    • Francois-Rene Rideau's avatar
      plan: implement phase level escalation · f62e6fe0
      Francois-Rene Rideau authored
      Track at which level of nested calls to OPERATE a not-done action is needed;
      if it is needed at a higher level than previously traversed, then traverse again
      to schedule it (and its transitive dependencies) to be done in the higher level.
      This fixes cases, such as in (test-system "cl-protobufs-tests"), where a library
      was already marked as needed at a low level of OPERATE, but if actually needed
      at higher level due to a defsystem-depends-on, and was previously not loaded
      early enough (after this plan refactoring).
      f62e6fe0
    • Francois-Rene Rideau's avatar
      Reproduce staging failure from cl-protobufs-tests · f85d3696
      Francois-Rene Rideau authored
      Add test case in test-defsystem-depends-on-phase-overlap.script for a failure
      observed when running (test-system "cl-protobufs"):
      the action (test-op "cl-protobufs") depends on (load-op "cl-protobufs"),
      which gets staged at level 0; it then depends on (test-op "cl-protobufs-tests")
      which defsystem-depends-on (load-op "cl-protobufs"), but it has already been
      staged, so traverse-action fails to re-stage it at higher priority for level 1,
      and fails to perform it before we're back to defsystem "cl-protobufs-tests".
      f85d3696
    • Francois-Rene Rideau's avatar
    • Francois-Rene Rideau's avatar
      Add test for systems used in multiple phases · ab899bc4
      Francois-Rene Rideau authored
      Add test-defsystem-depends-on-phase-overlap.script (currently failing) to check
      that an action present in multiple phases will only be performed once.
      ab899bc4