# HG changeset patch # User Matt Mackall # Date 1285526492 18000 # Node ID 2dbb9e5e34549e84dafbb54d7fad3bebb8db6656 # Parent 5d3c28a339cb706a4d73a844772ecaee996f74a2 tests: unify test-clone-pull-corruption diff -r 5d3c28a339cb -r 2dbb9e5e3454 tests/test-clone-pull-corruption --- 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 diff -r 5d3c28a339cb -r 2dbb9e5e3454 tests/test-clone-pull-corruption.out --- 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 diff -r 5d3c28a339cb -r 2dbb9e5e3454 tests/test-clone-pull-corruption.t --- /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