export_tests.py
来自「subversion-1.4.5.tar.gz 配置svn的源码」· Python 代码 · 共 430 行 · 第 1/2 页
PY
430 行
wc_dir = sbox.wc_dir # Add a keyword to A/mu and set the svn:keywords property # appropriately to make sure it's translated during # the export operation mu_path = os.path.join(wc_dir, 'A', 'mu') svntest.main.file_append(mu_path, '$LastChangedRevision$') svntest.main.run_svn(None, 'ps', 'svn:keywords', 'LastChangedRevision', mu_path) expected_disk = svntest.main.greek_state.copy() expected_disk.tweak('A/mu', contents=expected_disk.desc['A/mu'].contents + '$LastChangedRevision: 1M $') export_target = sbox.add_wc_path('export') svntest.actions.run_and_verify_export(wc_dir, export_target, svntest.wc.State(sbox.wc_dir, {}), expected_disk)def export_working_copy_with_property_mods(sbox): "export working copy with property mods" sbox.build() wc_dir = sbox.wc_dir # Make a local property mod to A/mu mu_path = os.path.join(wc_dir, 'A', 'mu') svntest.main.run_svn(None, 'ps', 'svn:eol-style', 'CR', mu_path) expected_disk = svntest.main.greek_state.copy() new_contents = expected_disk.desc['A/mu'].contents.replace("\n", "\r") expected_disk.tweak('A/mu', contents=new_contents) export_target = sbox.add_wc_path('export') svntest.actions.run_and_verify_export(wc_dir, export_target, svntest.wc.State(sbox.wc_dir, {}), expected_disk)def export_working_copy_at_base_revision(sbox): "export working copy at base revision" sbox.build() wc_dir = sbox.wc_dir mu_path = os.path.join(wc_dir, 'A', 'mu') kappa_path = os.path.join(wc_dir, 'kappa') gamma_path = os.path.join(wc_dir, 'A', 'D', 'gamma') E_path = os.path.join(wc_dir, 'A', 'B', 'E') # Appends some text to A/mu, and add a new file # called kappa. These modifications should *not* # get exported at the base revision. svntest.main.file_append(mu_path, 'Appended text') svntest.main.file_append(kappa_path, "This is the file 'kappa'.") svntest.main.run_svn(None, 'add', kappa_path) svntest.main.run_svn(None, 'rm', E_path, gamma_path) # Note that we don't tweak the expected disk tree at all, # since the appended text and kappa should not be present. expected_disk = svntest.main.greek_state.copy() export_target = sbox.add_wc_path('export') svntest.actions.run_and_verify_export(wc_dir, export_target, svntest.wc.State(sbox.wc_dir, {}), expected_disk, None, None, None, None, '-rBASE')def export_native_eol_option(sbox): "export with --native-eol" sbox.build() wc_dir = sbox.wc_dir # Append a '\n' to A/mu and set svn:eol-style to 'native' # to see if it's applied correctly in the export operation mu_path = os.path.join(wc_dir, 'A', 'mu') svntest.main.run_svn(None, 'ps', 'svn:eol-style', 'native', mu_path) svntest.main.run_svn(None, 'ci', '--username', svntest.main.wc_author, '--password', svntest.main.wc_passwd, '-m', 'Added eol-style prop to mu', mu_path) expected_disk = svntest.main.greek_state.copy() new_contents = expected_disk.desc['A/mu'].contents.replace("\n", "\r") expected_disk.tweak('A/mu', contents=new_contents) export_target = sbox.add_wc_path('export') expected_output = svntest.main.greek_state.copy() expected_output.wc_dir = export_target expected_output.desc[''] = Item() expected_output.tweak(contents=None, status='A ') svntest.actions.run_and_verify_export(sbox.repo_url, export_target, expected_output, expected_disk, None, None, None, None, '--native-eol','CR')def export_nonexistent_file(sbox): "export nonexistent file" sbox.build() wc_dir = sbox.wc_dir kappa_path = os.path.join(wc_dir, 'kappa') export_target = sbox.add_wc_path('export') svntest.actions.run_and_verify_svn("No error where one is expected", None, svntest.SVNAnyOutput, 'export', kappa_path, export_target)def export_unversioned_file(sbox): "export unversioned file" sbox.build() wc_dir = sbox.wc_dir kappa_path = os.path.join(wc_dir, 'kappa') svntest.main.file_append(kappa_path, "This is the file 'kappa'.") export_target = sbox.add_wc_path('export') svntest.actions.run_and_verify_svn("No error where one is expected", None, svntest.SVNAnyOutput, 'export', kappa_path, export_target)def export_with_state_deleted(sbox): "export with state deleted=true" sbox.build() wc_dir = sbox.wc_dir # state deleted=true caused export to crash alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha') svntest.actions.run_and_verify_svn(None, None, [], 'rm', alpha_path) expected_output = svntest.wc.State(wc_dir, { 'A/B/E/alpha' : Item(verb='Deleting'), }) expected_status = svntest.actions.get_virginal_state(wc_dir, 2) expected_status.tweak(wc_rev=1) expected_status.remove('A/B/E/alpha') svntest.actions.run_and_verify_commit(wc_dir, expected_output, expected_status, None, None, None, None, None, wc_dir) export_target = sbox.add_wc_path('export') expected_output = svntest.wc.State(sbox.wc_dir, {}) expected_disk = svntest.main.greek_state.copy() expected_disk.remove('A/B/E/alpha') svntest.actions.run_and_verify_export(sbox.wc_dir, export_target, expected_output, expected_disk)def export_creates_intermediate_folders(sbox): "export and create some intermediate folders" sbox.build(create_wc = False) svntest.main.safe_rmtree(sbox.wc_dir) export_target = os.path.join(sbox.wc_dir, 'a', 'b', 'c') expected_output = svntest.main.greek_state.copy() expected_output.wc_dir = export_target expected_output.desc[''] = Item() expected_output.tweak(contents=None, status='A ') svntest.actions.run_and_verify_export(svntest.main.current_repo_url, export_target, expected_output, svntest.main.greek_state.copy())######################################################################### Run the tests# list all tests here, starting with None:test_list = [ None, export_empty_directory, export_greek_tree, export_nonexistent_url, export_working_copy, export_working_copy_with_mods, export_over_existing_dir, export_keyword_translation, export_eol_translation, export_working_copy_with_keyword_translation, export_working_copy_with_property_mods, export_working_copy_at_base_revision, export_native_eol_option, export_nonexistent_file, export_unversioned_file, export_with_state_deleted, export_creates_intermediate_folders, ]if __name__ == '__main__': svntest.main.run_tests(test_list) # NOTREACHED### End of file.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?