Name Description Size Coverage
backup_test_base.py Base class for backup/recovery marionette tests. Provides common setup, teardown, and helper methods for testing backup and recovery scenarios involving selectable profiles. 13477 -
compat-files -
compat_config.py Per-version configuration for backup compatibility tests. Each version entry defines the fixture files and test hooks for that backup format version. The keys are: - legacy_backup_file / selectable_backup_file: Filenames of pre-generated backup fixtures used for restore testing. None if that backup type didn't exist for the version. - recovery_password: The password used to encrypt/decrypt the fixture. - extra_data_legacy / extra_data_selectable: Lists of feature names whose test data should be added when generating fixtures. Each entry "foo" maps to a _add_foo_data(version) method on the generator class. "legacy" entries are added to legacy-only fixtures; "selectable" entries are added to selectable profile fixtures (along with any legacy entries). - extra_checks_legacy / extra_checks_selectable: Lists of feature names to verify after restoring a fixture. Each entry "foo" maps to a _verify_foo(version) method on the test class. This allows each version to declare version-specific assertions beyond the common checks. 1983 -
http2-ca.pem 1042 -
manifest.toml 1325 -
test_backup.py const { OSKeyStore } = ChromeUtils.importESModule( "resource://gre/modules/OSKeyStore.sys.mjs" ); const BACKUP_OSKEYSTORE_LABEL = "test-" + Math.random().toString(36).substr(2); OSKeyStore.STORE_LABEL = BACKUP_OSKEYSTORE_LABEL; return BACKUP_OSKEYSTORE_LABEL; 34521 -
test_backup_legacy_to_selectable.py Tests that a backup created from a legacy profile (without selectable profiles enabled) can be successfully recovered in an environment where selectable profiles ARE enabled. This verifies that stale selectable profile prefs in the backup are overwritten with correct values during recovery. 4895 -
test_backup_replace_current_profile.py Tests for recovering backups with replaceCurrentProfile=true. This includes: 1. Verifying the old profile is deleted from the database 2. Verifying metadata (name, avatar, theme) is copied when recovering a legacy backup into a selectable profile environment 10917 -
test_backup_selectable_to_legacy.py Tests that a backup created from a selectable profile can be recovered into a legacy profile environment, converting it to selectable. The recovered profile should have the same groupID (storeID) as the profile group created during conversion. 11966 -
test_backup_selectable_to_selectable.py Tests that a backup created from a selectable profile can be recovered into another selectable profile environment. The recovered profile should have the same groupID (storeID) as the profile group we recovered into (not the original backup's storeID). 7223 -
test_compatibility.py Tests that backups created with older manifest versions can still be recovered by the current version of Firefox. This ensures backward compatibility as the backup schema evolves. To add a new version: 1. Before bumping SCHEMA_VERSION, run test_generate_backup_fixture.py to create the fixtures 2. Add entry to VERSION_CONFIG in compat_config.py 3. Implement any new _verify_* methods for extra_checks 4. Add test methods: test_recover_vN_backup_selectable / _legacy 12524 -