Run comprehensive test suite across all sizes and types.
(self)
| 444 | return results |
| 445 | |
| 446 | def run_all_tests(self) -> Dict[str, Dict[str, Any]]: |
| 447 | """Run comprehensive test suite across all sizes and types.""" |
| 448 | all_results = {} |
| 449 | |
| 450 | for size in self.sizes: |
| 451 | size_key = f"{size / (1 << 20):.2f}MB" |
| 452 | all_results[size_key] = {} |
| 453 | |
| 454 | # Test 1: Large bytes object (BINBYTES8) |
| 455 | test_name = f"bytes_{size_key}" |
| 456 | obj = DataGenerator.large_bytes(size) |
| 457 | all_results[size_key][test_name] = self.run_test(test_name, obj) |
| 458 | |
| 459 | # Test 2: Large ASCII string (BINUNICODE8) |
| 460 | test_name = f"string_ascii_{size_key}" |
| 461 | obj = DataGenerator.large_string_ascii(size) |
| 462 | all_results[size_key][test_name] = self.run_test(test_name, obj) |
| 463 | |
| 464 | # Test 3: Large multibyte UTF-8 string |
| 465 | if size >= 3: |
| 466 | test_name = f"string_utf8_{size_key}" |
| 467 | obj = DataGenerator.large_string_multibyte(size) |
| 468 | all_results[size_key][test_name] = self.run_test(test_name, obj) |
| 469 | |
| 470 | # Test 4: Large bytearray (BYTEARRAY8, protocol 5) |
| 471 | if self.protocol >= 5: |
| 472 | test_name = f"bytearray_{size_key}" |
| 473 | obj = DataGenerator.large_bytearray(size) |
| 474 | all_results[size_key][test_name] = self.run_test(test_name, obj) |
| 475 | |
| 476 | # Test 5: List of large objects (repeated chunking) |
| 477 | if size >= MIN_READ_BUF_SIZE * 2: |
| 478 | test_name = f"list_large_items_{size_key}" |
| 479 | item_size = size // 5 |
| 480 | obj = DataGenerator.list_of_large_bytes(item_size, 5) |
| 481 | all_results[size_key][test_name] = self.run_test(test_name, obj) |
| 482 | |
| 483 | # Test 6: Dict with large values |
| 484 | if size >= MIN_READ_BUF_SIZE * 2: |
| 485 | test_name = f"dict_large_values_{size_key}" |
| 486 | value_size = size // 3 |
| 487 | obj = DataGenerator.dict_with_large_values(value_size, 3) |
| 488 | all_results[size_key][test_name] = self.run_test(test_name, obj) |
| 489 | |
| 490 | # Test 7: Nested structure |
| 491 | if size >= MIN_READ_BUF_SIZE: |
| 492 | test_name = f"nested_{size_key}" |
| 493 | obj = DataGenerator.nested_structure(size) |
| 494 | all_results[size_key][test_name] = self.run_test(test_name, obj) |
| 495 | |
| 496 | # Test 8: Tuple (immutable) |
| 497 | if size >= 3: |
| 498 | test_name = f"tuple_{size_key}" |
| 499 | obj = DataGenerator.tuple_of_large_objects(size) |
| 500 | all_results[size_key][test_name] = self.run_test(test_name, obj) |
| 501 | |
| 502 | return all_results |
| 503 |
no test coverage detected