Commit Graph

892 Commits

Author SHA1 Message Date
Hans-Christoph Steiner 5b7abc0423 single function to tame androguard's verbose default output
# Conflicts:
#	fdroidserver/common.py
2024-04-25 12:39:12 +02:00
Hans-Christoph Steiner 7a144a4762 port to androguard >= 4 and drop support for older than 3.3.3
This also makes androguard a hard requirement, which has been true for a
while anyway.  So the code that handles androguard as an optional
requirement is removed.  androguard from Debian/buster is new enough, so
this does not seem like it will cause any problems.
2024-04-25 12:39:12 +02:00
Hans-Christoph Steiner cdc7c98707 common.get_androguard_APK() is no longer private to the module 2024-04-25 12:39:12 +02:00
Michael Pöhn bd6afa4365
🐛 index fix: skip altstore when no IPAs present 2024-04-24 12:45:29 +02:00
Michael Pöhn d00a87ed6c
🏏 alt-store index: incorporate review feedback 2024-04-23 17:28:30 +02:00
Michael Pöhn f2118b35a3
🏟️ fix ci 2024-04-23 16:06:10 +02:00
Michael Pöhn 45efb88f85
🕴️ add test for make_altstore 2024-04-23 16:05:58 +02:00
Michael Pöhn 86db8c93cc
🩹 fix parse_ipa tests 2024-04-23 16:05:47 +02:00
Michael Pöhn f742799a9d
🏟️ add test for _parse_from_pbxproj
Also fix lint issues
2024-04-23 16:05:34 +02:00
Michael Pöhn 450765490b
🗺️ add test for _get_ipa_ico 2024-04-23 16:05:22 +02:00
Michael Pöhn 6152abee08 🪀 tests for insert_localized_ios_app_metadata
Split some functions from insert_localized_ios_app_metadata into
sub-functions and implemented separate tests for each.
2024-04-03 14:55:35 +00:00
Michael Pöhn bbf17ee59c 🧆 improve and test parse_ios_screenshot_name 2024-04-03 14:55:35 +00:00
Michael Pöhn 293caf5ff9 🪪 iOS fastlane screenshot support 2024-04-03 14:55:35 +00:00
Hans-Christoph Steiner 9c65bed4a5 check for <application android:testOnly="true">
This adds a check for "testOnly" to the existing "debuggable" check, since
they are very similar.  We should really be refactoring all the checks into
a more reasonable setup.  Since "debuggable" and "testOnly" are both set in
the same place (`<application>` in _AndroidManifest.xml_) and are both set
by the same process (running debug builds), I thought it would be OK to
include both in the same place.  Plus it was a one-line change.
2024-04-03 13:47:04 +00:00
Hans-Christoph Steiner e269e41b12
publish: --error-on-failed to exit when signing/verifying fails
Since we have limited visibility into @CiaranG's signing server, it is hard
to make changes to the publishing process, especially ones that might break
@CiaranG's automation.  So `fdroid publish` mostly reports success by
moving an APK from unsigned/ to repo/.  In some cases, we want immediate
failure, like in CI.  So this adds `--error-on-failed` for that purpose.
2024-04-03 15:33:18 +02:00
proletarius101 ac4694fcd3
fix `Could not initialize class org.codehaus.groovy.runtime.InvokerHelper`
https://gitlab.com/proletarius101/fdroidserver/-/jobs/6068794117#L547
2024-03-14 13:14:41 +01:00
proletarius101 f2bdf5214a
install openjdk 11 from bullseye repo instead in the test cases 2024-03-14 13:14:41 +01:00
proletarius101 0a3f785254
drop gradle support before 7.3
debian bookworm supports only Java 17+, which is compatible with gradle 7.3+: https://docs.gradle.org/current/userguide/compatibility.html
2024-03-14 13:14:41 +01:00
proletarius101 a0a766cc8e
drop gradle support before 2.0
debian bullseye supports only Java 8+, which is compatible with gradle 2.0+: https://docs.gradle.org/current/userguide/compatibility.html
2024-03-14 13:14:41 +01:00
linsui a002e46997 scanner: update maven repo regex 2024-03-12 07:57:11 +00:00
Hans-Christoph Steiner cff3364fdf split out mirrors data structure into standalone, tested function 2024-03-06 13:31:46 +00:00
Hans-Christoph Steiner 9749282b44 net: fix test_download_file_url_parsing
self.assertTrue(requests_get.called) will always be true because .called
will contain a MagicMock instance.
2024-03-06 13:31:46 +00:00
Hans-Christoph Steiner 7904f12d05 net: add test of automatic retries in download_file()
The existing logic from d1ddd525c in !1225 is confusing because it adds its
own retry loop on top of the retry mechanism that is built into requests.
So this test confirms that setting `download_file(retries=3)` actually
results in more than three retries.
2024-03-06 13:31:46 +00:00
Hans-Christoph Steiner 074dda4b61 use tiny entry.jar rather than large index-v1.jar for net test case 2024-03-06 13:31:46 +00:00
Hans-Christoph Steiner 261be20109 convert tests/testcommon.py to black code format 2024-03-06 13:31:46 +00:00
Nitai Sasson 8931e038d6 add 'non-changeable' to NonFreeNet description 2024-02-21 17:13:58 +01:00
proletarius101 947217549a feat: add servergitmirrors as a dict support 2024-02-14 16:50:39 +00:00
Hans-Christoph Steiner 031a130395 scanner: add refresh_config config item for buildserver
Includes some cosmetic changes from black.
2024-01-25 17:04:38 +01:00
Hans-Christoph Steiner d6aa3caaca
scanner: test of --refresh controls triggering a refresh 2024-01-25 14:03:46 +01:00
Hans-Christoph Steiner 1d9ec42758 scanner: update test counts based on new default rules
The new rules announce more things.
2024-01-25 12:31:05 +01:00
Hans-Christoph Steiner 681392d8c2 scanner: script to update default rules from SUSS 2024-01-25 11:51:22 +01:00
Hans-Christoph Steiner 810387a009 deploy: update_serverwebroots() for testable logic
This moves all of the serverwebroot: logic into a function, and adds tests.
I did this because I ran into issues in the logic in main():

Traceback (most recent call last):
  File "/builds/eighthave/fdroidserver/fdroid", line 22, in <module>
    fdroidserver.__main__.main()
  File "/builds/eighthave/fdroidserver/fdroidserver/__main__.py", line 230, in main
    raise e
  File "/builds/eighthave/fdroidserver/fdroidserver/__main__.py", line 211, in main
    mod.main()
  File "/builds/eighthave/fdroidserver/fdroidserver/deploy.py", line 753, in main
    s = serverwebroot.rstrip('/').split(':')
AttributeError: 'dict' object has no attribute 'rstrip'
2024-01-23 18:49:12 +01:00
Hans-Christoph Steiner fbf097d390 deploy: update_serverwebroot() works w/o options/config
Since update_serverwebroot() is part of the public API, this function should
work without setting `fdroidserver.deploy.options` or
`fdroidserver.deploy.config`.
2024-01-23 17:48:47 +01:00
Hans-Christoph Steiner 7a656d45e3 config: convert serverwebroot: to list-of-dicts format
This allows for more metadata about the server and deploy mode.
2024-01-22 22:11:49 +01:00
Hans-Christoph Steiner 3f50372d8d config: test cases for serverwebroot: with string and list 2024-01-22 22:11:49 +01:00
Hans-Christoph Steiner dc7170e709 gitlab-ci: install biplist if available, otherwise skip test_parse_ipa
Fedora does not have a biplist package.
2024-01-11 16:02:06 +01:00
Hans-Christoph Steiner 6eee83db47 run black on new .ipa test cases 2024-01-11 16:02:06 +01:00
Michael Pöhn 8b5a61bb25 ⛰️ make ipa related test cases more robust 2024-01-11 12:02:53 +01:00
Michael Pöhn 7211e9f9b4 🍲 add unit test for update.scan_repo_for_ipas 2024-01-11 11:34:21 +01:00
Michael Pöhn 995118bcd2 🥔 add strapped IPA file and test for parse_ipa 2024-01-11 11:34:21 +01:00
Michael Pöhn c288317530 🪨 version string conversion: error handling+tests 2024-01-11 11:34:21 +01:00
Hans-Christoph Steiner 0849e664e7 metadata_v0: use `git rev-parse` instead of `git describe` 2024-01-09 14:54:38 +01:00
Hans-Christoph Steiner 96fc49d7fc lint: check syntax of countryCode: fields for mirrors 2024-01-09 09:32:37 +00:00
Hans-Christoph Steiner 4511da68b9 lint: support linting config files 2024-01-09 09:32:37 +00:00
Hans-Christoph Steiner 15b983f48d handle all cases of @ in srclibs
expands on fdroidserver!1422
2024-01-07 10:50:29 +01:00
Hans-Christoph Steiner 8c8b9021f5 tests/run-tests: disable nightly.TestCase on non-Linux until its ported 2023-12-15 09:15:19 +01:00
Hans-Christoph Steiner 52f27aea75 tests/run-tests: temp disable git mirror test on non-Linux
I looked into this but couldn't figure it out.  It is the only failing
test on macOS, so it seemed worth just adding this single quirk for now.
2023-12-15 09:15:19 +01:00
Hans-Christoph Steiner 865673964e gitlab-ci: enable shellcheck on tests/run-tests 2023-12-15 08:40:01 +01:00
Hans-Christoph Steiner 45d1363a0e tests/run-tests: use $sed var for all calls that need GNU sed
FreeBSD, macOS, and others come with BSD sed, which does not support all
the things that GNU sed does.  Also, BSD rmdir does not have any extended
options like --ignore-fail-on-non-empty.
2023-12-13 22:30:19 +01:00
Hans-Christoph Steiner e2949cbd61 port to looseversion 2023-12-08 10:48:01 +01:00