You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by e....@gmx.net on 2003/08/31 20:00:23 UTC
[PATCH] Eliminate temporary variables by using for .. else construct (test suite)
Doing the work for the test suite, I rewrote all for loops to use break ..
else where ever possible.
Log:
[[[
Use for .. else construct as often as possible, eliminating the need for
temporary variables.
* subversion/tests/clients/cmdline/commit_tests.py
* subversion/tests/clients/cmdline/copy_tests.py
* subversion/tests/clients/cmdline/diff_tests.py
* subversion/tests/clients/cmdline/externals_tests.py
* subversion/tests/clients/cmdline/prop_tests.py
* subversion/tests/clients/cmdline/stat_tests.py
* subversion/tests/clients/cmdline/update_tests.py
]]]
Index: subversion/tests/clients/cmdline/commit_tests.py
===================================================================
--- subversion/tests/clients/cmdline/commit_tests.py (revision 6931)
+++ subversion/tests/clients/cmdline/commit_tests.py (working copy)
@@ -1854,24 +1856,20 @@
# out-of-dateness error.
outlines, errlines = svntest.main.run_svn(1, 'commit', '-m', 'blah',
omega_path)
- out_of_date_error = 0
for line in errlines:
if re.match(".*out of date.*", line):
- out_of_date_error = 1;
-
- if out_of_date_error == 0:
+ break
+ else:
return 1
# Attempt to delete directory C. This should return an (expected)
# out-of-dateness error.
outlines, errlines = svntest.main.run_svn(1, 'commit', '-m', 'blah',
C_path)
- out_of_date_error = 0
for line in errlines:
if re.match(".*out of date.*", line):
- out_of_date_error = 1;
-
- if out_of_date_error == 0:
+ break
+ else:
return 1
return 0
Index: subversion/tests/clients/cmdline/copy_tests.py
===================================================================
--- subversion/tests/clients/cmdline/copy_tests.py (revision 6931)
+++ subversion/tests/clients/cmdline/copy_tests.py (working copy)
@@ -497,9 +497,10 @@
mo = re.match(pattern, node.name)
if mo:
extra_files.pop(extra_files.index(pattern))
- return 0
- print "Found unexpected disk object:", node.name
- raise svntest.main.SVNTreeUnequal
+ break
+ else:
+ print "Found unexpected disk object:", node.name
+ raise svntest.main.SVNTreeUnequal
def no_wc_copy_overwrites(sbox):
"svn cp PATH PATH cannot overwrite destination"
Index: subversion/tests/clients/cmdline/diff_tests.py
===================================================================
--- subversion/tests/clients/cmdline/diff_tests.py (revision 6931)
+++ subversion/tests/clients/cmdline/diff_tests.py (working copy)
@@ -727,11 +727,10 @@
stdout, stderr = svntest.main.run_svn(None, 'diff', wc_dir)
- failed_to_display = 0;
for line in stdout:
if (re_nodisplay.match(line)):
- failed_to_display = 1;
- if not failed_to_display:
+ break
+ else:
raise svntest.Failure
# Second diff use-case: 'svn diff -r1 wc' compares the wc against a
@@ -739,11 +738,10 @@
stdout, stderr = svntest.main.run_svn(None, 'diff', '-r', '1', wc_dir)
- failed_to_display = 0;
for line in stdout:
if (re_nodisplay.match(line)):
- failed_to_display = 1;
- if not failed_to_display:
+ break
+ else:
raise svntest.Failure
# Now commit the local mod, creating rev 3.
@@ -767,11 +765,10 @@
stdout, stderr = svntest.main.run_svn(None, 'diff', '-r', '2:3', wc_dir)
- failed_to_display = 0;
for line in stdout:
if (re_nodisplay.match(line)):
- failed_to_display = 1;
- if not failed_to_display:
+ break
+ else:
raise svntest.Failure
Index: subversion/tests/clients/cmdline/externals_tests.py
===================================================================
--- subversion/tests/clients/cmdline/externals_tests.py (revision 6931)
+++ subversion/tests/clients/cmdline/externals_tests.py (working copy)
@@ -779,12 +779,10 @@
out_lines, err_lines = svntest.main.run_svn (1, 'up', path)
if (err_lines):
m = re.compile(expected_err)
- found_it = 0
for line in err_lines:
if m.match(line):
- found_it = 1
break
- if not found_it:
+ else:
raise svntest.Failure
test_update(other_B_path, "Target dir '../foo' references '..'")
Index: subversion/tests/clients/cmdline/prop_tests.py
===================================================================
--- subversion/tests/clients/cmdline/prop_tests.py (revision 6931)
+++ subversion/tests/clients/cmdline/prop_tests.py (working copy)
@@ -314,11 +314,11 @@
mo = re.match(pattern, node.name)
if mo:
extra_files.pop(extra_files.index(pattern)) # delete pattern from
list
- return
+ break
+ else:
+ print "Found unexpected disk object:", node.name
+ raise svntest.tree.SVNTreeUnequal
- print "Found unexpected disk object:", node.name
- raise svntest.tree.SVNTreeUnequal
-
def update_conflict_props(sbox):
"update with conflicting props"
Index: subversion/tests/clients/cmdline/stat_tests.py
===================================================================
--- subversion/tests/clients/cmdline/stat_tests.py (revision 6931)
+++ subversion/tests/clients/cmdline/stat_tests.py (working copy)
@@ -316,7 +316,7 @@
# problem.
for line in stat_output:
if line.find('newfile') != -1:
- break;
+ break
else:
return 1
@@ -449,12 +449,13 @@
if err:
return 1
- saw_it = 0
for line in out:
if re.match("\\s+\\*.*crontab\\.root$", line):
- saw_it = 1
+ break
+ else:
+ return 1
- return not saw_it
+ return 0
#----------------------------------------------------------------------
@@ -515,13 +516,12 @@
if err:
return 1
- saw_uninvited_parent_dir = 0
for line in out:
# The "/?" is just to allow for an optional trailing slash.
if re.match("\\s+\\*.*\.other/?$", line):
- saw_uninvited_parent_dir = 1
+ return 1
- return saw_uninvited_parent_dir
+ return 0
def status_on_forward_deletion(sbox):
Index: subversion/tests/clients/cmdline/update_tests.py
===================================================================
--- subversion/tests/clients/cmdline/update_tests.py (revision 6931)
+++ subversion/tests/clients/cmdline/update_tests.py (working copy)
@@ -521,11 +521,11 @@
mo = re.match(pattern, node.name)
if mo:
extra_files.pop(extra_files.index(pattern)) # delete pattern from
list
- return 0
+ break
+ else:
+ print "Found unexpected disk object:", node.name
+ raise svntest.main.SVNTreeUnequal
- print "Found unexpected disk object:", node.name
- raise svntest.main.SVNTreeUnequal
-
def update_to_resolve_text_conflicts(sbox):
"delete files and update to resolve text conflicts"
@@ -646,9 +646,10 @@
mo = re.match(pattern, node.name)
if mo:
extra_files.pop(extra_files.index(pattern))
- return 0
- print "Found unexpected disk object:", node.name
- raise svntest.main.SVNTreeUnequal
+ break
+ else:
+ print "Found unexpected disk object:", node.name
+ raise svntest.main.SVNTreeUnequal
def update_delete_modified_files(sbox):
"update that deletes modified files"
--
COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test
--------------------------------------------------
1. GMX TopMail - Platz 1 und Testsieger!
2. GMX ProMail - Platz 2 und Preis-Qualitätssieger!
3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: [PATCH] Eliminate temporary variables by using for .. else construct
(test suite)
Posted by Julian Foad <ju...@btopenworld.com>.
e.huelsmann@gmx.net wrote:
>
> Use for .. else construct as often as possible, eliminating the need for
> temporary variables.
I have checked this patch line by line for correctness, and run "make check", and I am happy with the spirit and the letter of it.
I would check it in if anyone specifically asks me to, but I'm not experienced in Python so I'd rather someone who is does. So why did I bother? Just to provide a second opinion.
- Julian
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: [PATCH] Eliminate temporary variables by using for .. else construct
(test suite)
Posted by Julian Foad <ju...@btopenworld.com>.
Sander Roobol wrote:
> Filed as issue #1513.
>
> Sander
>
> On Sun, Aug 31, 2003 at 10:00:23PM +0200, e.huelsmann@gmx.net wrote:
>
>>Doing the work for the test suite, I rewrote all for loops to use break ..
>>else where ever possible.
That reminds me to commit it ...
Committed in r7027. Issue closed.
Thanks.
- Julian
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: [PATCH] Eliminate temporary variables by using for .. else construct (test suite)
Posted by Sander Roobol <ph...@wanadoo.nl>.
Filed as issue #1513.
Sander
On Sun, Aug 31, 2003 at 10:00:23PM +0200, e.huelsmann@gmx.net wrote:
>
> Doing the work for the test suite, I rewrote all for loops to use break ..
> else where ever possible.
>
> Log:
> [[[
> Use for .. else construct as often as possible, eliminating the need for
> temporary variables.
>
> * subversion/tests/clients/cmdline/commit_tests.py
> * subversion/tests/clients/cmdline/copy_tests.py
> * subversion/tests/clients/cmdline/diff_tests.py
> * subversion/tests/clients/cmdline/externals_tests.py
> * subversion/tests/clients/cmdline/prop_tests.py
> * subversion/tests/clients/cmdline/stat_tests.py
> * subversion/tests/clients/cmdline/update_tests.py
>
>
> ]]]
>
> Index: subversion/tests/clients/cmdline/commit_tests.py
> ===================================================================
> --- subversion/tests/clients/cmdline/commit_tests.py (revision 6931)
> +++ subversion/tests/clients/cmdline/commit_tests.py (working copy)
> @@ -1854,24 +1856,20 @@
> # out-of-dateness error.
> outlines, errlines = svntest.main.run_svn(1, 'commit', '-m', 'blah',
> omega_path)
> - out_of_date_error = 0
> for line in errlines:
> if re.match(".*out of date.*", line):
> - out_of_date_error = 1;
> -
> - if out_of_date_error == 0:
> + break
> + else:
> return 1
>
> # Attempt to delete directory C. This should return an (expected)
> # out-of-dateness error.
> outlines, errlines = svntest.main.run_svn(1, 'commit', '-m', 'blah',
> C_path)
> - out_of_date_error = 0
> for line in errlines:
> if re.match(".*out of date.*", line):
> - out_of_date_error = 1;
> -
> - if out_of_date_error == 0:
> + break
> + else:
> return 1
>
> return 0
> Index: subversion/tests/clients/cmdline/copy_tests.py
> ===================================================================
> --- subversion/tests/clients/cmdline/copy_tests.py (revision 6931)
> +++ subversion/tests/clients/cmdline/copy_tests.py (working copy)
> @@ -497,9 +497,10 @@
> mo = re.match(pattern, node.name)
> if mo:
> extra_files.pop(extra_files.index(pattern))
> - return 0
> - print "Found unexpected disk object:", node.name
> - raise svntest.main.SVNTreeUnequal
> + break
> + else:
> + print "Found unexpected disk object:", node.name
> + raise svntest.main.SVNTreeUnequal
>
> def no_wc_copy_overwrites(sbox):
> "svn cp PATH PATH cannot overwrite destination"
> Index: subversion/tests/clients/cmdline/diff_tests.py
> ===================================================================
> --- subversion/tests/clients/cmdline/diff_tests.py (revision 6931)
> +++ subversion/tests/clients/cmdline/diff_tests.py (working copy)
> @@ -727,11 +727,10 @@
>
> stdout, stderr = svntest.main.run_svn(None, 'diff', wc_dir)
>
> - failed_to_display = 0;
> for line in stdout:
> if (re_nodisplay.match(line)):
> - failed_to_display = 1;
> - if not failed_to_display:
> + break
> + else:
> raise svntest.Failure
>
> # Second diff use-case: 'svn diff -r1 wc' compares the wc against a
> @@ -739,11 +738,10 @@
>
> stdout, stderr = svntest.main.run_svn(None, 'diff', '-r', '1', wc_dir)
>
> - failed_to_display = 0;
> for line in stdout:
> if (re_nodisplay.match(line)):
> - failed_to_display = 1;
> - if not failed_to_display:
> + break
> + else:
> raise svntest.Failure
>
> # Now commit the local mod, creating rev 3.
> @@ -767,11 +765,10 @@
>
> stdout, stderr = svntest.main.run_svn(None, 'diff', '-r', '2:3', wc_dir)
>
> - failed_to_display = 0;
> for line in stdout:
> if (re_nodisplay.match(line)):
> - failed_to_display = 1;
> - if not failed_to_display:
> + break
> + else:
> raise svntest.Failure
>
>
> Index: subversion/tests/clients/cmdline/externals_tests.py
> ===================================================================
> --- subversion/tests/clients/cmdline/externals_tests.py (revision 6931)
> +++ subversion/tests/clients/cmdline/externals_tests.py (working copy)
> @@ -779,12 +779,10 @@
> out_lines, err_lines = svntest.main.run_svn (1, 'up', path)
> if (err_lines):
> m = re.compile(expected_err)
> - found_it = 0
> for line in err_lines:
> if m.match(line):
> - found_it = 1
> break
> - if not found_it:
> + else:
> raise svntest.Failure
>
> test_update(other_B_path, "Target dir '../foo' references '..'")
> Index: subversion/tests/clients/cmdline/prop_tests.py
> ===================================================================
> --- subversion/tests/clients/cmdline/prop_tests.py (revision 6931)
> +++ subversion/tests/clients/cmdline/prop_tests.py (working copy)
> @@ -314,11 +314,11 @@
> mo = re.match(pattern, node.name)
> if mo:
> extra_files.pop(extra_files.index(pattern)) # delete pattern from
> list
> - return
> + break
> + else:
> + print "Found unexpected disk object:", node.name
> + raise svntest.tree.SVNTreeUnequal
>
> - print "Found unexpected disk object:", node.name
> - raise svntest.tree.SVNTreeUnequal
> -
> def update_conflict_props(sbox):
> "update with conflicting props"
>
> Index: subversion/tests/clients/cmdline/stat_tests.py
> ===================================================================
> --- subversion/tests/clients/cmdline/stat_tests.py (revision 6931)
> +++ subversion/tests/clients/cmdline/stat_tests.py (working copy)
> @@ -316,7 +316,7 @@
> # problem.
> for line in stat_output:
> if line.find('newfile') != -1:
> - break;
> + break
> else:
> return 1
>
> @@ -449,12 +449,13 @@
> if err:
> return 1
>
> - saw_it = 0
> for line in out:
> if re.match("\\s+\\*.*crontab\\.root$", line):
> - saw_it = 1
> + break
> + else:
> + return 1
>
> - return not saw_it
> + return 0
>
>
> #----------------------------------------------------------------------
> @@ -515,13 +516,12 @@
> if err:
> return 1
>
> - saw_uninvited_parent_dir = 0
> for line in out:
> # The "/?" is just to allow for an optional trailing slash.
> if re.match("\\s+\\*.*\.other/?$", line):
> - saw_uninvited_parent_dir = 1
> + return 1
>
> - return saw_uninvited_parent_dir
> + return 0
>
>
> def status_on_forward_deletion(sbox):
> Index: subversion/tests/clients/cmdline/update_tests.py
> ===================================================================
> --- subversion/tests/clients/cmdline/update_tests.py (revision 6931)
> +++ subversion/tests/clients/cmdline/update_tests.py (working copy)
> @@ -521,11 +521,11 @@
> mo = re.match(pattern, node.name)
> if mo:
> extra_files.pop(extra_files.index(pattern)) # delete pattern from
> list
> - return 0
> + break
> + else:
> + print "Found unexpected disk object:", node.name
> + raise svntest.main.SVNTreeUnequal
>
> - print "Found unexpected disk object:", node.name
> - raise svntest.main.SVNTreeUnequal
> -
> def update_to_resolve_text_conflicts(sbox):
> "delete files and update to resolve text conflicts"
>
> @@ -646,9 +646,10 @@
> mo = re.match(pattern, node.name)
> if mo:
> extra_files.pop(extra_files.index(pattern))
> - return 0
> - print "Found unexpected disk object:", node.name
> - raise svntest.main.SVNTreeUnequal
> + break
> + else:
> + print "Found unexpected disk object:", node.name
> + raise svntest.main.SVNTreeUnequal
>
> def update_delete_modified_files(sbox):
> "update that deletes modified files"
>
> --
> COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test
> --------------------------------------------------
> 1. GMX TopMail - Platz 1 und Testsieger!
> 2. GMX ProMail - Platz 2 und Preis-Qualitätssieger!
> 3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org