Mercurial > hg
view tests/test-journal.t @ 29496:7299370cf304
perf: avoid using formatteropts for Mercurial earlier than 3.2
Before this patch, referring commands.formatteropts prevents perf.py
from being loaded by Mercurial earlier than 3.2 (or 7a7eed5176a4),
because it isn't available in such Mercurial, even though formatting
itself has been available since 2.2 (or ae5f92e154d3).
In addition to it, there are some code paths for Mercurial earlier
than 3.2. For example, setting "_prereadsize" attribute in perfindex()
and perfnodelookup() is effective only with hg earlier than 1.8 (or
61c9bc3da402).
This patch uses empty option list as formatteropts, if it isn't
available in commands module at runtime.
Disabling -T/--template option for earlier Mercurial should be
reasonable, because:
- since 427e80a18ef8, -T/--template for formatter has been available
- since 7a7eed5176a4, commands.formatteropts has been available
- the latter revision is direct child of the former
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Tue, 05 Jul 2016 07:25:51 +0900 |
parents | cf092a3d202a |
children | 8361131b4768 |
line wrap: on
line source
Tests for the journal extension; records bookmark locations. $ cat >> testmocks.py << EOF > # mock out util.getuser() and util.makedate() to supply testable values > import os > from mercurial import util > def mockgetuser(): > return 'foobar' > > def mockmakedate(): > filename = os.path.join(os.environ['TESTTMP'], 'testtime') > try: > with open(filename, 'rb') as timef: > time = float(timef.read()) + 1 > except IOError: > time = 0.0 > with open(filename, 'wb') as timef: > timef.write(str(time)) > return (time, 0) > > util.getuser = mockgetuser > util.makedate = mockmakedate > EOF $ cat >> $HGRCPATH << EOF > [extensions] > journal= > testmocks=`pwd`/testmocks.py > EOF Setup repo $ hg init repo $ cd repo $ echo a > a $ hg commit -Aqm a $ echo b > a $ hg commit -Aqm b $ hg up 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved Test empty journal $ hg journal previous locations of all bookmarks: no recorded locations $ hg journal foo previous locations of 'foo': no recorded locations Test that bookmarks are tracked $ hg book -r tip bar $ hg journal bar previous locations of 'bar': 1e6c11564562 book -r tip bar $ hg book -f bar $ hg journal bar previous locations of 'bar': cb9a9f314b8b book -f bar 1e6c11564562 book -r tip bar $ hg up 1 files updated, 0 files merged, 0 files removed, 0 files unresolved updating bookmark bar $ hg journal bar previous locations of 'bar': 1e6c11564562 up cb9a9f314b8b book -f bar 1e6c11564562 book -r tip bar Test that you can list all bookmarks as well as limit the list or filter on them $ hg book -r tip baz $ hg journal previous locations of all bookmarks: 1e6c11564562 book -r tip baz 1e6c11564562 up cb9a9f314b8b book -f bar 1e6c11564562 book -r tip bar $ hg journal --limit 2 previous locations of all bookmarks: 1e6c11564562 book -r tip baz 1e6c11564562 up $ hg journal baz previous locations of 'baz': 1e6c11564562 book -r tip baz $ hg journal bar previous locations of 'bar': 1e6c11564562 up cb9a9f314b8b book -f bar 1e6c11564562 book -r tip bar $ hg journal foo previous locations of 'foo': no recorded locations Test that verbose and commit output work $ hg journal --verbose previous locations of all bookmarks: 000000000000 -> 1e6c11564562 foobar 1970-01-01 00:00 +0000 book -r tip baz cb9a9f314b8b -> 1e6c11564562 foobar 1970-01-01 00:00 +0000 up 1e6c11564562 -> cb9a9f314b8b foobar 1970-01-01 00:00 +0000 book -f bar 000000000000 -> 1e6c11564562 foobar 1970-01-01 00:00 +0000 book -r tip bar $ hg journal --commit previous locations of all bookmarks: 1e6c11564562 book -r tip baz changeset: 1:1e6c11564562 bookmark: bar bookmark: baz tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: b 1e6c11564562 up changeset: 1:1e6c11564562 bookmark: bar bookmark: baz tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: b cb9a9f314b8b book -f bar changeset: 0:cb9a9f314b8b user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: a 1e6c11564562 book -r tip bar changeset: 1:1e6c11564562 bookmark: bar bookmark: baz tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: b Test for behaviour on unexpected storage version information $ printf '42\0' > .hg/journal $ hg journal previous locations of all bookmarks: abort: unknown journal file version '42' [255] $ hg book -r tip doomed unsupported journal file version '42'