# HG changeset patch # User Pierre-Yves David # Date 2017-05-25 17:37:07 # Node ID f475446b48378c063004693602f47780fb96016b # Parent 1df80eff24cfbde6654149bd8aa969f246672405 test: add a test file for relevant obsmarkers and its usage The logic around obsmarkers "relevant" to a set of revs have a couple of test around in other places but no systematic testing. In addition, all the current testing focus on the exchange case (we looks at relevant markers for '::heads'). For bundles, we'll need something a bit different. We'll no longer have set of revision going down to the repository roots. So we'll have to test these cases too. In addition, stripping obsmarkers will introduce new logic around obsmarkers that will need testing too. So a new test file make sense here. We start with a simple tests, more advanced cases are coming in the next changesets. The extra testing catch a minor bug (later in the series). diff --git a/tests/test-obsolete-bundle-strip.t b/tests/test-obsolete-bundle-strip.t new file mode 100644 --- /dev/null +++ b/tests/test-obsolete-bundle-strip.t @@ -0,0 +1,102 @@ +================================================== +Test obsmarkers interaction with bundle and strip +================================================== + +In practice, this file does not yet contains any tests for bundle and strip. +But their will be some soon (tm). + +For now this test check the logic computing markers relevant to a set of +revision. That logic will be use by "hg bundle" to select the markers to +include, and strip to find the markers to backup. + +Setup a repository with various case +==================================== + +Config setup +------------ + + $ cat >> $HGRCPATH < [ui] + > # simpler log output + > logtemplate = "{node|short}: {desc}\n" + > + > [experimental] + > # enable evolution + > evolution = all + > + > # include obsmarkers in bundle + > evolution.bundle-obsmarker = yes + > + > [extensions] + > # needed for some tests + > strip = + > [defaults] + > # we'll query many hidden changeset + > debugobsolete = --hidden + > EOF + + $ mkcommit() { + > echo "$1" > "$1" + > hg add "$1" + > hg ci -m "$1" + > } + + $ getid() { + > hg log --hidden --template '{node}\n' --rev "$1" + > } + + $ mktestrepo () { + > [ -n "$1" ] || exit 1 + > cd $TESTTMP + > hg init $1 + > cd $1 + > mkcommit ROOT + > } + +root setup +------------- + +simple chain +============ + +. A0 +. ⇠ø⇠◔ A1 +. |/ +. ● + +setup +----- + + $ mktestrepo simple-chain + $ mkcommit 'C-A0' + $ hg up 'desc("ROOT")' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ mkcommit 'C-A1' + created new head + $ hg debugobsolete a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 `getid 'desc("C-A0")'` + $ hg debugobsolete `getid 'desc("C-A0")'` a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 + $ hg debugobsolete a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 `getid 'desc("C-A1")'` + + $ hg up 'desc("ROOT")' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg log --hidden -G + o cf2c22470d67: C-A1 + | + | x 84fcb0dfe17b: C-A0 + |/ + @ ea207398892e: ROOT + + $ hg debugobsolete + a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 84fcb0dfe17b256ebae52e05572993b9194c018a a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + +Actual testing +-------------- + + $ hg debugobsolete --rev 'desc("C-A0")' + a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + $ hg debugobsolete --rev 'desc("C-A1")' + 84fcb0dfe17b256ebae52e05572993b9194c018a a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}