Mercurial > hg
view tests/test-journal.t @ 31769:594dd384803c
test-serve: make the 'listening at *' lines optional
The daemonized serve process doesn't print these lines out (see 448d0c452140).
I was able to get it to with the following hack:
diff --git a/mercurial/win32.py b/mercurial/win32.py
--- a/mercurial/win32.py
+++ b/mercurial/win32.py
@@ -418,6 +418,11 @@
return str(ppid)
def spawndetached(args):
+
+ import subprocess
+ return subprocess.Popen(args, cwd=pycompat.getcwd(), env=encoding.environ,
+ creationflags=subprocess.CREATE_NEW_PROCESS_GROUP).pid
+
# No standard library function really spawns a fully detached
# process under win32 because they allocate pipes or other objects
# to handle standard streams communications. Passing these objects
However, MSYS translates --prefixes starting with '/' to 'C:/MinGW/msys/1.0',
which changes the output. The output isn't so important that I want to spend a
bunch of time on this, and risk breaking some subtle behavior of `hg serve -d`
with the more complicated code.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 02 Apr 2017 00:56:52 -0400 |
parents | 6d11ae3c4c4b |
children | c6061cadb400 |
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 Test empty journal $ hg journal previous locations of '.': no recorded locations $ hg journal foo previous locations of 'foo': no recorded locations Test that working copy changes are tracked $ echo a > a $ hg commit -Aqm a $ hg journal previous locations of '.': cb9a9f314b8b commit -Aqm a $ echo b > a $ hg commit -Aqm b $ hg journal previous locations of '.': 1e6c11564562 commit -Aqm b cb9a9f314b8b commit -Aqm a $ hg up 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg journal previous locations of '.': cb9a9f314b8b up 0 1e6c11564562 commit -Aqm b cb9a9f314b8b commit -Aqm a 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 bookmarks and working copy tracking is not mixed $ hg journal previous locations of '.': 1e6c11564562 up cb9a9f314b8b up 0 1e6c11564562 commit -Aqm b cb9a9f314b8b commit -Aqm a Test that you can list all entries as well as limit the list or filter on them $ hg book -r tip baz $ hg journal --all previous locations of the working copy and bookmarks: 1e6c11564562 baz book -r tip baz 1e6c11564562 bar up 1e6c11564562 . up cb9a9f314b8b bar book -f bar 1e6c11564562 bar book -r tip bar cb9a9f314b8b . up 0 1e6c11564562 . commit -Aqm b cb9a9f314b8b . commit -Aqm a $ hg journal --limit 2 previous locations of '.': 1e6c11564562 up cb9a9f314b8b up 0 $ 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 $ hg journal . previous locations of '.': 1e6c11564562 up cb9a9f314b8b up 0 1e6c11564562 commit -Aqm b cb9a9f314b8b commit -Aqm a $ hg journal "re:ba." previous locations of 're:ba.': 1e6c11564562 baz book -r tip baz 1e6c11564562 bar up cb9a9f314b8b bar book -f bar 1e6c11564562 bar book -r tip bar Test that verbose, JSON, template and commit output work $ hg journal --verbose --all previous locations of the working copy and bookmarks: 000000000000 -> 1e6c11564562 foobar baz 1970-01-01 00:00 +0000 book -r tip baz cb9a9f314b8b -> 1e6c11564562 foobar bar 1970-01-01 00:00 +0000 up cb9a9f314b8b -> 1e6c11564562 foobar . 1970-01-01 00:00 +0000 up 1e6c11564562 -> cb9a9f314b8b foobar bar 1970-01-01 00:00 +0000 book -f bar 000000000000 -> 1e6c11564562 foobar bar 1970-01-01 00:00 +0000 book -r tip bar 1e6c11564562 -> cb9a9f314b8b foobar . 1970-01-01 00:00 +0000 up 0 cb9a9f314b8b -> 1e6c11564562 foobar . 1970-01-01 00:00 +0000 commit -Aqm b 000000000000 -> cb9a9f314b8b foobar . 1970-01-01 00:00 +0000 commit -Aqm a $ hg journal --verbose -Tjson [ { "command": "up", "date": [5.0, 0], "name": ".", "newhashes": ["1e6c11564562b4ed919baca798bc4338bd299d6a"], "oldhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"], "user": "foobar" }, { "command": "up 0", "date": [2.0, 0], "name": ".", "newhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"], "oldhashes": ["1e6c11564562b4ed919baca798bc4338bd299d6a"], "user": "foobar" }, { "command": "commit -Aqm b", "date": [1.0, 0], "name": ".", "newhashes": ["1e6c11564562b4ed919baca798bc4338bd299d6a"], "oldhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"], "user": "foobar" }, { "command": "commit -Aqm a", "date": [0.0, 0], "name": ".", "newhashes": ["cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b"], "oldhashes": ["0000000000000000000000000000000000000000"], "user": "foobar" } ] $ cat <<EOF >> $HGRCPATH > [templates] > j = "{oldhashes % '{node|upper}'} -> {newhashes % '{node|upper}'} > - user: {user} > - command: {command} > - date: {date|rfc3339date} > - newhashes: {newhashes} > - oldhashes: {oldhashes} > " > EOF $ hg journal -Tj -l1 previous locations of '.': CB9A9F314B8B07BA71012FCDBC544B5A4D82FF5B -> 1E6C11564562B4ED919BACA798BC4338BD299D6A - user: foobar - command: up - date: 1970-01-01T00:00:05+00:00 - newhashes: 1e6c11564562b4ed919baca798bc4338bd299d6a - oldhashes: cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b $ hg journal --commit previous locations of '.': 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 up 0 changeset: 0:cb9a9f314b8b user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: a 1e6c11564562 commit -Aqm b changeset: 1:1e6c11564562 bookmark: bar bookmark: baz tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: b cb9a9f314b8b commit -Aqm a changeset: 0:cb9a9f314b8b user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: a Test for behaviour on unexpected storage version information $ printf '42\0' > .hg/namejournal $ hg journal previous locations of '.': abort: unknown journal file version '42' [255] $ hg book -r tip doomed unsupported journal file version '42'