# HG changeset patch # User Pierre-Yves David # Date 1500820761 -7200 # Node ID ab80ef8d0cfaafbc609c602621633a2787563a03 # Parent 83ad13719e26834d1842c8d67b71d49d4a03d5f7 test: extract most fold testing into a test-fold module diff -r 83ad13719e26 -r ab80ef8d0cfa tests/test-evolve.t --- a/tests/test-evolve.t Sun Jul 23 06:25:30 2017 +0200 +++ b/tests/test-evolve.t Sun Jul 23 16:39:21 2017 +0200 @@ -683,48 +683,13 @@ Test fold +(most of the testing have been moved to test-fold $ rm *.orig - $ hg fold - abort: no revisions specified - [255] - $ hg fold --from - abort: no revisions specified - [255] - $ hg fold . - abort: must specify either --from or --exact - [255] - $ hg fold --from . --exact - abort: cannot use both --from and --exact - [255] - $ hg fold --from . - single revision specified, nothing to fold - [1] - $ hg fold 0::10 --rev 1 --exact - abort: cannot fold non-linear revisions (multiple heads given) - [255] - $ hg fold -r 4 -r 6 --exact - abort: cannot fold non-linear revisions (multiple roots given) - [255] - $ hg fold --from 10 1 - abort: cannot fold non-linear revisions - (given revisions are unrelated to parent of working directory) - [255] - $ hg fold --exact -r "4 and not 4" - abort: specified revisions evaluate to an empty set - (use different revision arguments) - [255] $ hg phase --public 0 - $ hg fold --from -r 0 - abort: cannot fold public revisions - [255] $ hg fold --from -r 5 3 changesets folded 1 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg fold --from 6 # want to run hg fold 6 - abort: hidden revision '6'! - (use --hidden to access hidden revisions; successor: af636757ce3b) - [255] $ hg log -r 11 --template '{desc}\n' add 3 @@ -1363,6 +1328,9 @@ ~ Check that fold respects the allowunstable option + +(most of this has been moved to test-fold.t) + $ hg up edc3c9de504e 0 files updated, 0 files merged, 2 files removed, 0 files unresolved $ mkcommit unstableifparentisfolded @@ -1380,14 +1348,6 @@ | ~ - $ hg fold --exact "19 + 18" - abort: cannot fold chain not ending with a head or with branching - (new unstable changesets are not allowed) - [255] - $ hg fold --exact "18::29" - abort: cannot fold chain not ending with a head or with branching - (new unstable changesets are not allowed) - [255] $ hg fold --exact "19::" 2 changesets folded diff -r 83ad13719e26 -r ab80ef8d0cfa tests/test-fold.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-fold.t Sun Jul 23 16:39:21 2017 +0200 @@ -0,0 +1,204 @@ + $ . $TESTDIR/testlib/common.sh + +setup + + $ cat >> $HGRCPATH < [defaults] + > fold=-d "0 0" + > [extensions] + > evolve= + > [ui] + > logtemplate = '{rev} - {node|short} {desc|firstline} [{author}] ({phase})\n' + > EOF + + $ hg init fold-tests + $ cd fold-tests/ + $ hg debugbuilddag .+3:branchpoint+4*branchpoint+2 + $ hg up 'desc("r7")' + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg log -G + o 10 - a8407f9a3dc1 r10 [debugbuilddag] (draft) + | + o 9 - 529dfc5bb875 r9 [debugbuilddag] (draft) + | + o 8 - abf57d94268b r8 [debugbuilddag] (draft) + | + | @ 7 - 4de32a90b66c r7 [debugbuilddag] (draft) + | | + | o 6 - f69452c5b1af r6 [debugbuilddag] (draft) + | | + | o 5 - c8d03c1b5e94 r5 [debugbuilddag] (draft) + | | + | o 4 - bebd167eb94d r4 [debugbuilddag] (draft) + |/ + o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) + | + o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) + | + o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) + | + o 0 - 1ea73414a91b r0 [debugbuilddag] (draft) + + +Test various error case + + $ hg fold + abort: no revisions specified + [255] + $ hg fold --from + abort: no revisions specified + [255] + $ hg fold . + abort: must specify either --from or --exact + [255] + $ hg fold --from . --exact + abort: cannot use both --from and --exact + [255] + $ hg fold --from . + single revision specified, nothing to fold + [1] + $ hg fold '0::(7+10)' --exact + abort: cannot fold non-linear revisions (multiple heads given) + [255] + $ hg fold -r 4 -r 6 --exact + abort: cannot fold non-linear revisions (multiple roots given) + [255] + $ hg fold --from 10 1 + abort: cannot fold non-linear revisions + (given revisions are unrelated to parent of working directory) + [255] + $ hg fold --exact -r "4 and not 4" + abort: specified revisions evaluate to an empty set + (use different revision arguments) + [255] + $ hg phase --public 0 + $ hg fold --from -r 0 + abort: cannot fold public revisions + [255] + +Test actual folding + + $ hg fold --from -r 'desc("r5")' + 3 changesets folded + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + +(test inherited from test-evolve.t) + + $ hg fold --from 6 # want to run hg fold 6 + abort: hidden revision '6'! + (use --hidden to access hidden revisions; successor: 198b5c405d01) + [255] + + $ hg log -G + @ 11 - 198b5c405d01 r5 [debugbuilddag] (draft) + | + | o 10 - a8407f9a3dc1 r10 [debugbuilddag] (draft) + | | + | o 9 - 529dfc5bb875 r9 [debugbuilddag] (draft) + | | + | o 8 - abf57d94268b r8 [debugbuilddag] (draft) + | | + o | 4 - bebd167eb94d r4 [debugbuilddag] (draft) + |/ + o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) + | + o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) + | + o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) + | + o 0 - 1ea73414a91b r0 [debugbuilddag] (public) + + +test fold --exact + + $ hg fold --exact 'desc("r8") + desc("r10")' + abort: cannot fold non-linear revisions (multiple roots given) + [255] + $ hg fold --exact 'desc("r8")::desc("r10")' + 3 changesets folded + $ hg log -G + o 12 - b568edbee6e0 r8 [debugbuilddag] (draft) + | + | @ 11 - 198b5c405d01 r5 [debugbuilddag] (draft) + | | + | o 4 - bebd167eb94d r4 [debugbuilddag] (draft) + |/ + o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) + | + o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) + | + o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) + | + o 0 - 1ea73414a91b r0 [debugbuilddag] (public) + + +Test allow unstable + + $ echo a > a + $ hg add a + $ hg commit '-m r11' + $ hg up '.^' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg log -G + o 13 - 14d0e0da8e91 r11 [test] (draft) + | + | o 12 - b568edbee6e0 r8 [debugbuilddag] (draft) + | | + @ | 11 - 198b5c405d01 r5 [debugbuilddag] (draft) + | | + o | 4 - bebd167eb94d r4 [debugbuilddag] (draft) + |/ + o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) + | + o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) + | + o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) + | + o 0 - 1ea73414a91b r0 [debugbuilddag] (public) + + + $ cat << EOF >> .hg/hgrc + > [experimental] + > evolution = createmarkers, allnewcommands + > EOF + $ hg fold --from 'desc("r4")' + abort: cannot fold chain not ending with a head or with branching + (new unstable changesets are not allowed) + [255] + $ hg fold --from 'desc("r3")::desc("r11")' + abort: cannot fold chain not ending with a head or with branching + (new unstable changesets are not allowed) + [255] + +test --user variant + + $ cat << EOF >> .hg/hgrc + > [experimental] + > evolution = createmarkers, allnewcommands + > EOF + $ cat << EOF >> .hg/hgrc + > [experimental] + > evolution = all + > EOF + + $ hg fold --exact 'desc("r5") + desc("r11")' --user 'Victor Rataxes ' + 2 changesets folded + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg log -G + @ 14 - 29b470a33594 r5 [Victor Rataxes ] (draft) + | + | o 12 - b568edbee6e0 r8 [debugbuilddag] (draft) + | | + o | 4 - bebd167eb94d r4 [debugbuilddag] (draft) + |/ + o 3 - 2dc09a01254d r3 [debugbuilddag] (draft) + | + o 2 - 01241442b3c2 r2 [debugbuilddag] (draft) + | + o 1 - 66f7d451a68b r1 [debugbuilddag] (draft) + | + o 0 - 1ea73414a91b r0 [debugbuilddag] (public) + + + $ cd .. +