Mercurial > evolve
diff tests/test-exchange-obsmarkers-case-B5.t @ 2268:f2ebe960998b stable
tests: update test to match upstreamable version
Name have been clarified, documentation has been updated and some test-case have
been updated to match the intended test.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Sat, 08 Apr 2017 12:48:20 +0200 |
parents | tests/test-exchange-B5.t@a202f3af890c |
children | 5adb8bdb935e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-exchange-obsmarkers-case-B5.t Sat Apr 08 12:48:20 2017 +0200 @@ -0,0 +1,168 @@ +============================================ +Testing obsolescence markers push: Cases B.5 +============================================ + +Mercurial pushes obsolescences markers relevant to the "pushed-set", the set of +all changesets that requested to be "in sync" after the push (even if they are +already on both side). + +This test belongs to a series of tests checking such set is properly computed +and applied. This does not tests "obsmarkers" discovery capabilities. + +Category B: pruning case +TestCase 5: Push of a children of changeset which successors is pruned + +B.5 Push of a children of changeset which successors is pruned +============================================================== + +.. This case Mirror A.4, with pruned changeset successors. +.. +.. {{{ +.. C ◔ +.. | +.. B⇠ø⇠⊗ B' +.. | | +.. A ø⇠○ A' +.. |/ +.. ● +.. }}} +.. +.. Marker exist from: +.. +.. * `A ø⇠○ A'` +.. * `B ø⇠○ B'` +.. * chain from B +.. * `B' is pruned` +.. +.. Command run: +.. +.. * hg push -r C +.. +.. Expected exchange: +.. +.. * chain from B +.. +.. Expected exclude: +.. +.. * `A ø⇠○ A'` +.. * `B ø⇠○ B'` +.. * `B' prune` + +Setup +----- + + $ . $TESTDIR/testlib/exchange-obsmarker-util.sh + +initial + + $ setuprepos B.5 + creating test repo for test case B.5 + - pulldest + - main + - pushdest + cd into `main` and proceed with env setup + $ cd main + $ mkcommit A0 + $ mkcommit B0 + $ mkcommit C + $ hg up --quiet 0 + $ mkcommit A1 + created new head + $ mkcommit B1 + $ hg debugobsolete --hidden `getid 'desc(A0)'` `getid 'desc(A1)'` + $ hg debugobsolete --hidden aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(B0)'` + $ hg debugobsolete --hidden `getid 'desc(B0)'` `getid 'desc(B1)'` + $ hg prune -qd '0 0' 'desc(B1)' + $ hg log -G --hidden + x 069b05c3876d (draft): B1 + | + @ e5ea8f9c7314 (draft): A1 + | + | o 1d0f3cd25300 (draft): C + | | + | x 6e72f0a95b5e (draft): B0 + | | + | x 28b51eb45704 (draft): A0 + |/ + o a9bdc8b26820 (public): O + + $ inspect_obsmarkers + obsstore content + ================ + 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 069b05c3876d56f62895e853a501ea58ea85f68d 0 {e5ea8f9c73143125d36658e90ef70c6d2027a5b7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + obshashtree + =========== + a9bdc8b26820b1b87d585b82eb0ceb4a2ecdbc04 0000000000000000000000000000000000000000 + 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0000000000000000000000000000000000000000 + 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 13bd00d88332fcd3fe634ed42f9d35c9cfc06398 + 1d0f3cd253006f014c7687a78abbc9287db4101d 01d985a82467333a4de7a5b4e8a0de3286f8bda8 + e5ea8f9c73143125d36658e90ef70c6d2027a5b7 d2b1159bcf3694aabc3674785b1859544c35357d + 069b05c3876d56f62895e853a501ea58ea85f68d d00e3201fcf83a1bf42e70757f07b45bdd77a220 + obshashrange + ============ + rev node index size depth obshash + 3 1d0f3cd25300 0 4 4 000000000000 + 3 1d0f3cd25300 2 2 4 000000000000 + 1 28b51eb45704 0 2 2 000000000000 + 4 e5ea8f9c7314 0 2 2 d2b1159bcf36 + 3 1d0f3cd25300 3 1 4 000000000000 + 1 28b51eb45704 1 1 2 000000000000 + 2 6e72f0a95b5e 2 1 3 13bd00d88332 + 0 a9bdc8b26820 0 1 1 000000000000 + 4 e5ea8f9c7314 1 1 2 d2b1159bcf36 + $ cd .. + $ cd .. + +Actual Test (explicit push version) +----------------------------------- + + $ dotest B.5 C -f + ## Running testcase B.5 + # testing echange of "C" (1d0f3cd25300) + ## initial state + # obstore: main + 069b05c3876d56f62895e853a501ea58ea85f68d 0 {e5ea8f9c73143125d36658e90ef70c6d2027a5b7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + # obstore: pushdest + # obstore: pulldest + ## pushing "C" from main to pushdest + pushing to pushdest + searching for changes + remote: adding changesets + remote: adding manifests + remote: adding file changes + remote: added 3 changesets with 3 changes to 3 files + remote: 1 new obsolescence markers + ## post push state + # obstore: main + 069b05c3876d56f62895e853a501ea58ea85f68d 0 {e5ea8f9c73143125d36658e90ef70c6d2027a5b7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + # obstore: pushdest + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + # obstore: pulldest + ## pulling "1d0f3cd25300" from main into pulldest + pulling from main + searching for changes + adding changesets + adding manifests + adding file changes + added 3 changesets with 3 changes to 3 files + 1 new obsolescence markers + (run 'hg update' to get a working copy) + ## post pull state + # obstore: main + 069b05c3876d56f62895e853a501ea58ea85f68d 0 {e5ea8f9c73143125d36658e90ef70c6d2027a5b7} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 069b05c3876d56f62895e853a501ea58ea85f68d 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + # obstore: pushdest + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + # obstore: pulldest + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}