Skip to content

Test failure on Windows on a os.symlink() call #460

@jonasmalacofilho

Description

@jonasmalacofilho

Reported by: @jmarucha

The test_fs_backend_load_store_loads_from_fallback_dir_that_is_symlink1 test fails on Windows with OSError: [WinError 1314] A required privilege is not held by the client on a os.symlink() call.

> python -m venv venv
> venv\Scripts\python -m pip install --upgrade colorlog docopt hidapi pytest pyusb setuptools setuptools_scm
[ ... ]
> venv\Scripts\python -m pip install --upgrade "libusb-package; sys_platform == 'win32' or sys_platform == 'cygwin'"
[ ... ]
> venv\Scripts\python.exe -m pytest
================================================= test session starts =================================================
platform win32 -- Python 3.10.2, pytest-7.1.2, pluggy-1.0.0
rootdir: C:\Users\dad\Documents\liquidctl, configfile: pyproject.toml
collected 362 items

liquidctl\pmbus.py ...                                                                                           [  0%]
liquidctl\util.py ...........                                                                                    [  3%]
tests\test_api.py ...                                                                                            [  4%]
tests\test_asetek.py ............                                                                                [  8%]
tests\test_asetek_pro.py ......                                                                                  [  9%]
tests\test_aura_led.py ........                                                                                  [ 11%]
tests\test_backward_compatibility_10.py .                                                                        [ 12%]
tests\test_backward_compatibility_11.py .                                                                        [ 12%]
tests\test_backward_compatibility_12.py .                                                                        [ 12%]
tests\test_backward_compatibility_13.py ..                                                                       [ 13%]
tests\test_backward_compatibility_14.py .....                                                                    [ 14%]
tests\test_backward_compatibility_15.py .                                                                        [ 14%]
tests\test_backward_compatibility_18.py ..                                                                       [ 15%]
tests\test_cli.py ...                                                                                            [ 16%]
tests\test_commander_core.py .........                                                                           [ 18%]
tests\test_commander_pro.py .................................................................................... [ 41%]
.................................                                                                                [ 51%]
tests\test_corsair_hid_psu.py ........                                                                           [ 53%]
tests\test_ddr4.py ............................                                                                  [ 61%]
tests\test_hidapi_device.py .........                                                                            [ 63%]
tests\test_hwmon.py .......                                                                                      [ 65%]
tests\test_hydro_platinum.py .....................                                                               [ 71%]
tests\test_keyval.py .......F....                                                                                [ 74%]
tests\test_kraken2.py ............                                                                               [ 77%]
tests\test_kraken3.py ..........                                                                                 [ 80%]
tests\test_nvidia.py ..........................                                                                  [ 87%]
tests\test_nzxt_epsu.py ..                                                                                       [ 88%]
tests\test_nzxt_h1_v2.py ........                                                                                [ 90%]
tests\test_rgb_fusion2.py ..............                                                                         [ 94%]
tests\test_smart_device.py ........                                                                              [ 96%]
tests\test_smart_device2.py ........                                                                             [ 98%]
tests\test_usb.py ....                                                                                           [100%]

====================================================== FAILURES =======================================================
_________________________ test_fs_backend_load_store_loads_from_fallback_dir_that_is_symlink __________________________

tmpdir = local('C:\\Users\\dad\\AppData\\Local\\Temp\\pytest-of-dad\\pytest-1\\test_fs_backend_load_store_loa1')

    def test_fs_backend_load_store_loads_from_fallback_dir_that_is_symlink(tmpdir):
        # should deadlock if there is a problem with the lock type or with the
        # handling of fallback paths that point to the same principal/write
        # directory

        run_dir = tmpdir.mkdir('run_dir')
        fb_dir = os.path.join(run_dir, 'symlink')
>       os.symlink(run_dir, fb_dir, target_is_directory=True)
E       OSError: [WinError 1314] A required privilege is not held by the client: 'C:\\Users\\dad\\AppData\\Local\\Temp\\pytest-of-dad\\pytest-1\\test_fs_backend_load_store_loa1\\run_dir' -> 'C:\\Users\\dad\\AppData\\Local\\Temp\\pytest-of-dad\\pytest-1\\test_fs_backend_load_store_loa1\\run_dir\\symlink'

tests\test_keyval.py:116: OSError
=============================================== short test summary info ===============================================
FAILED tests/test_keyval.py::test_fs_backend_load_store_loads_from_fallback_dir_that_is_symlink - OSError: [WinError ...
============================================ 1 failed, 361 passed in 9.23s ============================================


Additional information about the system:

  • Affected device(s): N/A
  • Operating system and version: Windows 10 Pro 21H1
  • Liquidctl installation method: git clone
  • Output of liquidctl --version: liquidctl v1.10.0.dev12+g622d83c (Windows-10-10.0.19043-SP0)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugApparent bug in liquidctlwindowsWindows users are particularly affected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions