Skip to content

Commit a2467f2

Browse files
committed
fuzzytest: increase FilesetAllocateArgs.candidate_max_changes_ratio in test
1 parent 927f63a commit a2467f2

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

prime_backup/action/helpers/fileset_allocator.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,20 @@ def _sum_file_sizes(files: Iterable[schema.File]) -> Tuple[int, int]:
2727
return file_raw_size_sum, file_stored_size_sum
2828

2929

30-
@dataclasses.dataclass(frozen=True)
31-
class FilesetAllocateArgs:
30+
class FilesetAllocateArgsDefaults:
3231
candidate_select_count: int = 2
3332
candidate_max_changes_ratio: float = 0.2
3433
max_delta_ratio: float = 1.5
3534
max_base_reuse_count: int = 100
3635

36+
37+
@dataclasses.dataclass(frozen=True)
38+
class FilesetAllocateArgs:
39+
candidate_select_count: int = dataclasses.field(default_factory=lambda: FilesetAllocateArgsDefaults.candidate_select_count)
40+
candidate_max_changes_ratio: float = dataclasses.field(default_factory=lambda: FilesetAllocateArgsDefaults.candidate_max_changes_ratio)
41+
max_delta_ratio: float = dataclasses.field(default_factory=lambda: FilesetAllocateArgsDefaults.max_delta_ratio)
42+
max_base_reuse_count: int = dataclasses.field(default_factory=lambda: FilesetAllocateArgsDefaults.max_base_reuse_count)
43+
3744
@classmethod
3845
def from_config(cls, config: 'Config') -> Self:
3946
return cls(

tests/test_fuzzy_run.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,9 @@ def __init__(self, *args, **kwargs):
412412
def setUp(self):
413413
_TestStats.get().reset()
414414

415+
from prime_backup.action.helpers.fileset_allocator import FilesetAllocateArgsDefaults
416+
FilesetAllocateArgsDefaults.candidate_max_changes_ratio = 0.4 # increase this for easier fileset reuse
417+
415418
@contextlib.contextmanager
416419
def create_env(self, rnd: random.Random) -> Generator[Tuple[BackupFuzzyEnvironment, Path, Path], None, None]:
417420
test_root = Path(os.environ.get('PRIME_BACKUP_FUZZY_TEST_ROOT', 'run/unittest'))
@@ -600,6 +603,7 @@ def validate_all():
600603
self.assertEqual(0, db_overview.file_raw_size_sum)
601604

602605
self.logger.info('Fuzzy test passed')
606+
self.logger.info('Final test stats: {}'.format(_TestStats.get()))
603607

604608

605609
if __name__ == '__main__':

0 commit comments

Comments
 (0)