bundle2: add ability to write to a file to the test
Next changesets are about improving debug output during bundling. We won't be
able to simply bundle to stdin in this case. The bundle2 stream would be
interleaved with debug output.
--- a/tests/test-bundle2.t Fri Mar 21 16:09:17 2014 -0700
+++ b/tests/test-bundle2.t Wed Mar 19 02:36:21 2014 -0700
@@ -17,8 +17,8 @@
>
> @command('bundle2',
> [('', 'param', [], 'stream level parameter'),],
- > '')
- > def cmdbundle2(ui, repo, **opts):
+ > '[OUTPUTFILE]')
+ > def cmdbundle2(ui, repo, path=None, **opts):
> """write a bundle2 container on standard ouput"""
> bundler = bundle2.bundle20()
> for p in opts['param']:
@@ -28,8 +28,13 @@
> except ValueError, exc:
> raise util.Abort('%s' % exc)
>
+ > if path is None:
+ > file = sys.stdout
+ > else:
+ > file = open(path, 'w')
+ >
> for chunk in bundler.getchunks():
- > ui.write(chunk)
+ > file.write(chunk)
>
> @command('unbundle2', [], '')
> def cmdunbundle2(ui, repo):
@@ -154,6 +159,17 @@
- simple
parts count: 0
+Test debug output
+---------------------------------------------------
+(no debug output yet)
+
+ $ hg bundle2 --debug --param 'e|! 7/=babar%#==tutu' --param simple ../out.hg2
+
+file content is ok
+
+ $ cat ../out.hg2
+ HG20\x00)e%7C%21%207/=babar%25%23%3D%3Dtutu simple\x00\x00 (no-eol) (esc)
+
Test buggy input
---------------------------------------------------