bundle2: add ability to write to a file to the test
authorPierre-Yves David <pierre-yves.david@fb.com>
Wed, 19 Mar 2014 02:36:21 -0700
changeset 20841 cff562fe77a0
parent 20840 308344d80fe5
child 20842 938718d72624
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.
tests/test-bundle2.t
--- 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
 ---------------------------------------------------