Commit graph

230 commits

Author SHA1 Message Date
Daniel Johnson
22e8305314 Rework the mocks so the PCSX2 tests will still run even when it's not installed. 2023-11-29 19:16:01 -05:00
Daniel Johnson
2eec736fd9 Replace add_url_tags() with gtk_safe_urls(), which does both conversion and escaping.
add_url_tags() isn't correct- it does not handle escaping and can't be safely combined with gtk_safe(), as is done in two places.

But URLs can explicitly contain &, and that must be escaped. Text not inside URLs needs to be escaped, but escaping before or after the anchors breaks the URLs.

This function splits the text up into URLs and not-URLs and handles each case.
2023-11-04 07:36:28 -04:00
K900
1f1d554df3 scummvm: handle runner not being available in get_command, add/fix test 2023-10-29 15:51:53 -07:00
Mathieu Comandon
97600fdca7 Remove 'and' between hours and minutes 2023-08-25 17:00:39 -07:00
Mathieu Comandon
41c300fefd Group delegate classes in the delegates module 2023-06-14 00:49:10 -07:00
Daniel Johnson
a245387b03
Merge pull request #4866 from lengau/nvidia
Make Nvidia info not depend on /proc access
2023-05-31 15:10:42 -04:00
Daniel Johnson
14ae02536e First cut at version compatibility restrictions
This code looks for a '.lutris_compat.json' file at the root of a
component's version's directory.

This contains, in JSON, the minimum Lutris version required. If Lutris
finds this to be too late, it will try earlier versions.

The code is messy and this could download a lot of versions, since
it tries them one at a time. But it's a start.
2023-05-29 11:37:44 -07:00
Alex Lowe
5415015f6f Typing additions for drivers file 2023-05-20 22:27:16 -04:00
Alex Lowe
d4daf92de5 Make NVIDIA checks work without /proc access
Some environments don't have access to /proc, or may only have access
to specific files in /proc. We can use other methods to find the same
information.
2023-05-20 22:05:59 -04:00
Daniel Johnson
31f327b50e Update PCSX2 unit test
The switches have all changed, and config-file support is gone entirely.
2023-05-14 06:32:29 -04:00
Mathieu Comandon
021a687fea Build a cache with game paths 2023-01-30 19:25:16 -08:00
Daniel Johnson
59abef7f69 Placate flake8!
Every single change is just whitespace. Python!
2023-01-24 17:26:28 -05:00
Mathieu Comandon
157bbee6c8 Allow tests to run without moddb installed 2023-01-19 20:03:27 -08:00
Antoine Mazeas
133c8ab29d some code cleanup
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas
b167143453 Code style and formatting
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas
bf7d7f91a1 Add test for handling noop when missing lib
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas
97ac480c67 Guard against mirror urls to avoid long hangs
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas
88a004c86d Revert requiring MODDB: prefix
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas
10c4c8fcdf Add mandatory MODDB: prefix as per maintainer wish
+ add more test coverage

Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Antoine Mazeas
18c2f97002 Add ModDB download helper
This helper facility will seamlessly swap a "File" url (e.g. "https://www.moddb.com/games/tribes/downloads/starsiege-tribes-retro-version") into a mirror download link.

This enables installer authors to specify files to be downloaded directly from ModDB, e.g.

```
files:
    - t1_setup:
        url: https://www.moddb.com/games/tribes/downloads/starsiege-tribes-retro-version
        filename: t1retro.exe
        referer: https://www.moddb.com/games/tribes/downloads
```

Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
2023-01-19 19:43:53 -08:00
Daniel Johnson
725368a8dc Add support for launch configs with lutris: URLs
The URLs can now have a 3-part path, like this:
"lutris:rungame/fear/F.E.A.R. Extraction Point"

The third part- which can only exist if the action is also present- is the name of a launch config. We use the config name as there's no launch config "slug" to use.

I also added unquoting to the URL, so "F.E.A.R.%20Extraction Point" will work too.
2022-12-27 03:44:52 -08:00
Daniel Johnson
bcc69327cc Placate flake8!
These imports were using for tests that have been removed.
2022-10-30 15:00:25 -04:00
Mathieu Comandon
90b83caa4a Remove broken tests 2022-10-25 11:15:32 -07:00
Mathieu Comandon
bb0b483cd0 Fix tests 2022-03-15 21:14:31 -07:00
Mathieu Comandon
eb6654f4e5 Remove platforms from steam list and test that never worked 2022-01-25 15:34:22 -08:00
Rachmadani Haryono
57be9f7c62 test(cli): print steam list and steam folder 2021-12-15 11:55:45 -08:00
Mathieu Comandon
4e7e74b0a7 Style fix 2021-12-14 14:03:59 -08:00
Mathieu Comandon
83c4c4a1c9 Remove deletion of SQLite database in tests 2021-12-14 13:58:45 -08:00
Alexander Ravenheart
f5e8e007b3 - Replaced pipenv with poetry
- Updated min version check in setup.py to Python 3.6
- Updated isort config file and calls to align with v5.x
- Added init-hook for gi imports in .pylintrc to avoid invalid no-member issues
- Makefile: added lock, show-tree, bandit, black, mypy; updated test, cover, dev, isort, autopep8, check, isort-check, flake8, pylint; removed req, requirements;
- Updated .travis.yml to use poetry and make
- Added my email in AUTHORS
- Updated CONTRIBUTING.md
- Updated lint_python.yml to use poetry and make, reorganized instructions to have all install related steps first
- sorted imports: lutris, lutris-wrapper, cleanup_prefix.py and multiple files in tests dir
2021-11-17 21:17:43 -08:00
Mathieu Comandon
922c7680cf Add winemenubuilder to dll overrides in test 2021-10-16 11:42:36 -07:00
Christian Clauss
cdea86c9b4 Placate flake8 2021-08-02 13:44:18 -07:00
Mathieu Comandon
ff33ab73c2 Fix tests 2021-04-26 22:42:38 -07:00
Mathieu Comandon
1d5569ba16 Fix unit tests 2021-02-19 15:44:12 -08:00
Mathieu Comandon
2f170e961f Fix process watcher 2021-02-15 19:36:13 -08:00
Mathieu Comandon
838b46d0e1 Further configuration to skip initialization during tests 2021-02-15 16:23:07 -08:00
Mathieu Comandon
449a00d390 Simplify process watcher 2021-02-02 22:54:09 -08:00
Mathieu Comandon
6131f50a25 Add tests for get_formatted_playtime 2021-01-13 21:12:42 -08:00
Mathieu Comandon
427ef2f8ec Allow downloading of GOG extras (Closes #2945) 2020-10-11 17:10:19 -07:00
Mathieu Comandon
5b9d55d08d Implement save button for logs (Closes #1988) 2020-10-05 23:17:13 -07:00
Mathieu Comandon
0ff96b94ab Sort by suffix first for versions (Closes #3059) 2020-10-05 22:18:10 -07:00
Mathieu Comandon
c6e017f36a Move game bar to the bottom 2020-10-03 04:51:11 -07:00
Mathieu Comandon
6fc9335015 Delegate service media downloads to MediaLoader 2020-10-03 04:51:11 -07:00
Mathieu Comandon
b3236a99d3 Migrate hidden field to database 2020-10-03 04:51:11 -07:00
Mathieu Comandon
d6c81d7977 Deprecate pga module and create database package 2020-10-03 04:51:11 -07:00
Mathieu Comandon
8b1f8d84c0 Remove test for select parameter in pga.get_games 2020-10-03 04:51:11 -07:00
Mathieu Comandon
9aa6b7eb92 Merge branch 'master' into file-picker 2020-07-19 17:21:57 -07:00
Jordan Christiansen
105cb10cbb Add a failing test for slugify
slugify removes all non-ASCII characters. For names that contain only
non-ASCII characters, this is a problem.
2020-07-13 21:00:06 -07:00
Mathieu Comandon
764033fcd3 Remove check for __all__ presence + other fixes 2020-07-11 22:53:10 -07:00
Austin Pua
89eb62dbeb Add tests for pcsx2 runner 2020-06-26 16:28:25 -07:00
Jordan Christiansen
ad50383e5e scummvm: Add custom data dir runner option
By default, the scummvm runner looks up the data directory relative to
the executable. It expects it to be at ../share/scummvm. That works for
a system-installed version of scummvm, where the binary is in /usr/bin
and the data is in /usr/share/scummvm. However, we shouldn't make
assumptions about the directory structure for a custom executable.

This allows setting a custom data directory in addition to the custom
executable.
2020-05-30 11:48:29 -07:00