mirror of
https://github.com/facebook/sapling.git
synced 2024-12-28 23:54:12 +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
111 lines
2.0 KiB
Perl
111 lines
2.0 KiB
Perl
#require py2
|
|
#chg-compatible
|
|
|
|
$ disable treemanifest
|
|
|
|
Create a repository:
|
|
|
|
$ hg config
|
|
devel.all-warnings=true
|
|
devel.default-date=0 0
|
|
experimental.metalog=true
|
|
extensions.fsmonitor= (fsmonitor !)
|
|
extensions.treemanifest=!
|
|
format.use-zstore-commit-data=true
|
|
fsmonitor.detectrace=1 (fsmonitor !)
|
|
remotefilelog.reponame=reponame-default
|
|
remotefilelog.cachepath=$TESTTMP/default-hgcache
|
|
treemanifest.flatcompat=True
|
|
treemanifest.rustmanifest=True
|
|
ui.slash=True
|
|
ui.interactive=False
|
|
ui.mergemarkers=detailed
|
|
ui.promptecho=True
|
|
web.address=localhost
|
|
web\.ipv6=(?:True|False) (re)
|
|
$ hg init t
|
|
$ cd t
|
|
|
|
Prepare a changeset:
|
|
|
|
$ echo a > a
|
|
$ hg add a
|
|
|
|
$ hg status
|
|
A a
|
|
|
|
Writes to stdio succeed and fail appropriately
|
|
|
|
#if devfull
|
|
$ hg status 2>/dev/full
|
|
A a
|
|
|
|
$ hg status >/dev/full
|
|
abort: No space left on device
|
|
[255]
|
|
#endif
|
|
|
|
#if devfull no-chg
|
|
$ hg status >/dev/full 2>&1
|
|
[1]
|
|
|
|
$ hg status ENOENT 2>/dev/full
|
|
[1]
|
|
#endif
|
|
|
|
#if devfull chg
|
|
$ hg status >/dev/full 2>&1
|
|
[255]
|
|
|
|
$ hg status ENOENT 2>/dev/full
|
|
[255]
|
|
#endif
|
|
|
|
$ hg commit -m test
|
|
|
|
This command is ancient:
|
|
|
|
$ hg history
|
|
changeset: 0:acb14030fe0a
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: test
|
|
|
|
|
|
Verify that updating to revision 0 via commands.update() works properly
|
|
|
|
$ cat <<EOF > update_to_rev0.py
|
|
> from edenscm.mercurial import ui, hg, commands
|
|
> myui = ui.ui.load()
|
|
> repo = hg.repository(myui, path='.')
|
|
> commands.update(myui, repo, rev=0)
|
|
> EOF
|
|
$ hg up null
|
|
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
$ hg debugpython -- ./update_to_rev0.py
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ hg identify -n
|
|
0
|
|
|
|
|
|
Poke around at hashes:
|
|
|
|
$ hg manifest --debug
|
|
b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a
|
|
|
|
$ hg cat a
|
|
a
|
|
|
|
Verify should succeed:
|
|
|
|
$ hg verify
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
1 files, 1 changesets, 1 total revisions
|
|
|
|
At the end...
|
|
|
|
$ cd ..
|