anchor.diff:  
   sh(Command) when is_binary(Command) -> sh([Command]);
   sh(Command) ->
  -    {done, 0, _} = erlsh:oneliner(?b2l(?il2b(Command))).
  +    case erlsh:oneliner(?b2l(?il2b(Command))) of
  +        {done, 0 = Code, Result} = R ->
  +            get(sh_log) == true andalso sh_log(Command, Code, Result),
  +            R;
  +        {done, Code, Result} = R ->
  +            sh_log(Command, Code, Result),
  +            ct:fail(R)
  +    end.
  +
  +sh_log(Command, Code, Result) ->
  +    ct:pal("command : ~ts\n"
  +           "code    : ~p\n"
  +           "result  : ~ts",
  +           [Command, Code, Result]).
   
   start_container(Name, Args) ->
       Fdlink = erlsh:fdlink_executable(),
  
positive.code:     try
          sh(within_container(Name, fetch(archive_url(GitRef), archive_file(GitRef)))),
          sh(within_container(Name, extract(archive_file(GitRef)))),
          ct:pal("last result: ~p", [sh(within_container(Name, ["ls ", repo_dir(GitRef)]))]),
          ct:fail("not implemented yet")
      after
          sh("docker stop " ++ Name)
      end.
  
negative.code: 
  repo_dir(GitReference) ->
      ["docsh-", GitReference].
  
  install(RepoDir) ->
      ["cd ", RepoDir, "; ./install.sh"].
  
  file_exists(File) ->
      ["file -E ", File].
  
  docsh_works() ->
      ["erl -noinput -noshell -eval 'erlang:display(docsh:module_info(module)).' -s erlang halt"].
  