b.t.t.TestBytesRecordReader(tests.TestCase) : class documentation

Part of bzrlib.tests.test_pack View In Hierarchy

Tests for reading and validating Bytes records with BytesRecordReader.

Like TestContainerReader, this explicitly tests the reading of format 1 data. If a new version of the format is added, then a separate set of tests for reading that format should be added.

Method get_reader_for Undocumented
Method test_record_with_no_name Reading a Bytes record with no name returns an empty list of
Method test_record_with_one_name Reading a Bytes record with one name returns a list of just that
Method test_record_with_two_names Reading a Bytes record with two names returns a list of both names.
Method test_record_with_two_part_names Reading a Bytes record with a two_part name reads both.
Method test_invalid_length If the length-prefix is not a number, parsing raises
Method test_early_eof Tests for premature EOF occuring during parsing Bytes records with
Method test_initial_eof EOF before any bytes read at all.
Method test_eof_after_length EOF after reading the length and before reading name(s).
Method test_eof_during_name EOF during reading a name.
Method test_read_invalid_name_whitespace Names must have no whitespace.
Method test_validate_whitespace_in_name Names must have no whitespace.
Method test_validate_interrupted_prelude EOF during reading a record's prelude causes validate to fail.
Method test_validate_interrupted_body EOF during reading a record's body causes validate to fail.
Method test_validate_unparseable_length An unparseable record length causes validate to fail.
Method test_validate_undecodeable_name Names that aren't valid UTF-8 cause validate to fail.
Method test_read_max_length If the max_length passed to the callable returned by read is not
Method test_read_no_max_length If the max_length passed to the callable returned by read is None,
Method test_repeated_read_calls Repeated calls to the callable returned from BytesRecordReader.read

Inherited from TestCase:

Method __init__ Undocumented
Method setUp Undocumented
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 get_reader_for(self, bytes):
Undocumented
def test_record_with_no_name(self):
Reading a Bytes record with no name returns an empty list of names.
def test_record_with_one_name(self):
Reading a Bytes record with one name returns a list of just that name.
def test_record_with_two_names(self):
Reading a Bytes record with two names returns a list of both names.
def test_record_with_two_part_names(self):
Reading a Bytes record with a two_part name reads both.
def test_invalid_length(self):
If the length-prefix is not a number, parsing raises InvalidRecordError.
def test_early_eof(self):
Tests for premature EOF occuring during parsing Bytes records with BytesRecordReader.

A incomplete container might be interrupted at any point. The BytesRecordReader needs to cope with the input stream running out no matter where it is in the parsing process.

In all cases, UnexpectedEndOfContainerError should be raised.

def test_initial_eof(self):
EOF before any bytes read at all.
def test_eof_after_length(self):
EOF after reading the length and before reading name(s).
def test_eof_during_name(self):
EOF during reading a name.
def test_read_invalid_name_whitespace(self):
Names must have no whitespace.
def test_validate_whitespace_in_name(self):
Names must have no whitespace.
def test_validate_interrupted_prelude(self):
EOF during reading a record's prelude causes validate to fail.
def test_validate_interrupted_body(self):
EOF during reading a record's body causes validate to fail.
def test_validate_unparseable_length(self):
An unparseable record length causes validate to fail.
def test_validate_undecodeable_name(self):
Names that aren't valid UTF-8 cause validate to fail.
def test_read_max_length(self):
If the max_length passed to the callable returned by read is not None, then no more than that many bytes will be read.
def test_read_no_max_length(self):
If the max_length passed to the callable returned by read is None, then all the bytes in the record will be read.
def test_repeated_read_calls(self):
Repeated calls to the callable returned from BytesRecordReader.read will not read beyond the end of the record.
API Documentation for Bazaar, generated by pydoctor at 2022-06-16 00:25:16.