anchor.diff:          ?assertEqual(ok, stop_writer(Writer2)),
           ?assertEqual(ok, stop_writer(Writer3))
       end).
  +
  +wait_for_process_shutdown(Pid, ExpectedReason, Error) ->
  +  receive
  +      {'DOWN', Pid, process, _, Reason} ->
  +          ?assertEqual(ExpectedReason, Reason)
  +  after ?TIMEOUT ->
  +      erlang:error(
  +          {assertion_failed,
  +           [{module, ?MODULE}, {line, ?LINE}, Error]})
  +  end.
  +
   
   create_doc(DbName, DocId) when is_list(DocId) ->
       create_doc(DbName, ?l2b(DocId));
  
positive.code:         ok = couch_db:close(Db2),
          {ok, Db3} = couch_db:create(?tempdb(), [?ADMIN_CTX]),
          ok = couch_db:close(Db3),
  
          Writer1 = spawn_writer(Db1#db.name),
          Writer2 = spawn_writer(Db2#db.name),
  
negative.code: 
          %% Resume compaction
          erlang:resume_process(CPid),
          wait_for_process_shutdown(MonRef, normal,
            {reason, "Failure compacting view group"}),
  
          ?assertEqual(ok, writer_try_again(Writer3)),
          ?assertEqual(ok, get_writer_status(Writer3)),
  