KenKundert / emborg

Interactive command line interface to Borg Backup
GNU General Public License v3.0
94 stars 8 forks source link

Occasional test failures #63

Closed adhawkins closed 1 year ago

adhawkins commented 2 years ago

Occasionally, when building the Alpine packages, I see failures like this:

_________________________ test_emborg_with_configs[24] _________________________
initialize_configs = Info(
    borg_version=(1, 2, 0),
    fuse_is_missing=True,
)
name = 'magnate', args = '--quiet due'
expected = {'exit_status': 0, 'output': '\n        The latest test0 archive was created (just now|(\\d+ )?seconds ago)\\.\n      ...ted (just now|(\\d+ )?seconds ago)\\.\n        The latest test3 archive was created (just now|(\\d+ )?seconds ago)\\.'}
expected_type = 'regex', cmp_dirs = '', remove = '', dependencies = ''
    @parametrize(
        path = f'{tests_dir}/test-cases.nt',
        key = 'emborg with configs',
        schema = emborg_schema
    )
    def test_emborg_with_configs(
        initialize_configs,
        name, args, expected, expected_type, cmp_dirs, remove, dependencies
    ):
        skip_test_if_missing_dependencies(initialize_configs, dependencies)
        with cd(tests_dir):
            tester = EmborgTester(args, expected, expected_type, cmp_dirs, remove)
            passes = tester.run()
            if not passes:
                result = tester.get_result()
                expected = tester.get_expected()
>               assert result == expected, name
E               AssertionError: magnate
E               assert {'exit_status...seconds ago.'} == {'exit_status...onds ago)\\.'}
E                 Omitting 1 identical items, use -vv to show
E                 Differing items:
E                 {'output': '\n        The latest test0 archive was created a minute ago.\n        The latest test1 archive was created...   The latest test2 archive was created 57 seconds ago.\n        The latest test3 archive was created 35 seconds ago.'} != {'output': '\n        The latest test0 archive was created (just now|(\\d+ )?seconds ago)\\.\n        The latest test1...ted (just now|(\\d+ )?seconds ago)\\.\n        The latest test3 archive was created (just now|(\\d+ )?seconds ago)\\.'}
E                 Use -v to get the full diff

This seems to be a timing issue. It's expecting it to say the repo was created 'just now' or 'x seconds ago', but in this case it got 'a minute ago'.

KenKundert commented 2 years ago

I have added 'a minute ago' and 'N minutes ago' to the list of valid responses. The change has been checked into GitHub.