Browse Source

dul-*-pack: Print usage message when not enough arguments are specified.

Jelmer Vernooij 14 years ago
parent
commit
1f667fada7
3 changed files with 35 additions and 0 deletions
  1. 6 0
      bin/dul-receive-pack
  2. 6 0
      bin/dul-upload-pack
  3. 23 0
      dulwich/tests/test_blackbox.py

+ 6 - 0
bin/dul-receive-pack

@@ -18,5 +18,11 @@
 # MA  02110-1301, USA.
 
 from dulwich.server import serve_command, ReceivePackHandler
+import os
 import sys
+
+if len(sys.argv) < 2:
+    print >>sys.stderr, "usage: %s <git-dir>" % os.path.basename(sys.argv[0])
+    sys.exit(1)
+
 sys.exit(serve_command(ReceivePackHandler))

+ 6 - 0
bin/dul-upload-pack

@@ -18,5 +18,11 @@
 # MA  02110-1301, USA.
 
 from dulwich.server import serve_command, UploadPackHandler
+import os
 import sys
+
+if len(sys.argv) < 2:
+    print >>sys.stderr, "usage: %s <git-dir>" % os.path.basename(sys.argv[0])
+    sys.exit(1)
+
 sys.exit(serve_command(UploadPackHandler))

+ 23 - 0
dulwich/tests/test_blackbox.py

@@ -42,3 +42,26 @@ class GitReceivePackTests(BlackboxTestCase):
         self.assertEquals('', stderr)
         self.assertEquals('0000', stdout[-4:])
         self.assertEquals(0, process.returncode)
+
+    def test_missing_arg(self):
+        process = self.run_command("dul-receive-pack", [])
+        (stdout, stderr) = process.communicate()
+        self.assertEquals('usage: dul-receive-pack <git-dir>\n', stderr)
+        self.assertEquals('', stdout)
+        self.assertEquals(1, process.returncode)
+
+
+class GitUploadPackTests(BlackboxTestCase):
+    """Blackbox tests for dul-upload-pack."""
+
+    def setUp(self):
+        super(GitUploadPackTests, self).setUp()
+        self.path = tempfile.mkdtemp()
+        self.repo = Repo.init(self.path)
+
+    def test_missing_arg(self):
+        process = self.run_command("dul-upload-pack", [])
+        (stdout, stderr) = process.communicate()
+        self.assertEquals('usage: dul-upload-pack <git-dir>\n', stderr)
+        self.assertEquals('', stdout)
+        self.assertEquals(1, process.returncode)