From patchwork Wed Aug 23 15:18:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [9,of,9,V4] test: add more obsmarker tests for pruning scenarios From: Boris Feld X-Patchwork-Id: 23251 Message-Id: <153f799f30f949735b7c.1503501523@FB> To: mercurial-devel@mercurial-scm.org Cc: boris.feld@octobus.net Date: Wed, 23 Aug 2017 17:18:43 +0200 # HG changeset patch # User Boris Feld # Date 1502986172 -7200 # Thu Aug 17 18:09:32 2017 +0200 # Node ID 153f799f30f949735b7c1ae0d64209f83ea5baf1 # Parent 852ba8848f1cbab25b1f6cdd6574c51e16ef601e # EXP-Topic obsfatetemplate test: add more obsmarker tests for pruning scenarios The obsfate output in cases of pruning is not ideal right now, add some tests so have these scenarios around. diff -r 852ba8848f1c -r 153f799f30f9 tests/test-obsmarker-template.t --- a/tests/test-obsmarker-template.t Mon Jul 03 17:38:56 2017 +0200 +++ b/tests/test-obsmarker-template.t Thu Aug 17 18:09:32 2017 +0200 @@ -1643,3 +1643,138 @@ | Obsfate: pruned by test (at 1970-01-01 00:00 +0000); o ea207398892e +Test templates with multiple pruned commits +=========================================== + +Test setup +---------- + + $ hg init $TESTTMP/multiple-local-prune + $ cd $TESTTMP/multiple-local-prune + $ mkcommit ROOT + $ mkcommit A0 + $ hg commit --amend -m "A1" + $ hg debugobsolete --record-parent `getid "."` + obsoleted 1 changesets + + $ hg up -r "desc(A0)" --hidden + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg commit --amend -m "A2" + $ hg debugobsolete --record-parent `getid "."` + obsoleted 1 changesets + +Check output +------------ + + $ hg up "desc(A0)" --hidden + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg tlog + @ 471f378eab4c + | + o ea207398892e + +# todo: the obsfate output is not ideal + $ hg fatelog + @ 471f378eab4c + | Obsfate: pruned; + o ea207398892e + + $ hg fatelog -v --hidden + x 65b757b745b9 + | Obsfate: pruned by test (at 1970-01-01 00:00 +0000); + | x fdf9bde5129a + |/ Obsfate: pruned by test (at 1970-01-01 00:00 +0000); + | @ 471f378eab4c + |/ Obsfate: rewritten as 2:fdf9bde5129a by test (at 1970-01-01 00:00 +0000); rewritten as 3:65b757b745b9 by test (at 1970-01-01 00:00 +0000); + o ea207398892e + + +Test templates with splitted and pruned commit +============================================== + + $ hg init $TESTTMP/templates-local-split-prune + $ cd $TESTTMP/templates-local-split-prune + $ mkcommit ROOT + $ echo 42 >> a + $ echo 43 >> b + $ hg commit -A -m "A0" + adding a + adding b + $ hg log --hidden -G + @ changeset: 1:471597cad322 + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + +# Simulate split + $ hg up -r "desc(ROOT)" + 0 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ echo 42 >> a + $ hg commit -A -m "A1" + adding a + created new head + $ echo 43 >> b + $ hg commit -A -m "A2" + adding b + $ hg debugobsolete `getid "1"` `getid "2"` `getid "3"` + obsoleted 1 changesets + +# Simulate prune + $ hg debugobsolete --record-parent `getid "."` + obsoleted 1 changesets + + $ hg log --hidden -G + @ changeset: 3:0d0ef4bdf70e + | tag: tip + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A2 + | + o changeset: 2:617adc3a144c + | parent: 0:ea207398892e + | user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A1 + | + | x changeset: 1:471597cad322 + |/ user: test + | date: Thu Jan 01 00:00:00 1970 +0000 + | summary: A0 + | + o changeset: 0:ea207398892e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: ROOT + +Check templates +--------------- + + $ hg up 'desc("A0")' --hidden + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + +# todo: the obsfate output is not ideal + $ hg fatelog + o 617adc3a144c + | + | @ 471597cad322 + |/ Obsfate: pruned; + o ea207398892e + + $ hg up -r 'desc("A2")' --hidden + 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + + $ hg fatelog --hidden + @ 0d0ef4bdf70e + | Obsfate: pruned by test (at 1970-01-01 00:00 +0000); + o 617adc3a144c + | + | x 471597cad322 + |/ Obsfate: split as 2:617adc3a144c, 3:0d0ef4bdf70e by test (at 1970-01-01 00:00 +0000); + o ea207398892e +