samschott / maestral

Open-source Dropbox client for macOS and Linux
https://maestral.app
MIT License
3.1k stars 65 forks source link

Some test failures on Sonoma [7 failed, 208 passed, 4 skipped, 1 warning] #1001

Closed barracuda156 closed 6 months ago

barracuda156 commented 10 months ago

While running tests, few times a window appeared complaining about missing keychain. Possibly, some specific setup is needed, which I did not yet do.

--->  Testing maestral
Executing:  cd "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0" && py.test-3.10 -o addopts='' 
============================= test session starts ==============================
platform darwin -- Python 3.10.13, pytest-7.4.3, pluggy-1.3.0
benchmark: 4.0.0 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
rootdir: /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0
plugins: rerunfailures-12.0, cov-4.1.0, benchmark-4.0.0
collected 216 items / 3 skipped

tests/offline/test_clean_local_events.py ..........                      [  4%]
tests/offline/test_cli.py ..FF...FF...                                   [ 10%]
tests/offline/test_client.py ................                            [ 17%]
tests/offline/test_daemon.py ...FF.F                                     [ 20%]
tests/offline/test_errorhandling.py .................................... [ 37%]
........................................................................ [ 70%]
........................                                                 [ 81%]
tests/offline/test_event_handler.py .....                                [ 84%]
tests/offline/test_keyring.py .......                                    [ 87%]
tests/offline/test_main.py ..                                            [ 88%]
tests/offline/test_manager.py ....                                       [ 90%]
tests/offline/test_sync.py .....                                         [ 92%]
tests/offline/config/test_user.py ....                                   [ 94%]
tests/offline/utils/test_appdirs.py .....                                [ 96%]
tests/offline/utils/test_path.py ..s.                                    [ 98%]
tests/offline/utils/test_utils.py ...                                    [100%]

=================================== FAILURES ===================================
__________________________ test_start_already_running __________________________

config_name = 'test-config-0'

    def test_start_already_running(config_name: str) -> None:
        res = start_maestral_daemon_process(config_name, timeout=TEST_TIMEOUT)

>       assert res is Start.Ok
E       assert <Start.Failed: 2> is <Start.Ok: 0>
E        +  where <Start.Ok: 0> = Start.Ok

tests/offline/test_cli.py:78: AssertionError
------------------------------ Captured log call -------------------------------
ERROR    test-config-0-maestral.daemon:daemon.py:544 Could not communicate with daemon
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 310, in connect_and_handshake
    sock = socketutil.create_socket(connect=connect_location,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/socketutil.py", line 283, in create_socket
    sock.connect(connect)
OSError: AF_UNIX path too long

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 537, in start_maestral_daemon_process
    wait_for_startup(config_name, timeout)
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 348, in wait_for_startup
    raise exc
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 344, in wait_for_startup
    maestral_daemon._pyroBind()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 214, in _pyroBind
    return self.__pyroCreateConnection(True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 376, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 336, in connect_and_handshake
    raise errors.CommunicationError(err) from x
Pyro5.errors.CommunicationError: cannot connect to /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/.home/Library/Application Support/maestral/test-config-0.sock: AF_UNIX path too long
ERROR    test-config-0-maestral.daemon:daemon.py:549 Daemon is running but not responsive, killing now
__________________________________ test_stop ___________________________________

config_name = 'test-config-0'

    def test_stop(config_name: str) -> None:
        res = start_maestral_daemon_process(config_name, timeout=TEST_TIMEOUT)
>       assert res is Start.Ok
E       assert <Start.Failed: 2> is <Start.Ok: 0>
E        +  where <Start.Ok: 0> = Start.Ok

tests/offline/test_cli.py:89: AssertionError
------------------------------ Captured log call -------------------------------
ERROR    test-config-0-maestral.daemon:daemon.py:544 Could not communicate with daemon
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 310, in connect_and_handshake
    sock = socketutil.create_socket(connect=connect_location,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/socketutil.py", line 283, in create_socket
    sock.connect(connect)
OSError: AF_UNIX path too long

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 537, in start_maestral_daemon_process
    wait_for_startup(config_name, timeout)
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 348, in wait_for_startup
    raise exc
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 344, in wait_for_startup
    maestral_daemon._pyroBind()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 214, in _pyroBind
    return self.__pyroCreateConnection(True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 376, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 336, in connect_and_handshake
    raise errors.CommunicationError(err) from x
Pyro5.errors.CommunicationError: cannot connect to /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/.home/Library/Application Support/maestral/test-config-0.sock: AF_UNIX path too long
ERROR    test-config-0-maestral.daemon:daemon.py:549 Daemon is running but not responsive, killing now
______________________________ test_notify_level _______________________________

config_name = 'test-config-0'

    def test_notify_level(config_name: str) -> None:
        start_maestral_daemon_process(config_name, timeout=TEST_TIMEOUT)
>       m = MaestralProxy(config_name)

tests/offline/test_cli.py:152: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <MaestralProxy(config='test-config-0', is_fallback=False)>
config_name = 'test-config-0', fallback = False

    def __init__(self, config_name: str = "maestral", fallback: bool = False) -> None:
        self._config_name = config_name
        self._is_fallback = False

        if is_running(config_name):
            sock_name = sockpath_for_config(config_name)

            # print remote tracebacks locally
            sys.excepthook = Pyro5.errors.excepthook

            self._m = Proxy(URI.format(config_name, "./u:" + sock_name))
            try:
                self._m._pyroBind()
            except CommunicationError:
                self._m._pyroRelease()
                raise

        elif fallback:
            from .main import Maestral

            self._m = Maestral(config_name)
        else:
>           raise CommunicationError(f"Could not get proxy for '{config_name}'")
E           Pyro5.errors.CommunicationError: Could not get proxy for 'test-config-0'

build/lib/maestral/daemon.py:654: CommunicationError
------------------------------ Captured log call -------------------------------
INFO     test-config-maestral.manager:manager.py:588 Connected
INFO     test-config-maestral.manager:manager.py:588 Connected
INFO     test-config-maestral.manager:manager.py:588 Connected
INFO     test-config-maestral.manager:manager.py:588 Connected
INFO     test-config-maestral.manager:manager.py:588 Connected
ERROR    test-config-0-maestral.daemon:daemon.py:544 Could not communicate with daemon
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 310, in connect_and_handshake
    sock = socketutil.create_socket(connect=connect_location,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/socketutil.py", line 283, in create_socket
    sock.connect(connect)
OSError: AF_UNIX path too long

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 537, in start_maestral_daemon_process
    wait_for_startup(config_name, timeout)
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 348, in wait_for_startup
    raise exc
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 344, in wait_for_startup
    maestral_daemon._pyroBind()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 214, in _pyroBind
    return self.__pyroCreateConnection(True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 376, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 336, in connect_and_handshake
    raise errors.CommunicationError(err) from x
Pyro5.errors.CommunicationError: cannot connect to /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/.home/Library/Application Support/maestral/test-config-0.sock: AF_UNIX path too long
ERROR    test-config-0-maestral.daemon:daemon.py:549 Daemon is running but not responsive, killing now
______________________________ test_notify_snooze ______________________________

config_name = 'test-config-0'

    def test_notify_snooze(config_name: str) -> None:
        start_maestral_daemon_process(config_name, timeout=TEST_TIMEOUT)
>       m = MaestralProxy(config_name)

tests/offline/test_cli.py:178: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <MaestralProxy(config='test-config-0', is_fallback=False)>
config_name = 'test-config-0', fallback = False

    def __init__(self, config_name: str = "maestral", fallback: bool = False) -> None:
        self._config_name = config_name
        self._is_fallback = False

        if is_running(config_name):
            sock_name = sockpath_for_config(config_name)

            # print remote tracebacks locally
            sys.excepthook = Pyro5.errors.excepthook

            self._m = Proxy(URI.format(config_name, "./u:" + sock_name))
            try:
                self._m._pyroBind()
            except CommunicationError:
                self._m._pyroRelease()
                raise

        elif fallback:
            from .main import Maestral

            self._m = Maestral(config_name)
        else:
>           raise CommunicationError(f"Could not get proxy for '{config_name}'")
E           Pyro5.errors.CommunicationError: Could not get proxy for 'test-config-0'

build/lib/maestral/daemon.py:654: CommunicationError
------------------------------ Captured log call -------------------------------
ERROR    test-config-0-maestral.daemon:daemon.py:544 Could not communicate with daemon
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 310, in connect_and_handshake
    sock = socketutil.create_socket(connect=connect_location,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/socketutil.py", line 283, in create_socket
    sock.connect(connect)
OSError: AF_UNIX path too long

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 537, in start_maestral_daemon_process
    wait_for_startup(config_name, timeout)
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 348, in wait_for_startup
    raise exc
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 344, in wait_for_startup
    maestral_daemon._pyroBind()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 214, in _pyroBind
    return self.__pyroCreateConnection(True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 376, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 336, in connect_and_handshake
    raise errors.CommunicationError(err) from x
Pyro5.errors.CommunicationError: cannot connect to /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/.home/Library/Application Support/maestral/test-config-0.sock: AF_UNIX path too long
ERROR    test-config-0-maestral.daemon:daemon.py:549 Daemon is running but not responsive, killing now
________________________________ test_lifecycle ________________________________

config_name = 'test-config-0'

    def test_lifecycle(config_name: str) -> None:
        # start daemon process
        res_start = start_maestral_daemon_process(config_name, timeout=20)

>       assert res_start is Start.Ok
E       assert <Start.Failed: 2> is <Start.Ok: 0>
E        +  where <Start.Ok: 0> = Start.Ok

tests/offline/test_daemon.py:147: AssertionError
------------------------------ Captured log call -------------------------------
ERROR    test-config-0-maestral.daemon:daemon.py:544 Could not communicate with daemon
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 310, in connect_and_handshake
    sock = socketutil.create_socket(connect=connect_location,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/socketutil.py", line 283, in create_socket
    sock.connect(connect)
OSError: AF_UNIX path too long

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 537, in start_maestral_daemon_process
    wait_for_startup(config_name, timeout)
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 348, in wait_for_startup
    raise exc
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 344, in wait_for_startup
    maestral_daemon._pyroBind()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 214, in _pyroBind
    return self.__pyroCreateConnection(True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 376, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 336, in connect_and_handshake
    raise errors.CommunicationError(err) from x
Pyro5.errors.CommunicationError: cannot connect to /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/.home/Library/Application Support/maestral/test-config-0.sock: AF_UNIX path too long
ERROR    test-config-0-maestral.daemon:daemon.py:549 Daemon is running but not responsive, killing now
_______________________________ test_connection ________________________________

config_name = 'test-config-0'

    def test_connection(config_name: str) -> None:
        # start daemon process
        res_start = start_maestral_daemon_process(config_name, timeout=20)
>       assert res_start is Start.Ok
E       assert <Start.Failed: 2> is <Start.Ok: 0>
E        +  where <Start.Ok: 0> = Start.Ok

tests/offline/test_daemon.py:168: AssertionError
------------------------------ Captured log call -------------------------------
ERROR    test-config-0-maestral.daemon:daemon.py:544 Could not communicate with daemon
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 310, in connect_and_handshake
    sock = socketutil.create_socket(connect=connect_location,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/socketutil.py", line 283, in create_socket
    sock.connect(connect)
OSError: AF_UNIX path too long

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 537, in start_maestral_daemon_process
    wait_for_startup(config_name, timeout)
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 348, in wait_for_startup
    raise exc
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 344, in wait_for_startup
    maestral_daemon._pyroBind()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 214, in _pyroBind
    return self.__pyroCreateConnection(True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 376, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 336, in connect_and_handshake
    raise errors.CommunicationError(err) from x
Pyro5.errors.CommunicationError: cannot connect to /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/.home/Library/Application Support/maestral/test-config-0.sock: AF_UNIX path too long
ERROR    test-config-0-maestral.daemon:daemon.py:549 Daemon is running but not responsive, killing now
____________________________ test_remote_exceptions ____________________________

config_name = 'test-config-0'

    def test_remote_exceptions(config_name: str) -> None:
        # start daemon process
        start_maestral_daemon_process(config_name, timeout=20)

        # create proxy and call a remote method which raises an error
>       with MaestralProxy(config_name) as m:

tests/offline/test_daemon.py:198: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <MaestralProxy(config='test-config-0', is_fallback=False)>
config_name = 'test-config-0', fallback = False

    def __init__(self, config_name: str = "maestral", fallback: bool = False) -> None:
        self._config_name = config_name
        self._is_fallback = False

        if is_running(config_name):
            sock_name = sockpath_for_config(config_name)

            # print remote tracebacks locally
            sys.excepthook = Pyro5.errors.excepthook

            self._m = Proxy(URI.format(config_name, "./u:" + sock_name))
            try:
                self._m._pyroBind()
            except CommunicationError:
                self._m._pyroRelease()
                raise

        elif fallback:
            from .main import Maestral

            self._m = Maestral(config_name)
        else:
>           raise CommunicationError(f"Could not get proxy for '{config_name}'")
E           Pyro5.errors.CommunicationError: Could not get proxy for 'test-config-0'

build/lib/maestral/daemon.py:654: CommunicationError
------------------------------ Captured log call -------------------------------
INFO     test-config-0-maestral.manager:manager.py:588 Connected
INFO     test-config-maestral.sync:sync.py:1532 Sync aborted
INFO     test-config-maestral.manager:manager.py:352 Paused
ERROR    test-config-0-maestral.daemon:daemon.py:544 Could not communicate with daemon
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 310, in connect_and_handshake
    sock = socketutil.create_socket(connect=connect_location,
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/socketutil.py", line 283, in create_socket
    sock.connect(connect)
OSError: AF_UNIX path too long

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 537, in start_maestral_daemon_process
    wait_for_startup(config_name, timeout)
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 348, in wait_for_startup
    raise exc
  File "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0/build/lib/maestral/daemon.py", line 344, in wait_for_startup
    maestral_daemon._pyroBind()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 214, in _pyroBind
    return self.__pyroCreateConnection(True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 376, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/Pyro5/client.py", line 336, in connect_and_handshake
    raise errors.CommunicationError(err) from x
Pyro5.errors.CommunicationError: cannot connect to /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/.home/Library/Application Support/maestral/test-config-0.sock: AF_UNIX path too long
ERROR    test-config-0-maestral.daemon:daemon.py:549 Daemon is running but not responsive, killing now
=============================== warnings summary ===============================
../../../../../../../Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dropbox/session.py:1
  /opt/local/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/dropbox/session.py:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    import pkg_resources

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

------------------------------ benchmark 'local-event-processing': 1 tests ------------------------------
Name (time in s)        Min     Max    Mean  StdDev  Median     IQR  Outliers     OPS  Rounds  Iterations
---------------------------------------------------------------------------------------------------------
test_performance     3.3873  3.4115  3.3949  0.0097  3.3927  0.0104       1;0  0.2946       5           1
---------------------------------------------------------------------------------------------------------

Legend:
  Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile.
  OPS: Operations Per Second, computed as 1 / Mean
=========================== short test summary info ============================
FAILED tests/offline/test_cli.py::test_start_already_running - assert <Start....
FAILED tests/offline/test_cli.py::test_stop - assert <Start.Failed: 2> is <St...
FAILED tests/offline/test_cli.py::test_notify_level - Pyro5.errors.Communicat...
FAILED tests/offline/test_cli.py::test_notify_snooze - Pyro5.errors.Communica...
FAILED tests/offline/test_daemon.py::test_lifecycle - assert <Start.Failed: 2...
FAILED tests/offline/test_daemon.py::test_connection - assert <Start.Failed: ...
FAILED tests/offline/test_daemon.py::test_remote_exceptions - Pyro5.errors.Co...
======= 7 failed, 208 passed, 4 skipped, 1 warning in 865.28s (0:14:25) ========
Command failed:  cd "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/maestral-1.8.0" && py.test-3.10 -o addopts='' 
Exit code: 1
Error: Failed to test maestral: command execution failed
Error: See /opt/local/var/macports/logs/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port maestral failed
samschott commented 10 months ago

Huh, I don't think those test failures are particular to Sonoma. If I read those stack traces correctly, the underlying issue is here:

Pyro5.errors.CommunicationError: cannot connect to /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_sysutils_maestral/maestral/work/.home/Library/Application Support/maestral/test-config-0.sock: AF_UNIX path too long

The chosen socket path too long for the macOS. This seems to be particular to how your environment is set up, the default location on macOS should be:

~/Library/Application Support/maestral/test-config-0.sock
barracuda156 commented 10 months ago

@samschott The path is longer than install path, since tests run in an separate environment (that is, when run as sudo port test). Once maestral is merged into Macports, it should be easily reproducible/testable, I hope.

barracuda156 commented 10 months ago

@samschott maestral now merged to Macports: https://ports.macports.org/port/maestral (The fallback version for old systems builds but may not yet work as intended, but here I only discuss the modern one.)

samschott commented 6 months ago

Fab, I'll close this then.

barracuda156 commented 6 months ago

@samschott Sure. I also just updated it to 1.9.1 for newer systems.