mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 14:58:03 +03:00
92f6f35e7a
Summary: This diff marks **ALL** mercurial tests requiring Python 2 feature. After you fixes some tests, simply remove the `py2` feature requirement and that tests will be continuously run after your diff is landed. To bypass this feature requirement, run the tests command with `HGTEST_FORCE_PY2=1`. For example: ``` HGTEST_FORCE_PY2=1 buck test //eden/scm/tests:hg_run_tests ``` or ``` HGTEST_FORCE_PY2=1 python run-tests.py ``` ---- Basically this diff are created with the following commands: ``` $ sed -i 's/import feature\(.*\)$/import feature\1\n\nfeature.require(["py2"])/' test-*-t.py $ sed -i '1s/^/#require py2\n/' test-*.t $ ls | grep -P "^test.*(?<\!-t)\.py$" > list && vim -p $(cat list) # manually adding feature requires for these Python tests. ``` (Note: this ignores all push blocking failures!) ignore-conflict-markers Reviewed By: singhsrb Differential Revision: D19655148 fbshipit-source-id: 985e3ccb4010cc559049f1d89f8909bc2d9b5e20
152 lines
4.4 KiB
Turing
152 lines
4.4 KiB
Turing
#require py2
|
|
#chg-compatible
|
|
|
|
$ disable treemanifest
|
|
#require unix-permissions no-root
|
|
|
|
$ cat > $TESTTMP/dumpjournal.py <<EOF
|
|
> import sys
|
|
> for entry in sys.stdin.read().split('\n'):
|
|
> if entry:
|
|
> print(entry.split('\x00')[0])
|
|
> EOF
|
|
|
|
$ teststrip() {
|
|
> hg -q up -C $1
|
|
> echo % before update $1, strip $2
|
|
> hg parents
|
|
> chmod -$3 $4
|
|
> hg debugstrip $2 2>&1 | sed 's/\(bundle\).*/\1/' | sed 's/Permission denied.*\.hg\/store\/\(.*\)/Permission denied \.hg\/store\/\1/'
|
|
> echo % after update $1, strip $2
|
|
> chmod +$3 $4
|
|
> hg verify
|
|
> echo % journal contents
|
|
> if [ -f .hg/store/journal ]; then
|
|
> cat .hg/store/journal | $PYTHON $TESTTMP/dumpjournal.py
|
|
> else
|
|
> echo "(no journal)"
|
|
> fi
|
|
> ls .hg/store/journal >/dev/null 2>&1 && hg recover
|
|
> ls .hg/strip-backup/* >/dev/null 2>&1 && hg unbundle -q .hg/strip-backup/*
|
|
> rm -rf .hg/strip-backup
|
|
> }
|
|
|
|
$ hg init test
|
|
$ cd test
|
|
$ echo a > a
|
|
$ hg -q ci -m "a" -A
|
|
$ echo b > b
|
|
$ hg -q ci -m "b" -A
|
|
$ echo b2 >> b
|
|
$ hg -q ci -m "b2" -A
|
|
$ echo c > c
|
|
$ hg -q ci -m "c" -A
|
|
$ teststrip 0 2 w .hg/store/data/b.i
|
|
% before update 0, strip 2
|
|
changeset: 0:cb9a9f314b8b
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: a
|
|
|
|
saved backup bundle
|
|
transaction abort!
|
|
failed to truncate data/b.i
|
|
rollback failed - please run hg recover
|
|
strip failed, backup bundle
|
|
abort: Permission denied .hg/store/data/b.i
|
|
(current process runs with uid 42)
|
|
($TESTTMP/test/.hg/store/data/b.i: mode 0o52, uid 42, gid 42)
|
|
($TESTTMP/test/.hg/store/data: mode 0o52, uid 42, gid 42)
|
|
% after update 0, strip 2
|
|
abandoned transaction found - run hg recover
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
b@?: rev 1 points to nonexistent changeset 2
|
|
(expected 1)
|
|
b@?: 736c29771fba not in manifests
|
|
warning: orphan revlog 'data/c.i'
|
|
2 files, 2 changesets, 3 total revisions
|
|
2 warnings encountered!
|
|
2 integrity errors encountered!
|
|
% journal contents
|
|
00changelog.d
|
|
00changelog.i
|
|
00manifest.i
|
|
data/b.i
|
|
data/c.i
|
|
rolling back interrupted transaction
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
2 files, 2 changesets, 2 total revisions
|
|
$ teststrip 0 2 r .hg/store/data/b.i
|
|
% before update 0, strip 2
|
|
changeset: 0:cb9a9f314b8b
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: a
|
|
|
|
abort: Permission denied .hg/store/data/b.i
|
|
(current process runs with uid 42)
|
|
($TESTTMP/test/.hg/store/data/b.i: mode 0o52, uid 42, gid 42)
|
|
($TESTTMP/test/.hg/store/data: mode 0o52, uid 42, gid 42)
|
|
% after update 0, strip 2
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
3 files, 4 changesets, 4 total revisions
|
|
% journal contents
|
|
(no journal)
|
|
$ teststrip 0 2 w .hg/store/00manifest.i
|
|
% before update 0, strip 2
|
|
changeset: 0:cb9a9f314b8b
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: a
|
|
|
|
saved backup bundle
|
|
transaction abort!
|
|
failed to truncate 00manifest.i
|
|
rollback failed - please run hg recover
|
|
strip failed, backup bundle
|
|
abort: Permission denied .hg/store/00manifest.i
|
|
(current process runs with uid 42)
|
|
($TESTTMP/test/.hg/store/00manifest.i: mode 0o52, uid 42, gid 42)
|
|
($TESTTMP/test/.hg/store: mode 0o52, uid 42, gid 42)
|
|
% after update 0, strip 2
|
|
abandoned transaction found - run hg recover
|
|
checking changesets
|
|
checking manifests
|
|
manifest@?: rev 2 points to nonexistent changeset 2
|
|
manifest@?: 3362547cdf64 not in changesets
|
|
manifest@?: rev 3 points to nonexistent changeset 3
|
|
manifest@?: 265a85892ecb not in changesets
|
|
crosschecking files in changesets and manifests
|
|
c@3: in manifest but not in changeset
|
|
checking files
|
|
b@?: rev 1 points to nonexistent changeset 2
|
|
(expected 1)
|
|
c@?: rev 0 points to nonexistent changeset 3
|
|
3 files, 2 changesets, 4 total revisions
|
|
1 warnings encountered!
|
|
7 integrity errors encountered!
|
|
(first damaged changeset appears to be 3)
|
|
% journal contents
|
|
00changelog.d
|
|
00changelog.i
|
|
00manifest.i
|
|
data/b.i
|
|
data/c.i
|
|
rolling back interrupted transaction
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
2 files, 2 changesets, 2 total revisions
|
|
|
|
$ cd ..
|