anchor.diff:  set_paths(Config) ->
       State = ?config(state, Config),
       RootDir = filename:split(?config(root_dir, Config)),
  +    %% Take a snapshot of runtime deps being set; to see if your test is valid, this should fail
  +    %% when you set the [deps] paths here
  +    rebar_paths:set_paths([runtime], State),
  +    RuntimePaths = code:get_path(),
  +    %% Revert back to regular dep paths
       rebar_paths:set_paths([plugins, deps], State),
       PluginPaths = code:get_path(),
       rebar_paths:set_paths([deps, plugins], State),
       DepPaths = code:get_path(),
   
  +    %% Plugin related paths checks
       ?assertEqual(
          RootDir ++ ["_build", "default", "plugins", "lib", "rp_a", "ebin"],
  -       find_first_instance("rp_a", PluginPaths)
  +       find_first_instance(RootDir, "rp_a", PluginPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "lib", "rp_b", "ebin"],
  -       find_first_instance("rp_b", PluginPaths)
  +       find_first_instance(RootDir, "rp_b", PluginPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "lib", "rp_c", "ebin"],
  -       find_first_instance("rp_c", PluginPaths)
  +       find_first_instance(RootDir, "rp_c", PluginPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "lib", "rp_d", "ebin"],
  -       find_first_instance("rp_d", PluginPaths)
  +       find_first_instance(RootDir, "rp_d", PluginPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "plugins", "lib",  "rp_e", "ebin"],
  -       find_first_instance("rp_e", PluginPaths)
  +       find_first_instance(RootDir, "rp_e", PluginPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "plugins", "lib", "relx", "ebin"],
  -       find_first_instance("relx", PluginPaths)
  -    ),
  -
  -
  +       find_first_instance(RootDir, "relx", PluginPaths)
  +    ),
  +
  +
  +    %% Dependency related paths checks
       ?assertEqual(
          RootDir ++ ["_build", "default", "lib", "rp_a", "ebin"],
  -       find_first_instance("rp_a", DepPaths)
  +       find_first_instance(RootDir, "rp_a", DepPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "lib", "rp_b", "ebin"],
  -       find_first_instance("rp_b", DepPaths)
  +       find_first_instance(RootDir, "rp_b", DepPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "lib", "rp_c", "ebin"],
  -       find_first_instance("rp_c", DepPaths)
  +       find_first_instance(RootDir, "rp_c", DepPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "lib", "rp_d", "ebin"],
  -       find_first_instance("rp_d", DepPaths)
  +       find_first_instance(RootDir, "rp_d", DepPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "plugins", "lib", "rp_e", "ebin"],
  -       find_first_instance("rp_e", DepPaths)
  +       find_first_instance(RootDir, "rp_e", DepPaths)
       ),
       ?assertEqual(
          RootDir ++ ["_build", "default", "lib", "relx", "ebin"],
  -       find_first_instance("relx", DepPaths)
  +       find_first_instance(RootDir, "relx", DepPaths)
  +    ),
  +
  +
  +    %% Runtime related paths checks
  +    ?assertEqual(
  +       RootDir ++ ["_build", "default", "lib", "rp_a", "ebin"],
  +       find_first_instance(RootDir, "rp_a", RuntimePaths)
  +    ),
  +    ?assertEqual(
  +       RootDir ++ ["_build", "default", "lib", "rp_b", "ebin"],
  +       find_first_instance(RootDir, "rp_b", RuntimePaths)
  +    ),
  +    ?assertMatch(
  +       {not_found, _},
  +       find_first_instance(RootDir, "rp_c", RuntimePaths)
  +    ),
  +    ?assertMatch(
  +       {not_found, _},
  +       find_first_instance(RootDir, "rp_d", RuntimePaths)
  +    ),
  +    ?assertMatch(
  +       {not_found, _},
  +       find_first_instance(RootDir, "rp_e", RuntimePaths)
  +    ),
  +    ?assertMatch(
  +       {not_found, _},
  +       find_first_instance(RootDir, "relx", RuntimePaths)
       ),
       ok.
   
  
positive.code: %%% HELPERS %%%
  %%%%%%%%%%%%%%%
  
  find_first_instance(Frag, []) ->
      {not_found, Frag};
  find_first_instance(Frag, [Path|Rest]) ->
      Frags = filename:split(Path),
      case lists:member(Frag, Frags) of
          true -> Frags;
          false -> find_first_instance(Frag, Rest)
      end.
  
negative.code: 
  fake_app(Name, Vsn, OutDir) ->
      {ok, App} = rebar_app_info:new(Name, Vsn, OutDir),
      compile_fake_appmod(App, []),
      App.
  
  fake_app(Name, Vsn, OutDir, Apps) ->
      {ok, App} = rebar_app_info:new(Name, Vsn, OutDir),
      compile_fake_appmod(App, Apps),
      App.
  
  compile_fake_appmod(App, Apps) ->
      OutDir = rebar_app_info:ebin_dir(App),
      Vsn = rebar_app_info:original_vsn(App),
      Name = rebar_app_info:name(App),
      AppsStr = apps_to_str(Apps),
  
      ok = filelib:ensure_dir(filename:join([OutDir, ".touch"])),
  
  