Răsfoiți Sursa

Add python3 support to blackbox test.

Jelmer Vernooij 10 ani în urmă
părinte
comite
ce03899940
2 a modificat fișierele cu 17 adăugiri și 14 ștergeri
  1. 10 2
      dulwich/porcelain.py
  2. 7 12
      dulwich/tests/test_blackbox.py

+ 10 - 2
dulwich/porcelain.py

@@ -629,13 +629,17 @@ def web_daemon(path=".", address=None, port=None):
     server.serve_forever()
 
 
-def upload_pack(path=".", inf=sys.stdin, outf=sys.stdout):
+def upload_pack(path=".", inf=None, outf=None):
     """Upload a pack file after negotiating its contents using smart protocol.
 
     :param path: Path to the repository
     :param inf: Input stream to communicate with client
     :param outf: Output stream to communicate with client
     """
+    if outf is None:
+        outf = getattr(sys.stdout, 'buffer', sys.stdout)
+    if inf is None:
+        inf = getattr(sys.stdin, 'buffer', sys.stdin)
     backend = FileSystemBackend()
     def send_fn(data):
         outf.write(data)
@@ -647,13 +651,17 @@ def upload_pack(path=".", inf=sys.stdin, outf=sys.stdout):
     return 0
 
 
-def receive_pack(path=".", inf=sys.stdin, outf=sys.stdout):
+def receive_pack(path=".", inf=None, outf=None):
     """Receive a pack file after negotiating its contents using smart protocol.
 
     :param path: Path to the repository
     :param inf: Input stream to communicate with client
     :param outf: Output stream to communicate with client
     """
+    if outf is None:
+        outf = getattr(sys.stdout, 'buffer', sys.stdout)
+    if inf is None:
+        inf = getattr(sys.stdin, 'buffer', sys.stdin)
     backend = FileSystemBackend()
     def send_fn(data):
         outf.write(data)

+ 7 - 12
dulwich/tests/test_blackbox.py

@@ -26,12 +26,8 @@ from dulwich.repo import (
 from dulwich.tests import (
     BlackboxTestCase,
     )
-from dulwich.tests.utils import (
-    skipIfPY3,
-    )
 
 
-@skipIfPY3
 class GitReceivePackTests(BlackboxTestCase):
     """Blackbox tests for dul-receive-pack."""
 
@@ -42,20 +38,19 @@ class GitReceivePackTests(BlackboxTestCase):
 
     def test_basic(self):
         process = self.run_command("dul-receive-pack", [self.path])
-        (stdout, stderr) = process.communicate("0000")
-        self.assertEqual('', stderr)
-        self.assertEqual('0000', stdout[-4:])
+        (stdout, stderr) = process.communicate(b"0000")
+        self.assertEqual(b'', stderr, stderr)
+        self.assertEqual(b'0000', stdout[-4:])
         self.assertEqual(0, process.returncode)
 
     def test_missing_arg(self):
         process = self.run_command("dul-receive-pack", [])
         (stdout, stderr) = process.communicate()
-        self.assertEqual(['usage: dul-receive-pack <git-dir>'], stderr.splitlines())
-        self.assertEqual('', stdout)
+        self.assertEqual([b'usage: dul-receive-pack <git-dir>'], stderr.splitlines())
+        self.assertEqual(b'', stdout)
         self.assertEqual(1, process.returncode)
 
 
-@skipIfPY3
 class GitUploadPackTests(BlackboxTestCase):
     """Blackbox tests for dul-upload-pack."""
 
@@ -67,6 +62,6 @@ class GitUploadPackTests(BlackboxTestCase):
     def test_missing_arg(self):
         process = self.run_command("dul-upload-pack", [])
         (stdout, stderr) = process.communicate()
-        self.assertEqual(['usage: dul-upload-pack <git-dir>'], stderr.splitlines())
-        self.assertEqual('', stdout)
+        self.assertEqual([b'usage: dul-upload-pack <git-dir>'], stderr.splitlines())
+        self.assertEqual(b'', stdout)
         self.assertEqual(1, process.returncode)