anchor.diff:  copy_packages_test_() ->
   {foreachx,
       fun({Paths, #deploy{}}) -> 
  -        tty_on(),
           caterpillar_utils:ensure_dir("__test_packages"),
           [caterpillar_utils:ensure_dir(Path) || {_, Path} <- Paths],
           {ok, D} = dets:open_file("__test_dets.deploy", [{access, read_write}]),
  
positive.code: [
      {Setup, fun(_, Data) ->
          {Message, fun() ->
              Ets = (catch caterpillar_deploy:init_ets(Data)),
              ?assertEqual(
                  Result,
                  [{Ident, lists:last(filename:split(Path))} || {Ident, Path} <- lists:sort(ets:tab2list(Ets))]
  
negative.code:     {Packages, fun(_, State) ->
          {Message, fun() ->
              Result = (catch caterpillar_deploy:rotate_packages(Deploy, State)),
              ?assertEqual({ok, done}, Result),
              Check(State)
          end}
      end} || {Message, Packages, Deploy, Check} <- [
  