I'm all for having some dumper/loader tests, and I'm cool with these
as an initial go at it. I have some ideas about how to do a real
suite of tests, but for now I'd be pleased if you could re-submit your
patch with a log message (see the HACKING file).
Branko, any reason why these wouldn't be Windows-safe?
Scott Lamb <slamb@slamb.org> writes:
> --/9DWx/yDrRhgMJTb
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: inline
>
> Attached is a patch that does very simple regression tests for "svnadmin
> dump" issues #776 and #794. I checked, they both fail at the revision
> before they were reported fixed and pass afterward.
>
> They just check if the revisions are dumped and no errors are printed.
> It would be nice to have something that actually checks if the dump
> output is correct. (And maybe catch the problem I'm having now, for
> example.)
>
> --
> Scott Lamb
>
> --/9DWx/yDrRhgMJTb
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: attachment; filename="dump-regression-tests.patch"
>
> Index: ./svnadmin_tests.py
> ===================================================================
> --- ./svnadmin_tests.py
> +++ ./svnadmin_tests.py Mon Jul 15 17:03:27 2002
> @@ -55,6 +55,10 @@
> #
> # 'svnadmin lsrevs': Parse headers as above.
> #
> +# 'svnadmin dump': A couple regression tests that ensure dump doesn't
> +# error out. The actual contents of the dump aren't
> +# verified at all.
> +#
> # ### TODO: someday maybe we could parse the contents of trees too.
> #
> ######################################################################
> @@ -285,6 +289,50 @@
>
> return 0
>
> +#----------------------------------------------------------------------
> +
> +def dump_copied_dir(sbox):
> + "Tests dumping a copied directory (issue 776)."
> + if sbox.build(): return 1
> + wc_dir = sbox.wc_dir
> + repo_dir = sbox.repo_dir
> +
> + old_C_path = os.path.join(wc_dir, 'A', 'C')
> + new_C_path = os.path.join(wc_dir, 'A', 'B', 'C')
> + svntest.main.run_svn(None, 'cp', old_C_path, new_C_path)
> + svntest.main.run_svn(None, 'ci', wc_dir, '--quiet', '-m', 'log msg')
> +
> + output_lines, errput_lines = svntest.main.run_svnadmin("dump", repo_dir)
> +
> + if errput_lines != ["* Dumped revision 0.\n",
> + "* Dumped revision 1.\n",
> + "* Dumped revision 2.\n"]:
> + print errput_lines
> + return 1
> + return 0
> +
> +#----------------------------------------------------------------------
> +
> +def dump_move_dir_modify_child(sbox):
> + "Tests dumping after copying a directory and modifying a child (issue 794)."
> + if sbox.build(): return 1
> + wc_dir = sbox.wc_dir
> + repo_dir = sbox.repo_dir
> +
> + B_path = os.path.join(wc_dir, 'A', 'B')
> + b_path = os.path.join(wc_dir, 'A', 'b')
> + svntest.main.run_svn(None, 'cp', B_path, b_path)
> + svntest.main.file_append(os.path.join(b_path, 'lambda'), 'hello')
> + svntest.main.run_svn(None, 'ci', wc_dir, '--quiet', '-m', 'log msg')
> +
> + output_lines, errput_lines = svntest.main.run_svnadmin("dump", repo_dir)
> +
> + if errput_lines != ["* Dumped revision 0.\n",
> + "* Dumped revision 1.\n",
> + "* Dumped revision 2.\n"]:
> + print errput_lines
> + return 1
> + return 0
>
>
> ########################################################################
> @@ -297,7 +345,9 @@
> test_youngest,
> create_txn,
> remove_txn,
> - list_revs
> + list_revs,
> + dump_copied_dir,
> + dump_move_dir_modify_child
> ]
>
> if __name__ == '__main__':
>
>
> --/9DWx/yDrRhgMJTb
> Content-Type: text/plain; charset=us-ascii
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
> --/9DWx/yDrRhgMJTb--
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jul 16 01:27:53 2002