sapling/eden/scm/tests/test-fb-hgext-treemanifest-treeonly-fetching.t
Zeyi (Rice) Fan 92f6f35e7a mark all tests requiring Python 2
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
2020-01-30 18:49:21 -08:00

70 lines
1.9 KiB
Perl

#require py2
#chg-compatible
$ . "$TESTDIR/library.sh"
$ setconfig treemanifest.flatcompat=False
Setup the server
$ hginit master
$ cd master
$ cat >> .hg/hgrc <<EOF
> [extensions]
> treemanifest=
> [treemanifest]
> server=True
> treeonly=True
> [remotefilelog]
> server=True
> shallowtrees=True
> EOF
Setup the client
$ cd ..
$ hgcloneshallow ssh://user@dummy/master client -q --config treemanifest.treeonly=True
$ cd client
$ cat >> .hg/hgrc <<EOF
> [extensions]
> treemanifest=
>
> [treemanifest]
> sendtrees=True
> treeonly=True
>
> [remotefilelog]
> reponame=treeonlyrepo
> EOF
Make some commits
$ cd ../master
$ mkdir subdir
$ echo a >> subdir/foo
$ hg commit -Aqm 'a > subdir/foo'
$ echo b >> subdir/foo
$ hg commit -Aqm 'b >> subdir/foo'
$ echo c >> subdir/foo
$ hg commit -Aqm 'c >> subdir/foo'
$ echo d >> subdir/foo
$ hg commit -Aqm 'd >> subdir/foo'
Test that log -p downloads each tree using the prior tree as a base
$ cd ../client
$ hg pull -q
$ hg up tip
fetching tree '' f50e2ff15ddef5802543b56b0b84d742512e90f0, found via 3b158baa90a6
2 trees fetched over * (glob)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) (?)
$ hg log -p 1>/dev/null
fetching tree '' 88dd1b582645feb893f44bd3b20947ff2d275360, based on f50e2ff15ddef5802543b56b0b84d742512e90f0, found via 2f885f603416
2 trees fetched over * (glob)
fetching tree '' d09a7a1172be7d3c00d4bc16831b6394d11ce33f, based on 88dd1b582645feb893f44bd3b20947ff2d275360, found via 6bfefea56efe
2 trees fetched over * (glob)
fetching tree '' 1b3e02c1b4460e2d6264781579eb163e76cffad4, based on d09a7a1172be7d3c00d4bc16831b6394d11ce33f
2 trees fetched over * (glob)
3 files fetched over 3 fetches - (3 misses, 0.00% hit ratio) over * (glob) (?)