mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
fa1c4e5ebe
Many tests didn't change back from subdirectories at the end of the tests ... and they don't have to. The missing 'cd ..' could always be added when another test case is added to the test file. This change do that tests (99.5%) consistently end up in $TESTDIR where they started, thus making it simpler to extend them or move them around.
62 lines
1.6 KiB
Perl
62 lines
1.6 KiB
Perl
revlog.parseindex must be able to parse the index file even if
|
|
an index entry is split between two 64k blocks. The ideal test
|
|
would be to create an index file with inline data where
|
|
64k < size < 64k + 64 (64k is the size of the read buffer, 64 is
|
|
the size of an index entry) and with an index entry starting right
|
|
before the 64k block boundary, and try to read it.
|
|
We approximate that by reducing the read buffer to 1 byte.
|
|
|
|
$ hg init a
|
|
$ cd a
|
|
$ echo abc > foo
|
|
$ hg add foo
|
|
$ hg commit -m 'add foo'
|
|
$ echo >> foo
|
|
$ hg commit -m 'change foo'
|
|
$ hg log -r 0:
|
|
changeset: 0:7c31755bf9b5
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: add foo
|
|
|
|
changeset: 1:26333235a41c
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: change foo
|
|
|
|
$ cat >> test.py << EOF
|
|
> from mercurial import changelog, scmutil
|
|
> from mercurial.node import *
|
|
>
|
|
> class singlebyteread(object):
|
|
> def __init__(self, real):
|
|
> self.real = real
|
|
>
|
|
> def read(self, size=-1):
|
|
> if size == 65536:
|
|
> size = 1
|
|
> return self.real.read(size)
|
|
>
|
|
> def __getattr__(self, key):
|
|
> return getattr(self.real, key)
|
|
>
|
|
> def opener(*args):
|
|
> o = scmutil.opener(*args)
|
|
> def wrapper(*a):
|
|
> f = o(*a)
|
|
> return singlebyteread(f)
|
|
> return wrapper
|
|
>
|
|
> cl = changelog.changelog(opener('.hg/store'))
|
|
> print len(cl), 'revisions:'
|
|
> for r in cl:
|
|
> print short(cl.node(r))
|
|
> EOF
|
|
$ python test.py
|
|
2 revisions:
|
|
7c31755bf9b5
|
|
26333235a41c
|
|
|
|
$ cd ..
|