Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test diversion rules #2620

Closed
wants to merge 50 commits into from
Closed

Conversation

MattHag
Copy link
Collaborator

@MattHag MattHag commented Oct 6, 2024

No description provided.

This module shouldn't be necessary on the long run. Remove pieces from
it whenever possible.
Enforce a total coverage of 40% of the code.

Related pwr-Solaar#1097
Create coverage.xml, upload it to GitHub CI and visualize with codecov.

Setup instruction:
- Install codecov for project
  https://github.com/settings/installations/55029514
- Add CODECOV_TOKEN in the GitHub CI project secrets

Related pwr-Solaar#1097
- Remove comments with unused receivers
- Simplify receiver hardcoded info
Name the key symbol mapping different than the module itself.
Linux uses udev, other platforms use the cross-platform hidapi
implementation. Remove implicit loading of hidapi in hidapi/__init__.py.
Split model and view, and enable view mocks for unit tests without GDK.
Clean up, type hint and tests base_usb and related modules.
Avoid the need for hidapi imports and add them to the base API module.
Avoid direct access to hidapi and use the base module as low-level API
instead. This change replaces the remaining calls to find_paired_node
and find_paired_node_wpid by exposing them via base module.
With this test all receiver tests are macOS compatible again. The low
level interface supports passing a fake API for unit tests.
A module level function is sufficient, no wrapper needed.
Avoids spelling mistakes and helps readability.
Warnings found by automatic code inspection and partially tackled
- Drop distuitls inf favour of setuptools
- Replace deprecated pyudev.Device.from_device_number
- Remove unnecessary brackets
- Avoid access to private variables etc.
- Shadows built-in name
- Line length >120 characters
- Not a module level variable
- Simplify clause
and more
Improve type hints and names.
Make internal functions private.
Import gi solely for type checking.
Reduce complexity of diversion dialog.
Fix diverged signature of RuleComponentUI subclasses.
@pfps
Copy link
Collaborator

pfps commented Oct 8, 2024

There is a failing test here. Can you find out what is going wrong?

@pfps
Copy link
Collaborator

pfps commented Oct 8, 2024

I was just getting around to looking at this PR and I found a problem with Solaar on my Bluetooth keyboard. I'll have to look at this first.

@MattHag
Copy link
Collaborator Author

MattHag commented Oct 8, 2024

There's one with Bolt as well, but that issue already occurred in the master and shouldn't be related to these changes.

@MattHag
Copy link
Collaborator Author

MattHag commented Oct 8, 2024

There is a failing test here. Can you find out what is going wrong?

The gtk/gi/low level dependencies with hatdware access. The modules in logitech_receiver and solar packages need to get more independent for these new tests to work as unit tests.

You can check out the latest pull request that's verified. This one should not be merged without further work.

@pfps
Copy link
Collaborator

pfps commented Oct 8, 2024

So should this PR be marked as work in progress

@MattHag
Copy link
Collaborator Author

MattHag commented Oct 10, 2024

Replaced by #2626

@MattHag MattHag closed this Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants