test-resolve: add more tests for in conflict-free states
authorMartin von Zweigbergk <martinvonz@gmail.com>
Wed, 08 Oct 2014 22:19:08 -0700
changeset 23022 ace380a0619b
parent 23021 41770cee3c6a
child 23023 63c9088bebad
test-resolve: add more tests for in conflict-free states We already have a test for 'hg resolve -m' when there is no merge in progress. Add one for 'hg resolve --all' as well. Also add tests for both --all and -m when there is a merge without conflicts in progress. They should both be successful, just as if there had been conflicts that had been marked resolved. However, that is currently broken, so mark the tests broken for now. The behavior will be fixed in a later patch.
tests/test-resolve.t
--- a/tests/test-resolve.t	Wed Oct 08 21:07:30 2014 -0700
+++ b/tests/test-resolve.t	Wed Oct 08 22:19:08 2014 -0700
@@ -13,7 +13,7 @@
   $ echo bar >> file2
   $ hg commit -Am 'append bar to files'
 
-create a second head
+create a second head with conflicting edits
 
   $ hg up -C 0
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -22,9 +22,17 @@
   $ hg commit -Am 'append baz to files'
   created new head
 
+create a third head with no conflicting edits
+  $ hg up -qC 0
+  $ echo foo > file3
+  $ hg commit -Am 'add non-conflicting file'
+  adding file3
+  created new head
+
 failing merge
 
-  $ hg merge --tool=internal:fail
+  $ hg up -qC 2
+  $ hg merge --tool=internal:fail 1
   0 files updated, 0 files merged, 0 files removed, 2 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
   [1]
@@ -61,14 +69,39 @@
 
   $ hg resolve -l
 
+resolve --all should abort when no merge in progress
+
+  $ hg resolve --all
+  abort: resolve command not applicable when not merging
+  [255]
+
 resolve -m should abort when no merge in progress
 
   $ hg resolve -m
   abort: resolve command not applicable when not merging
   [255]
 
+set up conflict-free merge
+
+  $ hg up -qC 3
+  $ hg merge 1
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+
+BROKEN: resolve --all should do nothing in merge without conflicts
+  $ hg resolve --all
+  abort: resolve command not applicable when not merging
+  [255]
+
+BROKEN: resolve -m should do nothing in merge without conflicts
+
+  $ hg resolve -m
+  abort: resolve command not applicable when not merging
+  [255]
+
 test crashed merge with empty mergestate
 
+  $ hg up -qC 1
   $ mkdir .hg/merge
   $ touch .hg/merge/state