Checkout
Branko ─îibej
committed
on 05 Nov 18
Teach our cmdline tests to optionally use a different kind of
repository layout than the classic greek tree.

The greek tree is not really s… Show more
Teach our cmdline tests to optionally use a different kind of

repository layout than the classic greek tree.

The greek tree is not really suitable for testing peg revision parsing in

the client, since it has no files or directories with an @-sign in the

names. The new repository layout (called the trojan tree, heh heh) can be

selected at sandbox build time by each test case individually.

Note that we do not keep precooked versions of the trojan tree for FSFS

version compatibility tests, since its primary purpose is testing client

operations in the working copy.

[In subversion/tests/cmdline]

* davautocheck.sh: Add a <Location> to access the pristine trojan tree.

* pegrev_parse_tests.py

 (do_move_with_at_signs): Use the trojan tree for the tests.

* svntest/actions.py

 (_setup_pristine_repo): New; extracted from setup_pristine_greek_repository.

 (setup_pristine_repositories): Renamed fom setup_pristine_greek_repository.

  Build both the greek and the trojan pristine repositories. Update callers.

 (_guarantee_repos): New; extracted from guarantee_greek_repository.

 (guarantee_greek_repository): Just call _guarantee_repos.

 (guarantee_trojan_repository): New.

 (make_repo_and_wc): Add 'tree' parameter to select the greek or trojan tree.

* svntest/main.py:

 (Item): Imported StateItem from svntest.wc.

 (_item): Remove previsous alias for StateItem.

 (pristine_trojan_repos_url,

  pristine_trojan_repos_dir, trojan_dump_dir): New global variables.

 (greek_state): Use Item instead of _item in initializer.

 (trojan_state): New.

 (execute_tests): Calculate the pristine_trojan_repos_url.

* svntest/sandbox.py

 (Sandbox._set_name): Add 'tree' parameter to select the greek or trojan tree.

 (Sandbox.build): Likewise, making 'greek' the default.

Show less