Commit Graph
1165 Commits
Author SHA1 Message Date
Michael Pöhn 28f979584d 🗼 use v2+ signed apk in TestUpdateWithAllowedApkSigningKeys 2026-07-21 10:44:38 +00:00
Michael Pöhn 8b70f83d50 🛣️ switch TestUpdateWithAllowedApkSigningKeys to pathlib 2026-07-21 10:44:38 +00:00
Michael Pöhn 938009d7cc 🪣 TestUpdateWithAllowedApkSigningKeys rm pointless metadata copies 2026-07-21 10:44:38 +00:00
Michael Pöhn b3e2f47ae4 🪚 simplify tmp dir setup in TestUpdateWithAllowedApkSigningKeys 2026-07-21 10:44:38 +00:00
Michael Pöhn eb04ef67af 🔨 test_update_with_AllowedAPKSigningKeys contains 2 tests -> split 2026-07-21 10:44:38 +00:00
Michael Pöhn 366aee7f45 👉 move test_update_with_AllowedAPKSigningKeys into separate TestCase 2026-07-21 10:44:38 +00:00
Michael Pöhn f61f06b413 🤏 separate test case for get_apks_without_allowed_signatures 2026-07-21 10:44:38 +00:00
Michael Pöhn b218b890b1 ⚔️ build: reject v1 only sigend reference Binaries 2026-07-21 10:44:38 +00:00
Michael Pöhn 836d32fe69 🚠 build: refactor binary download into testable sub function
This adds _download_and_check_reference_binary() to build.py and moves
some lines from the humongous main() function there. It also adds some
unit tests for that new fucntion.
2026-07-21 10:44:38 +00:00
Michael Pöhn 3a83ae9fd7 📇 publish: do not allow v1 signed Binaries 2026-07-21 10:44:38 +00:00
Michael Pöhn ac3405fb28 🧓 add common.apk_is_v1_signed_only
Add a helper function that determines whether an APK is exclusively
singed with v1 signatures.
2026-07-21 10:44:38 +00:00
Hans-Christoph Steiner 5c7bac295d publish: skip sig implant test on Fedora #1354
There is a complicated issue with the ZIP library that needs to be resolved
in Fedora before this can work.
2026-07-21 12:32:28 +02:00
Timothy Mario Redaelli 82e644fa17 common, publish: support v2/v3-only sigdirs in developer signature graft 2026-06-03 20:51:49 +00:00
Hans-Christoph Steiner 093752b06f use IntEnum for SCREEN_RESOLUTIONS
This is a Pythonic structure for gathering all these constant values that
are used in a manageable way.

Enums have SCREEN_RESOLUTIONS['ldpi'] but throw KeyErrors when the key is
there.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 778b6527a0 fix "doesn't conform to UPPER_CASE naming style (invalid-name)" 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 8ab474ad3b update: "0" DPI only needed for extraction, not icon_dirs
The '0' value is not used to generate an icon_dir, e.g. repo/icons-0/, so
this additional "all" structure is not needed.

The 0 DPI value is the really old default when no DPI specified.
https://github.com/androguard/androguard/blob/dd458bead6165975c3ef0b1b78eaf2450e4889d9/androguard/core/apk/__init__.py#L681
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 9f101af294 update: fix ancient bug where not all icons get moved to archive 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner f3e3605f64 update: stop using density values as strings, they're ints 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner cc47f7cc0f update: add tests for extract_apk_icons() 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner b2a7e8eae2 update: parse icons by fully resolving the resources
This was doing only quite simple resolution, which missed lots of
things starting in Android Gradle Plugin 4.2.
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 09947064ff add tests of fdroidserver.update.get_icon_dir() 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner f668343b35 update: move icon density parse to standalone function for testing 2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 02139d196d remove obsolete test back when aapt dump badging was parsed
see !485
2026-05-22 23:02:59 +00:00
Hans-Christoph Steiner 976c9c0db4 ensure httpd is shut down when test_mirroring_a_repo fails
Otherwise, this will fail and then hang forever.  THis just puts everything
that could cause the hang in try/finally.
2026-05-20 11:35:05 +02:00
Hans-Christoph Steiner e9f875b2d8 added test case 2026-05-05 21:24:24 +00:00
Hans-Christoph Steiner 2333b5c1fb stop accessing private variable in sdkmanager in tests
sdkmanager@3ff3706e70752fbd0f712818b760dcabda8de405 changed the name
of the variable that was being accessed.  This instead uses a private
function, but that function already fits the PEP naming standards and has
remained unchanged since the beginning of _sdkmanager_.
2026-05-01 22:29:25 +02:00
Torsten Grote a2574360d9 Add localized category to tests 2026-04-22 15:01:20 -03:00
Torsten Grote 36e75c29e6 Add category description to tests 2026-04-21 20:10:03 -03:00
Hans-Christoph Steiner 0b6ec94af7 remove NSFW Anti-Feature
admin#634
fdroiddata#3867
2026-04-20 14:40:29 +00:00
linsui ad8bfca824 fix gradle output path 2026-04-13 17:21:32 +00:00
linsui 7723311b44 disable gradle jvm auto download 2026-03-18 04:12:57 +08:00
Hans-Christoph Steiner b20d505347 index: make sure DNS records are in the "mirrors" list
fdroidclient!1626
https://gitlab.com/fdroid/fdroidclient/-/work_items/2948#note_3157998787
fdroidclient#2717
fdroidclient#2948
2026-03-13 22:58:07 +01:00
Hans-Christoph Steiner 2e4b8c8d15 fix Fedora check in macOS job
platform.freedesktop_os_release() requires that /etc/os-release or
/usr/lib/os-release is present.
2026-03-12 22:00:04 +01:00
mnbogner b7714db4f6 added check foripv6 suppot to dns tests 2026-03-12 22:00:02 +01:00
Alexander Martinz 0577be66d5 test: test_index: test_make_v1: ensure nativecode exists
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2026-03-12 20:32:10 +01:00
Alexander Martinz 313b8d0171 tests: test_index: add test_make_v1
Test index creation for index_v1.
This is based on test_make_v0 and uses the existing
org.dyndns.fules.ck test app.

The metadata was imported from fdroiddata.

Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2026-03-12 20:32:10 +01:00
Benson Muite a3d928f94b Update to a supported Fedora version
- use OpenJDK21
- Install python-oscrypto
- Enable weak ciphers when running tests
- Add Androguard dependency
- Skip gpg test on Fedora
- Ensure zlib not zlib-ng is used on Fedora
2026-03-11 14:46:23 +00:00
Hans-Christoph Steiner 67831d6608 add tests 2026-03-11 11:54:47 +01:00
Hans-Christoph Steiner e5630f0717 test YAML 1.2 for config
This disables pycodestyle's "W291 trailing whitespace" because these tests
need a trailing whitespace in the YAML string to represent null.  Black
handles this fine.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner b6ad69080b reset apkcache to move data to new internal format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner c8d04e38f0 move 'signer' into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner f5e0599571 move repo["timestamp"] to internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner 97ecf27eee move PackageAddedCache to update.py, it is only used there 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner a1ea7cf325 move 'added' to internal index-v2 format
This ended up being a refactoring of the whole KnownApks setup.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner 78aec37622 port 'added' integration test to JSON for clarity of purpose 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner 69995e5b33 move 'apkName' field into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner bea377f183 move 'versionName' field to internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner cd9c6a9231 minSdkVersion/targetSdkVersion/maxSdkVersion into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner 6b16cd1024 init 'features' only when it is needed 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner f0eedc3ade move 'nativecode' field into internal index-v2 format 2026-03-09 08:54:24 +00:00