vdirsyncer icon indicating copy to clipboard operation
vdirsyncer copied to clipboard

one of the tests in tests/system/cli/test_sync.py occasionally hangs

Open jelmer opened this issue 6 years ago • 27 comments

(With current master)

Apologies in advance for a somewhat vague and incomplete bug report...

Debian buildds regularly hit hangs when running the vdirsyncer tests in tests/system/cli/test_sync.py. (bug report at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=836667).

I've had trouble reproducing this issue (whether I use eatmydata seems irrelevant), but after running this test file repeatedly under py.test I managed to hit hangs several times in test_multiple_pairs and test_fetch_only_necessary_params.

No idea (yet) as to the root cause.

jelmer avatar Jul 19 '17 00:07 jelmer

Please run with py.test -v such that we can identify the exact testcase that hangs.

If you have a "suspect", please run py.test -k name_of_test to run just this one test and confirm your suspicion (or find out that the hangup is caused by something like interdependency of two tests).

untitaker avatar Jul 19 '17 17:07 untitaker

I found both of these tests by running with py.test -v in a loop many times. I'll try and see if I can reproduce it for an individual test with -k.

jelmer avatar Jul 19 '17 19:07 jelmer

Ah sorry I overread that you already identified the tests. I will have a look.

On 19 July 2017 21:19:30 GMT+02:00, "Jelmer Vernooij" [email protected] wrote:

I found both of these tests by running with py.test -v in a loop many times. I'll try and see if I can reproduce it for an individual test with -k.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/pimutils/vdirsyncer/issues/654#issuecomment-316489528

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

untitaker avatar Jul 19 '17 19:07 untitaker

I SIGINTed when it hung:

tests/system/cli/test_sync.py::test_multiple_pairs ^CFAILED

tests/system/cli/test_sync.py:259: in test_multiple_pairs
    assert not result.exception
E   assert not SystemExit(1,)
E    +  where SystemExit(1,) = <Result SystemExit(1,)>.exception

> /home/jelmer/src/vdirsyncer/tests/system/cli/test_sync.py(259)test_multiple_pairs()
-> assert not result.exception
(Pdb) l
254  	                ''').format(name=name, path=str(tmpdir.mkdir(name)))
255  	
256  	    runner.write_with_general(''.join(get_cfg()))
257  	
258  	    result = runner.invoke(['discover'])
259  ->	    assert not result.exception
260  	    assert set(result.output.splitlines()) > set([
261  	        'Discovering collections for pair bambaz',
262  	        'Discovering collections for pair foobar'
263  	    ])
264  	
(Pdb) 

jelmer avatar Jul 19 '17 21:07 jelmer

I can't reproduce this in a Debian VM. I assume result.output is just showing a traceback from your SIGINT?

untitaker avatar Jul 20 '17 17:07 untitaker

I'll try and get the output from the discover call.

On the buildds, it's fairly easy to reproduce this, but on my own machine it's quite hard - I had to run it in a loop and it only hung on try 364.

jelmer avatar Jul 21 '17 09:07 jelmer

Is it easier to reproduce if you install vdirsyncer using Debian's packaging infrastructure? I don't really know what to look for here.

untitaker avatar Aug 02 '17 18:08 untitaker

I managed to reproduce it on my workstation(Debian Sid) from vdirsyncer HEAD. I have no idea what influences how frequently the hang happens.

jelmer avatar Aug 02 '17 21:08 jelmer

I'm closing this since nobody has been able to reliably reproduce the bug.

untitaker avatar Sep 02 '17 20:09 untitaker

@untitaker I just came across this again, and I might be able to consistently reproduce it. Are you still willing to take a look at it? My python knowledge is pretty close.

cedricpim avatar Jan 03 '18 18:01 cedricpim

Do you know how to reproduce it or do you just have a machine where it constantly happens? I don't want to do remote-debugging.

untitaker avatar Jan 03 '18 18:01 untitaker

I am working with ansible and it was happening more frequently in the VM I was testing. My plan was to prepare a repo with the smallest setup to trigger it. Would that work with you?

Btw, funny enough, the error happens quite frequently with my home internet but it improved if I used hotspot from my phone. And the same problem, with another test happened for https://github.com/pimutils/khal.

cedricpim avatar Jan 03 '18 20:01 cedricpim

Sure, i will figure it out.

untitaker avatar Jan 03 '18 20:01 untitaker

Ok, I will try to put the repo here tomorrow :+1: Thanks a lot @untitaker

cedricpim avatar Jan 03 '18 20:01 cedricpim

@untitaker sorry for the delay, here it is: https://github.com/cedricpim/archlinux-pacaur

I can replicate the issue by doing:

  • git clone https://github.com/cedricpim/archlinux-pacaur
  • cd archlinux-pacaur
  • vagrant up
  • vagrant provision
  • vagrant ssh
  • pacaur -S vdirsyncer

It almost always stops in tests/system/cli/test_sync.py.

cedricpim avatar Jan 06 '18 16:01 cedricpim

BTW I could reproduce this but have no idea.

untitaker avatar Jan 15 '18 19:01 untitaker

I tried to take a look but python is not my language :( But reproducing it is a start.

cedricpim avatar Jan 15 '18 21:01 cedricpim

It hangs at a thread lock... If I attach to the process with gdb or use strace I see that at least. I stopped when I realized that I didn't have the Python extensions for gdb installed. Did you manage to reproduce this on a debian derivative by any chance?

untitaker avatar Jan 15 '18 21:01 untitaker

I didn't manage but I will try to do it tomorrow and write it back.

cedricpim avatar Jan 16 '18 22:01 cedricpim

@untitaker just tried it on Debian (Jessie), tests pass but the same test seems to hang for a while (but then resumes). So completely hanging might be related to Archlinux :(

cedricpim avatar Jan 17 '18 20:01 cedricpim

The original report was on Debian, so I think it's not related to Arch.

I think this is a very good opportunity to use http://rr-project.org/. If somebody has the time to record something with it I'd be thankful, otherwise I'll get around to it whenever.

untitaker avatar Jan 19 '18 10:01 untitaker

~~just curious @cedricpim @jelmer, were you able to reproduce this issue on 64-bit machines? I'm asking because I can smoothly reproduce this issue in the 32-bit Arch VM @cedricpim provided me, but fail to do so on the 64-bit Arch host.~~ Discard, everything is 64-bit

untitaker avatar Jan 19 '18 10:01 untitaker

Yes, I was able to reproduce it on 64 bit but only very infrequently.

On 19 January 2018 21:37:24 GMT+11:00, Markus Unterwaditzer [email protected] wrote:

just curious @cedricpim @jelmer, were you able to reproduce this issue on 64-bit machines? I'm asking because I can smoothly reproduce this issue in the 32-bit Arch VM @cedricpim provided me, but fail to do so on the 64-bit Arch host.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/pimutils/vdirsyncer/issues/654#issuecomment-358928958

-- Jelmer Vernooij [email protected] https://www.jelmer.uk/

jelmer avatar Jan 19 '18 11:01 jelmer

After building Python from source in the VM @cedricpim provided me, I can no longer reproduce the issue. I removed some configuration options for faster build times, see here: https://gist.github.com/untitaker/f1f27e73489b6ea4cf3bb53bf37e34d3

untitaker avatar Jan 19 '18 12:01 untitaker

Well, with 0.18.0 while packaging it for openSUSE/Tumbleweed I got this:

[   36s] =================================== FAILURES ===================================
[   36s] ____________________________ test_discover_command _____________________________
[   36s] tests/system/cli/test_discover.py:41: in test_discover_command
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ___________________ test_discover_different_collection_names ___________________
[   36s] tests/system/cli/test_discover.py:95: in test_discover_different_collection_names
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] __________________________ test_discover_direct_path ___________________________
[   36s] tests/system/cli/test_discover.py:142: in test_discover_direct_path
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] __________________ test_null_collection_with_named_collection __________________
[   36s] tests/system/cli/test_discover.py:175: in test_null_collection_with_named_collection
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] _____________________ test_collection_required[True-True] ______________________
[   36s] tests/system/cli/test_discover.py:239: in test_collection_required
[   36s]     assert (
[   36s] E   assert "One or more storages don't support `collections = null`." in "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n"
[   36s] E    +  where "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n" = <Result SystemExit(1)>.output
[   36s] _____________________ test_collection_required[True-False] _____________________
[   36s] tests/system/cli/test_discover.py:239: in test_collection_required
[   36s]     assert (
[   36s] E   assert "One or more storages don't support `collections = null`." in "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n"
[   36s] E    +  where "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n" = <Result SystemExit(1)>.output
[   36s] _____________________ test_collection_required[False-True] _____________________
[   36s] tests/system/cli/test_discover.py:239: in test_collection_required
[   36s]     assert (
[   36s] E   assert "One or more storages don't support `collections = null`." in "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n"
[   36s] E    +  where "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n" = <Result SystemExit(1)>.output
[   36s] ________________________ test_get_password_from_command ________________________
[   36s] tests/system/cli/test_fetchparams.py:38: in test_get_password_from_command
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] _______________________________ test_simple_run ________________________________
[   36s] tests/system/cli/test_sync.py:34: in test_simple_run
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] __________________________ test_sync_inexistant_pair ___________________________
[   36s] tests/system/cli/test_sync.py:50: in test_sync_inexistant_pair
[   36s]     assert "pair foo does not exist." in result.output.lower()
[   36s] E   assert 'pair foo does not exist.' in "error: unknown error occurred: unmatched ')' (<string>, line 1)\nerror: use `-vdebug` to see the full traceback.\n"
[   36s] E    +  where "error: unknown error occurred: unmatched ')' (<string>, line 1)\nerror: use `-vdebug` to see the full traceback.\n" = <built-in method lower of str object at 0x7f372a921a80>()
[   36s] E    +    where <built-in method lower of str object at 0x7f372a921a80> = "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n".lower
[   36s] E    +      where "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n" = <Result SystemExit(1)>.output
[   36s] ____________________________ test_debug_connections ____________________________
[   36s] tests/system/cli/test_sync.py:79: in test_debug_connections
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ______________________________ test_empty_storage ______________________________
[   36s] tests/system/cli/test_sync.py:114: in test_empty_storage
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] _____________________ test_collections_cache_invalidation ______________________
[   36s] tests/system/cli/test_sync.py:173: in test_collections_cache_invalidation
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ________________________ test_invalid_pairs_as_cli_arg _________________________
[   36s] tests/system/cli/test_sync.py:254: in test_invalid_pairs_as_cli_arg
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] _____________________________ test_multiple_pairs ______________________________
[   36s] tests/system/cli/test_sync.py:286: in test_multiple_pairs
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ____________________ test_create_collections[collections0] _____________________
[   36s] tests/system/cli/test_sync.py:341: in test_create_collections
[   36s]     assert not result.exception, result.output
[   36s] E   AssertionError: error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     error: Use `-vdebug` to see the full traceback.
[   36s] E
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ____________________ test_create_collections[collections1] _____________________
[   36s] tests/system/cli/test_sync.py:341: in test_create_collections
[   36s]     assert not result.exception, result.output
[   36s] E   AssertionError: error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     error: Use `-vdebug` to see the full traceback.
[   36s] E
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ____________________ test_create_collections[collections2] _____________________
[   36s] tests/system/cli/test_sync.py:341: in test_create_collections
[   36s]     assert not result.exception, result.output
[   36s] E   AssertionError: error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     error: Use `-vdebug` to see the full traceback.
[   36s] E
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ____________________ test_create_collections[collections3] _____________________
[   36s] tests/system/cli/test_sync.py:341: in test_create_collections
[   36s]     assert not result.exception, result.output
[   36s] E   AssertionError: error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     error: Use `-vdebug` to see the full traceback.
[   36s] E
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ____________________ test_create_collections[collections4] _____________________
[   36s] tests/system/cli/test_sync.py:341: in test_create_collections
[   36s]     assert not result.exception, result.output
[   36s] E   AssertionError: error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     error: Use `-vdebug` to see the full traceback.
[   36s] E
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ____________________ test_create_collections[collections5] _____________________
[   36s] tests/system/cli/test_sync.py:341: in test_create_collections
[   36s]     assert not result.exception, result.output
[   36s] E   AssertionError: error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     error: Use `-vdebug` to see the full traceback.
[   36s] E
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ____________________ test_create_collections[collections6] _____________________
[   36s] tests/system/cli/test_sync.py:341: in test_create_collections
[   36s]     assert not result.exception, result.output
[   36s] E   AssertionError: error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     error: Use `-vdebug` to see the full traceback.
[   36s] E
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ____________________ test_create_collections[collections7] _____________________
[   36s] tests/system/cli/test_sync.py:341: in test_create_collections
[   36s]     assert not result.exception, result.output
[   36s] E   AssertionError: error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     error: Use `-vdebug` to see the full traceback.
[   36s] E
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] _____________________________ test_ident_conflict ______________________________
[   36s] tests/system/cli/test_sync.py:383: in test_ident_conflict
[   36s]     assert not result.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ________________________ test_unknown_storage[foo-bar] _________________________
[   36s] tests/system/cli/test_sync.py:434: in test_unknown_storage
[   36s]     assert (
[   36s] E   assert "Storage 'bar' not found. These are the configured storages: ['foo']" in "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n"
[   36s] E    +  where "Storage 'bar' not found. These are the configured storages: ['foo']" = <built-in method format of str object at 0x7f372b0f3930>(missing='bar', existing='foo')
[   36s] E    +    where <built-in method format of str object at 0x7f372b0f3930> = "Storage '{missing}' not found. These are the configured storages: ['{existing}']".format
[   36s] E    +  and   "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n" = <Result SystemExit(1)>.output
[   36s] ________________________ test_unknown_storage[bar-foo] _________________________
[   36s] tests/system/cli/test_sync.py:434: in test_unknown_storage
[   36s]     assert (
[   36s] E   assert "Storage 'foo' not found. These are the configured storages: ['bar']" in "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n"
[   36s] E    +  where "Storage 'foo' not found. These are the configured storages: ['bar']" = <built-in method format of str object at 0x7f372b0f3930>(missing='foo', existing='bar')
[   36s] E    +    where <built-in method format of str object at 0x7f372b0f3930> = "Storage '{missing}' not found. These are the configured storages: ['{existing}']".format
[   36s] E    +  and   "error: Unknown error occurred: unmatched ')' (<string>, line 1)\nerror: Use `-vdebug` to see the full traceback.\n" = <Result SystemExit(1)>.output
[   36s] ________________________ test_no_configured_pairs[sync] ________________________
[   36s] tests/system/cli/test_sync.py:447: in test_no_configured_pairs
[   36s]     assert result.output == "critical: Nothing to do.\n"
[   36s] E   AssertionError: assert 'error: Unkno... traceback.\n' == 'critical: Nothing to do.\n'
[   36s] E     - critical: Nothing to do.
[   36s] E     + error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     + error: Use `-vdebug` to see the full traceback.
[   36s] ______________________ test_no_configured_pairs[metasync] ______________________
[   36s] tests/system/cli/test_sync.py:447: in test_no_configured_pairs
[   36s]     assert result.output == "critical: Nothing to do.\n"
[   36s] E   AssertionError: assert 'error: Unkno... traceback.\n' == 'critical: Nothing to do.\n'
[   36s] E     - critical: Nothing to do.
[   36s] E     + error: Unknown error occurred: unmatched ')' (<string>, line 1)
[   36s] E     + error: Use `-vdebug` to see the full traceback.
[   36s] _ test_conflict_resolution[resolution0-UID:lol\nf\xf6\xf6content-UID:lol\nf\xf6\xf6content] _
[   36s] tests/system/cli/test_sync.py:488: in test_conflict_resolution
[   36s]     assert not r.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ___________________________ test_partial_sync[error] ___________________________
[   36s] tests/system/cli/test_sync.py:537: in test_partial_sync
[   36s]     assert not r.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] __________________________ test_partial_sync[ignore] ___________________________
[   36s] tests/system/cli/test_sync.py:537: in test_partial_sync
[   36s]     assert not r.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] __________________________ test_partial_sync[revert] ___________________________
[   36s] tests/system/cli/test_sync.py:537: in test_partial_sync
[   36s]     assert not r.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] ___________________________ test_partial_sync[None] ____________________________
[   36s] tests/system/cli/test_sync.py:537: in test_partial_sync
[   36s]     assert not r.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] _______________________ test_fetch_only_necessary_params _______________________
[   36s] tests/system/cli/test_sync.py:619: in test_fetch_only_necessary_params
[   36s]     assert not r.exception
[   36s] E   assert not SystemExit(1)
[   36s] E    +  where SystemExit(1) = <Result SystemExit(1)>.exception
[   36s] _______________________________ test_request_ssl _______________________________
[   36s] tests/system/utils/test_main.py:29: in test_request_ssl
[   36s]     assert "certificate verify failed" in str(excinfo.value)
[   36s] E   assert 'certificate verify failed' in "HTTPSConnectionPool(host='self-signed.badssl.com', port=443): Max retries exceeded with url: / (Caused by NewConnecti...on object at 0x7f372a8a5760>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))"
[   36s] E    +  where "HTTPSConnectionPool(host='self-signed.badssl.com', port=443): Max retries exceeded with url: / (Caused by NewConnecti...on object at 0x7f372a8a5760>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))" = str(ConnectionError(MaxRetryError("HTTPSConnectionPool(host='self-signed.badssl.com', port=443): Max retries exceeded with... object at 0x7f372a8a5760>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))")))
[   36s] E    +    where ConnectionError(MaxRetryError("HTTPSConnectionPool(host='self-signed.badssl.com', port=443): Max retries exceeded with... object at 0x7f372a8a5760>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))")) = <ExceptionInfo ConnectionError(MaxRetryError("HTTPSConnectionPool(host='self-signed.badssl.com', port=443): Max retrie...t 0x7f372a8a5760>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))")) tblen=5>.value
[   36s] =============================== warnings summary ===============================
[   36s] tests/system/cli/test_discover.py: 8 warnings
[   36s] tests/system/cli/test_fetchparams.py: 1 warning
[   36s] tests/system/cli/test_sync.py: 26 warnings
[   36s]   /usr/lib/python3.9/site-packages/click_threading/monkey.py:44: DeprecationWarning: `formatargspec` is deprecated since Python 3.5. Use `signature` and the `Signature` object directly
[   36s]     signature = inspect.formatargspec(*argspec) \
[   36s]
[   36s] -- Docs: https://docs.pytest.org/en/stable/warnings.html
[   36s] =========================== short test summary info ============================
[   36s] FAILED tests/system/cli/test_discover.py::test_discover_command - assert not ...
[   36s] FAILED tests/system/cli/test_discover.py::test_discover_different_collection_names
[   36s] FAILED tests/system/cli/test_discover.py::test_discover_direct_path - assert ...
[   36s] FAILED tests/system/cli/test_discover.py::test_null_collection_with_named_collection
[   36s] FAILED tests/system/cli/test_discover.py::test_collection_required[True-True]
[   36s] FAILED tests/system/cli/test_discover.py::test_collection_required[True-False]
[   36s] FAILED tests/system/cli/test_discover.py::test_collection_required[False-True]
[   36s] FAILED tests/system/cli/test_fetchparams.py::test_get_password_from_command
[   36s] FAILED tests/system/cli/test_sync.py::test_simple_run - assert not SystemExit(1)
[   36s] FAILED tests/system/cli/test_sync.py::test_sync_inexistant_pair - assert 'pai...
[   36s] FAILED tests/system/cli/test_sync.py::test_debug_connections - assert not Sys...
[   36s] FAILED tests/system/cli/test_sync.py::test_empty_storage - assert not SystemE...
[   36s] FAILED tests/system/cli/test_sync.py::test_collections_cache_invalidation - a...
[   36s] FAILED tests/system/cli/test_sync.py::test_invalid_pairs_as_cli_arg - assert ...
[   36s] FAILED tests/system/cli/test_sync.py::test_multiple_pairs - assert not System...
[   36s] FAILED tests/system/cli/test_sync.py::test_create_collections[collections0]
[   36s] FAILED tests/system/cli/test_sync.py::test_create_collections[collections1]
[   36s] FAILED tests/system/cli/test_sync.py::test_create_collections[collections2]
[   36s] FAILED tests/system/cli/test_sync.py::test_create_collections[collections3]
[   36s] FAILED tests/system/cli/test_sync.py::test_create_collections[collections4]
[   36s] FAILED tests/system/cli/test_sync.py::test_create_collections[collections5]
[   36s] FAILED tests/system/cli/test_sync.py::test_create_collections[collections6]
[   36s] FAILED tests/system/cli/test_sync.py::test_create_collections[collections7]
[   36s] FAILED tests/system/cli/test_sync.py::test_ident_conflict - assert not System...
[   36s] FAILED tests/system/cli/test_sync.py::test_unknown_storage[foo-bar] - assert ...
[   36s] FAILED tests/system/cli/test_sync.py::test_unknown_storage[bar-foo] - assert ...
[   36s] FAILED tests/system/cli/test_sync.py::test_no_configured_pairs[sync] - Assert...
[   36s] FAILED tests/system/cli/test_sync.py::test_no_configured_pairs[metasync] - As...
[   36s] FAILED tests/system/cli/test_sync.py::test_conflict_resolution[resolution0-UID:lol\nf\xf6\xf6content-UID:lol\nf\xf6\xf6content]
[   36s] FAILED tests/system/cli/test_sync.py::test_partial_sync[error] - assert not S...
[   36s] FAILED tests/system/cli/test_sync.py::test_partial_sync[ignore] - assert not ...
[   36s] FAILED tests/system/cli/test_sync.py::test_partial_sync[revert] - assert not ...
[   36s] FAILED tests/system/cli/test_sync.py::test_partial_sync[None] - assert not Sy...
[   36s] FAILED tests/system/cli/test_sync.py::test_fetch_only_necessary_params - asse...
[   36s] FAILED tests/system/utils/test_main.py::test_request_ssl - assert 'certificat...
[   36s] === 35 failed, 360 passed, 143 skipped, 3 deselected, 35 warnings in 30.38s ====
[   36s] error: Bad exit status from /var/tmp/rpm-tmp.Pb8cFf (%check)

Complete build log to show all versions of packages and steps taken.

Do you think it is yet another appearance of this problem or it is something different? Or did I do something wrong?

mcepl avatar Jul 10 '21 12:07 mcepl

@mcepl Can you run vdisyncer in that same environment and grab the output? The test output isn't very informative in this case, but running it interactively might yield better results.

The last test fails since that one needs internet access -- but that's just that one. I'll keep in mind that tests should be able to run offline.

WhyNotHugo avatar Jul 13 '21 11:07 WhyNotHugo

@mcepl Can you run vdisyncer in that same environment and grab the output?

Could you tell me some exact command to run? When I run just ./vdirsyncer-3.9 --help (with appropriately set PYTHONPATH) it seems to work.

mcepl avatar Jul 13 '21 20:07 mcepl