Open-MSS / MSS

A QT application, a OGC web map server, a collaboration server to plan atmospheric research flights.
https://open-mss.github.io
Apache License 2.0
61 stars 77 forks source link

test_activate_operation_updates_active_users needs a review #2546

Open ReimarBauer opened 2 weeks ago

ReimarBauer commented 2 weeks ago

I see this sometimes on my local tests

[gw5] [100%] PASSED tests/_test_msui/test_mscolab.py::Test_Mscolab::test_activate_operation_updates_active_users 

Exception ignored in: <function WMSControlWidget.__del__ at 0x718a67ac9120>
Traceback (most recent call last):
  File "/home/reimar/MAIN/MSS/mslib/msui/wms_control.py", line 550, in __del__
    self.service_cache()
  File "/home/reimar/MAIN/MSS/mslib/msui/wms_control.py", line 1455, in service_cache
    files = [os.path.join(self.wms_cache, f) for f in os.listdir(self.wms_cache)]
                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] Datei oder Verzeichnis nicht gefunden: '/tmp/tmpnodr4uwv/msui/wms_cache/'
ReimarBauer commented 2 weeks ago

happens also sometimes here https://github.com/Open-MSS/MSS/actions/runs/11200358961/job/31133900608?pr=2554#step:6:1165

Pavanbhagi commented 2 weeks ago

import os

class WMSControlWidget: def init(self, wms_cache): self.wms_cache = wms_cache os.makedirs(self.wms_cache, exist_ok=True) # Ensure the cache directory exists

def service_cache(self):
    if os.path.exists(self.wms_cache):
        files = [os.path.join(self.wms_cache, f) for f in os.listdir(self.wms_cache)]
        # ... process files
    else:
        files = []  # Handle the case where the directory does not exist

def __del__(self):
    # Consider removing any critical logic here or checking for existence
    try:
        self.service_cache()
    except Exception as e:
        # Log the exception if necessary
        pass
ReimarBauer commented 2 weeks ago

Not each test is failing. On production I don't have seen that problem. We need to investigate why in this order of tests the problem occures and likly improve a test.