Log
[[[

Follow-up to r1070508. Add new test for 'svn add' with multiple targets.

* subversion/tests/cmdline/basic_tests.py
  (add_multiple_targets): New test
  (test_list): Add reference to new test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
]]]

Index: subversion/tests/cmdline/basic_tests.py
===================================================================
--- subversion/tests/cmdline/basic_tests.py     (revision 1070903)
+++ subversion/tests/cmdline/basic_tests.py     (working copy)
@@ -2771,6 +2771,47 @@
     raise svntest.Failure('ls failed: expected error "%s", but received "%s"' 
% \
                           (expected_err, "".join(error)))
 
+def add_multiple_targets(sbox):
+  "add multiple targets"
+
+  sbox.build(read_only = True)
+  wc_dir = sbox.wc_dir
+
+  file1 = sbox.ospath('file1')
+  file2 = sbox.ospath('file2')
+  non_existent_path = os.path.join(wc_dir, 'non-existent')
+
+  svntest.main.file_write(file1, "file1 contents", 'w+')
+  svntest.main.file_write(file2, "file2 contents", 'w+')
+
+  # One non-existing target
+  expected_err = "svn: warning: W155010: '" + \
+      re.escape(os.path.abspath(non_existent_path)) + "' not found\n" + \
+      ".*\nsvn: E200009: Could not add all targets because some targets " + \
+      "don't exist\n"
+  expected_err_re = re.compile(expected_err)
+
+  # Build expected state
+  expected_output = wc.State(wc_dir, {
+      'file1' : Item(verb='Adding'),
+      'file2' : Item(verb='Adding'),
+    })
+
+  exit_code, output, error = svntest.main.run_svn(1, 'add', file1, 
+                                                  non_existent_path, file2)
+
+  # Verify error
+  if not expected_err_re.match("".join(error)):
+    raise svntest.Failure('add failed: expected error "%s", but received '
+                          '"%s"' % (expected_err, "".join(error)))
+
+  # Verify status
+  expected_status = svntest.verify.UnorderedOutput(
+        ['A       ' + file1 + '\n',
+         'A       ' + file2 + '\n'])
+  svntest.actions.run_and_verify_svn(None, expected_status, [],
+                                     'status', wc_dir)
+
 ########################################################################
 # Run the tests
 
@@ -2836,6 +2877,7 @@
               ls_non_existent_url_target,
               ls_multiple_wc_targets,
               ls_multiple_url_targets,
+              add_multiple_targets,
              ]
 
 if __name__ == '__main__':

Reply via email to