b.t.t.TestLockDir(TestCaseWithTransport) : class documentation

Part of bzrlib.tests.test_lockdir View In Hierarchy

Test LockDir operations
Method logging_report_function Undocumented
Method setup_log_reporter Undocumented
Method test_00_lock_creation Creation of lock file on a transport
Method test_01_lock_repr Lock string representation
Method test_02_unlocked_peek Undocumented
Method get_lock Undocumented
Method test_unlock_after_break_raises Undocumented
Method test_03_readonly_peek Undocumented
Method test_10_lock_uncontested Acquire and release a lock
Method test_11_create_readonly_transport Fail to create lock on readonly transport
Method test_12_lock_readonly_transport Fail to lock on readonly transport
Method test_20_lock_contested Contention to get a lock
Method test_20_lock_peek Peek at the state of a lock
Method test_21_peek_readonly Peek over a readonly transport
Method test_30_lock_wait_fail Wait on a lock, then fail
Method test_31_lock_wait_easy Succeed when waiting on a lock with no contention.
Method test_40_confirm_easy Confirm a lock that's already held
Method test_41_confirm_not_held Confirm a lock that's already held
Method test_42_confirm_broken_manually Confirm a lock broken by hand
Method test_43_break Break a lock whose caller has forgotten it
Method test_44_break_already_released Lock break races with regular release
Method test_45_break_mismatch Lock break races with someone else acquiring it
Method test_46_fake_read_lock Undocumented
Method test_50_lockdir_representation Check the on-disk representation of LockDirs is as expected.
Method test_break_lock Undocumented
Method test_break_lock_corrupt_info break_lock works even if the info file is corrupt (and tells the UI
Method test_break_lock_missing_info break_lock works even if the info file is missing (and tells the UI
Method test_create_missing_base_directory If LockDir.path doesn't exist, it can be created
Method test_display_form Undocumented
Method test_lock_without_email Undocumented
Method test_lock_permission Undocumented
Method test_lock_by_token Undocumented
Method test_lock_with_buggy_rename Undocumented
Method test_failed_lock_leaves_no_trash Undocumented
Method test_no_lockdir_info We can cope with empty info files.
Method test_corrupt_lockdir_info We can cope with corrupt (and thus unparseable) info files.
Method test_missing_lockdir_info We can cope with absent info files.

Inherited from TestCaseWithTransport:

Method get_vfs_only_server See TestCaseWithMemoryTransport.
Method make_branch_and_tree Create a branch on the transport and a tree locally.
Method assertIsDirectory Assert that relpath within transport is a directory.
Method assertTreesEqual Check that left and right have the same content and properties.
Method setUp Undocumented
Method disable_missing_extensions_warning Some tests expect a precise stderr content.

Inherited from TestCaseInTempDir (via TestCaseWithTransport):

Method check_file_contents Undocumented
Method makeAndChdirToTestDir See TestCaseWithMemoryTransport.makeAndChdirToTestDir().
Method deleteTestDir Undocumented
Method build_tree Build a test tree according to a pattern.
Method assertInWorkingTree Assert whether path or paths are in the WorkingTree
Method assertNotInWorkingTree Assert whether path or paths are not in the WorkingTree
Method _getTestDirPrefix Undocumented

Inherited from TestCaseWithMemoryTransport (via TestCaseWithTransport, TestCaseInTempDir):

Method __init__ Undocumented
Method get_transport Return a writeable transport.
Method get_readonly_transport Return a readonly transport for the test scratch space
Method create_transport_readonly_server Create a transport server from class defined at init.
Method get_readonly_server Get the server instance for the readonly transport
Method get_readonly_url Get a URL for the readonly transport.
Method get_server Get the read/write server instance.
Method get_url Get a URL (or maybe a path) for the readwrite transport.
Method get_vfs_only_url Get a URL (or maybe a path for the plain old vfs transport.
Method make_branch Create a branch on the transport at relpath.
Method get_default_format Undocumented
Method resolve_format Resolve an object to a ControlDir format object.
Method make_bzrdir Undocumented
Method make_repository Create a repository on our default transport at relpath.
Method make_smart_server Undocumented
Method make_branch_and_memory_tree Create a branch on the default transport and a MemoryTree for it.
Method make_branch_builder Undocumented
Method overrideEnvironmentForTesting Undocumented
Method setup_smart_server_with_call_log Sets up a smart server as the transport server with a call log.
Method reset_smart_call_log Undocumented
Method _adjust_url Get a URL (or maybe a path) for the readwrite transport.
Method _create_safety_net Make a fake bzr directory.
Method _check_safety_net Check that the safety .bzr directory have not been touched.
Method _make_test_root Undocumented

Inherited from TestCase (via TestCaseWithTransport, TestCaseInTempDir, TestCaseWithMemoryTransport):

Method debug Undocumented
Method discardDetail Extend the addDetail, getDetails api so we can remove a detail.
Method install_counter_hook Install a counting hook.
Method disable_directory_isolation Turn off directory isolation checks.
Method enable_directory_isolation Enable directory isolation checks.
Method permit_dir Permit a directory to be used by this test. See permit_url.
Method permit_url Declare that url is an ok url to use in this test.
Method permit_source_tree_branch_repo Permit the source tree bzr is running from to be opened.
Method record_directory_isolation Gather accessed directories to permit later access.
Method start_server Start transport_server for this test.
Method assertEqual Undocumented
Method assertEqualDiff Assert two texts are equal, if not raise an exception.
Method assertEqualMode Undocumented
Method assertEqualStat assert that expected and actual are the same stat result.
Method assertLength Assert that obj_with_len is of length length.
Method assertLogsError Assert that func(*args, **kwargs) quietly logs a specific error.
Method assertPositive Assert that val is greater than 0.
Method assertNegative Assert that val is less than 0.
Method assertStartsWith Undocumented
Method assertEndsWith Asserts that s ends with suffix.
Method assertContainsRe Assert that a contains something matching a regular expression.
Method assertNotContainsRe Assert that a does not match a regular expression
Method assertContainsString Undocumented
Method assertNotContainsString Undocumented
Method assertSubset Assert that every entry in sublist is present in superlist.
Method assertListRaises Fail unless excClass is raised when the iterator from func is used.
Method assertRaises Assert that a callable raises a particular exception.
Method assertIs Undocumented
Method assertIsNot Undocumented
Method assertTransportMode Fail if a path does not have mode "mode".
Method assertIsSameRealPath Fail if path1 and path2 points to different files
Method assertIsInstance Fail if obj is not an instance of kls
Method assertFileEqual Fail if path does not contain 'content'.
Method assertDocstring Fail if obj does not have expected_docstring
Method failUnlessExists Undocumented
Method assertPathExists Fail unless path or paths, which may be abs or relative, exist.
Method failIfExists Undocumented
Method assertPathDoesNotExist Fail if path or paths, which may be abs or relative, exist.
Method applyDeprecated Call a deprecated callable without warning the user.
Method callCatchWarnings Call a callable that raises python warnings.
Method callDeprecated Assert that a callable is deprecated in a particular way.
Method thisFailsStrictLockCheck It is known that this test would fail with -Dstrict_locks.
Method overrideAttr Overrides an object attribute restoring it after the test.
Method overrideEnv Set an environment variable, and reset it after the test.
Method recordCalls Monkeypatch in a wrapper that will record calls.
Method knownFailure Declare that this test fails for a known reason
Method time Run callable and accrue the time it takes to the benchmark time.
Method log Undocumented
Method get_log Get a unicode string containing the log from bzrlib.trace.
Method requireFeature This test requires a specific feature is available.
Method run_bzr Invoke bzr, as if it were run from the command line.
Method run_bzr_error Run bzr, and check that stderr contains the supplied regexes
Method run_bzr_subprocess Run bzr in a subprocess for testing.
Method start_bzr_subprocess Start bzr in a subprocess for testing.
Method get_source_path Return the path of the directory containing bzrlib.
Method get_bzr_path Return the path of the 'bzr' executable for this test suite.
Method finish_bzr_subprocess Finish the execution of process.
Method check_tree_shape Compare a tree to a list of expected names.
Method apply_redirected Call callable with redirected std io pipes.
Method reduceLockdirTimeout Reduce the default lock timeout for the duration of the test, so that
Method make_utf8_encoded_stringio Return a StringIOWrapper instance, that will encode Unicode
Method disable_verb Disable a smart server verb for one test.
Method _install_config_stats_hooks Install config hooks to count hook calls.
Method _clear_debug_flags Prevent externally set debug flags affecting tests.
Method _clear_hooks Undocumented
Method _silenceUI Turn off UI for duration of test
Method _check_locks Check that all lock take/release actions have been paired.
Method _track_locks Track lock activity during tests.
Method _lock_acquired Undocumented
Method _lock_released Undocumented
Method _lock_broken Undocumented
Method _preopen_isolate_transport Check that all transport openings are done in the test work area.
Method _preopen_isolate_url Undocumented
Method _track_transports Install checks for transport usage.
Method _ndiff_strings Return ndiff between two strings containing lines.
Method _capture_deprecation_warnings A helper for callDeprecated and applyDeprecated.
Method _startLogFile Setup a in-memory target for bzr and testcase log messages
Method _finishLogFile Flush and dereference the in-memory log for this testcase
Method _cleanEnvironment Undocumented
Method _restoreHooks Undocumented
Method _suppress_log Remove the log info from details.
Method _do_skip Undocumented
Static Method _do_known_failure Undocumented
Static Method _do_not_applicable Undocumented
Static Method _report_skip Override the default _report_skip.
Static Method _report_expected_failure Strip the log.
Static Method _do_unsupported_or_skip Undocumented
Method _run_bzr_autosplit Run bazaar command line, splitting up a string command line.
Method _run_bzr_core Undocumented
Method _add_subprocess_log Undocumented
Method _subprocess_log_cleanup Undocumented
Method _popen Place a call to Popen.
def logging_report_function(self, fmt, *args):
Undocumented
def setup_log_reporter(self, lock_dir):
Undocumented
def test_00_lock_creation(self):
Creation of lock file on a transport
def test_01_lock_repr(self):
Lock string representation
def test_02_unlocked_peek(self):
Undocumented
def get_lock(self):
Undocumented
def test_unlock_after_break_raises(self):
Undocumented
def test_03_readonly_peek(self):
Undocumented
def test_10_lock_uncontested(self):
Acquire and release a lock
def test_11_create_readonly_transport(self):
Fail to create lock on readonly transport
def test_12_lock_readonly_transport(self):
Fail to lock on readonly transport
def test_20_lock_contested(self):
Contention to get a lock
def test_20_lock_peek(self):
Peek at the state of a lock
def test_21_peek_readonly(self):
Peek over a readonly transport
def test_30_lock_wait_fail(self):
Wait on a lock, then fail

We ask to wait up to 400ms; this should fail within at most one second. (Longer times are more realistic but we don't want the test suite to take too long, and this should do for now.)

def test_31_lock_wait_easy(self):
Succeed when waiting on a lock with no contention.
def test_40_confirm_easy(self):
Confirm a lock that's already held
def test_41_confirm_not_held(self):
Confirm a lock that's already held
def test_42_confirm_broken_manually(self):
Confirm a lock broken by hand
def test_43_break(self):
Break a lock whose caller has forgotten it
def test_44_break_already_released(self):
Lock break races with regular release
def test_45_break_mismatch(self):
Lock break races with someone else acquiring it
def test_46_fake_read_lock(self):
Undocumented
def test_50_lockdir_representation(self):
Check the on-disk representation of LockDirs is as expected.

There should always be a top-level directory named by the lock. When the lock is held, there should be a lockname/held directory containing an info file.

def test_break_lock(self):
Undocumented
def test_break_lock_corrupt_info(self):
break_lock works even if the info file is corrupt (and tells the UI that it is corrupt).
def test_break_lock_missing_info(self):
break_lock works even if the info file is missing (and tells the UI that it is corrupt).
def test_create_missing_base_directory(self):
If LockDir.path doesn't exist, it can be created

Some people manually remove the entire lock/ directory trying to unlock a stuck repository/branch/etc. Rather than failing after that, just create the lock directory when needed.

def test_display_form(self):
Undocumented
def test_lock_without_email(self):
Undocumented
def test_lock_permission(self):
Undocumented
def test_lock_by_token(self):
Undocumented
def test_lock_with_buggy_rename(self):
Undocumented
def test_failed_lock_leaves_no_trash(self):
Undocumented
def test_no_lockdir_info(self):
We can cope with empty info files.
def test_corrupt_lockdir_info(self):
We can cope with corrupt (and thus unparseable) info files.
def test_missing_lockdir_info(self):
We can cope with absent info files.
API Documentation for Bazaar, generated by pydoctor at 2022-06-16 00:25:16.