]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
Avoid double-counting source files in 'tahoe cp --verbose'. fixes #1783
authorDavid-Sarah Hopwood <david-sarah@jacaranda.org>
Wed, 20 Mar 2013 00:57:50 +0000 (00:57 +0000)
committerDavid-Sarah Hopwood <david-sarah@jacaranda.org>
Wed, 20 Mar 2013 00:57:50 +0000 (00:57 +0000)
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
src/allmydata/scripts/tahoe_cp.py
src/allmydata/test/test_cli.py

index f2f8c92243d4d7758abfb56aa08caef3efd18738..1ad460d897403bec53ebc147dc1ecc8c95336b05 100644 (file)
@@ -652,7 +652,6 @@ class Copier:
 
         for (name,s) in source_files:
             self.attach_to_target(s, name, target)
-            self.files_to_copy += 1
 
         for source in source_dirs:
             self.assign_targets(source, target)
index ccf5fddc5adf56416170a80cea4267c39850f69b..333da02a321aa90937668ca7ab943349ccd94192 100644 (file)
@@ -2468,6 +2468,34 @@ class Cp(GridTestMixin, CLITestMixin, unittest.TestCase):
         d.addCallback(_got_testdir_json)
         return d
 
+    def test_cp_verbose(self):
+        self.basedir = "cli/Cp/cp_verbose"
+        self.set_up_grid()
+
+        # Write two test files, which we'll copy to the grid.
+        test1_path = os.path.join(self.basedir, "test1")
+        test2_path = os.path.join(self.basedir, "test2")
+        fileutil.write(test1_path, "test1")
+        fileutil.write(test2_path, "test2")
+
+        d = self.do_cli("create-alias", "tahoe")
+        d.addCallback(lambda ign:
+            self.do_cli("cp", "--verbose", test1_path, test2_path, "tahoe:"))
+        def _check(res):
+            (rc, out, err) = res
+            self.failUnlessEqual(rc, 0, str(res))
+            self.failUnlessIn("Success: files copied", out, str(res))
+            self.failUnlessEqual(err, """\
+attaching sources to targets, 2 files / 0 dirs in root
+targets assigned, 1 dirs, 2 files
+starting copy, 2 files, 1 directories
+1/2 files, 0/1 directories
+2/2 files, 0/1 directories
+1/1 directories
+""", str(res))
+        d.addCallback(_check)
+        return d
+
 
 class Backup(GridTestMixin, CLITestMixin, StallMixin, unittest.TestCase):