##// END OF EJS Templates
blackbox: fix recording exit codes (issue3938)...
blackbox: fix recording exit codes (issue3938) Previously the blackbox wrapped runcommand, but this failed to see the error codes that were created if an exception occurred. I moved that logging to now wrap _runcatch, so it can observe and log the actual error code (such as when a user ctrl+c's during a command). Updated the tests as well. Tested the change by running all the tests with the blackbox extension enabled and verifying nothing broke (aside from things that printed what extensions were enabeld). The progress tests are affected by calls to time.time() so they needed to be updated to pass.

File last commit:

r18373:687ed69f default
r19229:41e39a02 stable
Show More
test-convert-clonebranches.t
88 lines | 2.2 KiB | text/troff | Tads3Lexer
/ tests / test-convert-clonebranches.t
$ echo "[extensions]" >> $HGRCPATH
$ echo "convert = " >> $HGRCPATH
$ echo "[convert]" >> $HGRCPATH
$ echo "hg.tagsbranch=0" >> $HGRCPATH
$ hg init source
$ cd source
$ echo a > a
$ hg ci -qAm adda
Add a merge with one parent in the same branch
$ echo a >> a
$ hg ci -qAm changea
$ hg up -qC 0
$ hg branch branch0
marked working directory as branch branch0
(branches are permanent and global, did you want a bookmark?)
$ echo b > b
$ hg ci -qAm addb
$ hg up -qC
$ hg merge default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -qm mergeab
$ hg tag -ql mergeab
$ cd ..
Miss perl... sometimes
$ cat > filter.py <<EOF
> import sys, re
>
> r = re.compile(r'^(?:\d+|pulling from)')
> sys.stdout.writelines([l for l in sys.stdin if r.search(l)])
> EOF
convert
$ hg convert -v --config convert.hg.clonebranches=1 source dest |
> python filter.py
3 adda
2 changea
1 addb
pulling from default into branch0
1 changesets found
0 mergeab
pulling from default into branch0
1 changesets found
Add a merge with both parents and child in different branches
$ cd source
$ hg branch branch1
marked working directory as branch branch1
(branches are permanent and global, did you want a bookmark?)
$ echo a > file1
$ hg ci -qAm c1
$ hg up -qC mergeab
$ hg branch branch2
marked working directory as branch branch2
(branches are permanent and global, did you want a bookmark?)
$ echo a > file2
$ hg ci -qAm c2
$ hg merge branch1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg branch branch3
marked working directory as branch branch3
(branches are permanent and global, did you want a bookmark?)
$ hg ci -qAm c3
$ cd ..
incremental conversion
$ hg convert -v --config convert.hg.clonebranches=1 source dest |
> python filter.py
2 c1
pulling from branch0 into branch1
4 changesets found
1 c2
pulling from branch0 into branch2
4 changesets found
0 c3
pulling from branch1 into branch3
5 changesets found
pulling from branch2 into branch3
1 changesets found