Mercurial > hg
changeset 12412:2dbb9e5e3454
tests: unify test-clone-pull-corruption
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 26 Sep 2010 13:41:32 -0500 |
parents | 5d3c28a339cb |
children | f8dc83689f19 |
files | tests/test-clone-pull-corruption tests/test-clone-pull-corruption.out tests/test-clone-pull-corruption.t |
diffstat | 3 files changed, 50 insertions(+), 49 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-clone-pull-corruption Sun Sep 26 13:41:17 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -#!/bin/sh -# -# Corrupt an hg repo with a pull started during an aborted commit -# - -# Create two repos, so that one of them can pull from the other one. -hg init source -cd source -touch foo -hg add foo -hg ci -m 'add foo' -hg clone . ../corrupted -echo >> foo -hg ci -m 'change foo' - -# Add a hook to wait 5 seconds and then abort the commit -cd ../corrupted -echo '[hooks]' >> .hg/hgrc -echo 'pretxncommit = sleep 5; exit 1' >> .hg/hgrc - -# start a commit... -touch bar -hg add bar -hg ci -m 'add bar' & - -# ... and start a pull while the commit is still running -sleep 1 -hg pull ../source 2>/dev/null - -# see what happened -wait -hg verify
--- a/tests/test-clone-pull-corruption.out Sun Sep 26 13:41:17 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -updating to branch default -1 files updated, 0 files merged, 0 files removed, 0 files unresolved -pulling from ../source -transaction abort! -rollback completed -abort: pretxncommit hook exited with status 1 -searching for changes -adding changesets -adding manifests -adding file changes -added 1 changesets with 1 changes to 1 files -(run 'hg update' to get a working copy) -checking changesets -checking manifests -crosschecking files in changesets and manifests -checking files -1 files, 2 changesets, 2 total revisions
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-clone-pull-corruption.t Sun Sep 26 13:41:32 2010 -0500 @@ -0,0 +1,50 @@ +Corrupt an hg repo with a pull started during an aborted commit +Create two repos, so that one of them can pull from the other one. + + $ hg init source + $ cd source + $ touch foo + $ hg add foo + $ hg ci -m 'add foo' + $ hg clone . ../corrupted + updating to branch default + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ echo >> foo + $ hg ci -m 'change foo' + +Add a hook to wait 5 seconds and then abort the commit + + $ cd ../corrupted + $ echo '[hooks]' >> .hg/hgrc + $ echo 'pretxncommit = sleep 5; exit 1' >> .hg/hgrc + +start a commit... + + $ touch bar + $ hg add bar + $ hg ci -m 'add bar' & + +... and start a pull while the commit is still running + + $ sleep 1 + $ hg pull ../source 2>/dev/null + pulling from ../source + transaction abort! + rollback completed + abort: pretxncommit hook exited with status 1 + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + (run 'hg update' to get a working copy) + +see what happened + + $ wait + $ hg verify + checking changesets + checking manifests + crosschecking files in changesets and manifests + checking files + 1 files, 2 changesets, 2 total revisions