Michael Pöhn
a97b3ca4dd
implement plugin system review suggestsions
2020-06-10 18:43:23 +02:00
Michael Pöhn
77167e098e
plugin system: regex instead of import bases plugin parsing
2020-06-10 18:43:11 +02:00
Michael Pöhn
b257a3411a
stick to default python sys.path
2020-06-10 12:11:47 +02:00
Michael Pöhn
bf815251ec
rough plugin system implementation
2020-06-10 12:11:47 +02:00
Hans-Christoph Steiner
0d1fddb82e
convert inline tests to .yml
2020-06-10 10:43:27 +02:00
Hans-Christoph Steiner
f0fb3b64f8
remove obselete tests
2020-06-10 10:43:25 +02:00
Hans-Christoph Steiner
37f37ebd88
use default accepted_formats since all the files are .yml anyway
2020-06-10 10:43:21 +02:00
Hans-Christoph Steiner
b63e9e68c5
move all test metadata files to .yml format
...
for f in metadata/*.txt; do ../fdroid rewritemeta --to yml $(basename $f | sed 's,\.txt,,'); done
2020-06-10 09:56:31 +02:00
Hans-Christoph Steiner
13d9a122bf
metadata: validate STRING and INT build field types
...
This converts float/int to string for things like commit: or versionName:.
For versionCode, which must be an integer, it throws an exception if the
data is any other type.
2020-06-02 22:06:01 +02:00
Hans-Christoph Steiner
7a84679b0d
gradlew-fdroid: fix parsing when files have Windows linefeeds
...
The new test file should have Windows linefeeds, if I got the git config
correct.
2020-05-29 21:55:10 +02:00
Hans-Christoph Steiner
fc885c9b5c
scanner: test for get_gradle_compile_commands()
2020-05-27 22:09:52 +02:00
Hans-Christoph Steiner
95c3ab2454
skip yamllint test if yamllint is not installed
...
!721
2020-05-27 22:07:17 +02:00
Hans-Christoph Steiner
67332d83a5
scanner: add --json option for outputting machine readable results
...
* makes per-build entries in per-app entries
* `fdroid scanner --json --verbose` will output logging messages to stderr
* removed " at line N" from one message to make them uniform keys
* this will be used in issuebot
This is a second attempt with tests for how `fdroid build` calls the
scanner functions. closes #771 . It was previously merged in !748 then
reverted in 68c072c72e
2020-05-27 08:35:14 +02:00
Hans-Christoph Steiner
5b9944fcde
add test for things fdroid build
cleans
...
This needs a lot of mocking because build.build_local() is a
gianormous single function.
2020-05-26 09:48:55 +02:00
Marcus Hoffmann
68c072c72e
Revert "scanner: add --json option for outputting machine readable results"
...
This reverts commit cdaf62e5d9
.
See: https://gitlab.com/fdroid/fdroidserver/-/merge_requests/748#note_347769371
2020-05-24 10:24:40 +02:00
Hans-Christoph Steiner
cdaf62e5d9
scanner: add --json option for outputting machine readable results
...
* makes per-build entries in per-app entries
* `fdroid scanner --json --verbose` will output logging messages to stderr
* removed " at line N" from one message to make them uniform keys
* this will be used in issuebot
2020-05-14 21:58:48 +02:00
Hans-Christoph Steiner
a0e3b01e94
metadata: parsed srclibs must always return a dict as the container
2020-05-14 16:28:13 +02:00
Michael Pöhn
b076e8cba7
add srclib spec parser
2020-04-25 17:22:48 +02:00
Michael Pöhn
d24484a950
simple testcase for common.run_yamllint
2020-04-24 15:47:47 +02:00
Michael Pöhn
4e69ff582f
run yamllint when parsing failed and also on fdroid lint runs
2020-04-24 15:47:31 +02:00
Michael Pöhn
5741e6930b
yml srclibs: support Subdir as list
2020-04-16 11:31:59 +02:00
Michael Pöhn
1ac7d612b1
yml srclibs: support multiline Prepare
2020-04-16 11:31:59 +02:00
Michael Pöhn
58776da694
get tests working
2020-04-16 11:31:59 +02:00
Michael Pöhn
ee3d8d2f18
srclib: yml parsing + tests for yml and txt
2020-04-16 11:31:59 +02:00
Michael Pöhn
fa7885063b
scrlib: add test for getsrclib
2020-04-16 11:31:59 +02:00
Michael Pöhn
286220fe11
srclib: add test for getsrclibvcs
2020-04-16 11:31:59 +02:00
Michael Pöhn
2c86d38028
srclib: no spaces in dict key
2020-04-16 11:31:59 +02:00
Michael Pöhn
c6a97939f1
rename parse_srclib to parese_txt_srclib + test case
2020-04-16 11:31:59 +02:00
Hans-Christoph Steiner
b7901952a1
deploy: make androidobservatory and virustotal functions reusable
...
This should not change the logic at all, just make the loop runs into
standalone functions.
2020-03-11 22:13:39 +01:00
Hans-Christoph Steiner
ab2291475b
import: mv reusable functions to common.py to avoid import_proxy.py
...
import is a strict keyword in Python, so it is not possible to import a
module called 'import', even with things like:
* import fdroidserver.import
* from fdroidserver import import
2020-03-11 13:41:13 +01:00
Marcus
9d24f2e4a7
add opencollective metadata and index field
2020-03-10 14:56:03 +00:00
Hans-Christoph Steiner
202291d66c
integration test for creating and deploying status JSON files
...
----------------------------
2020-02-19 14:50:37 +01:00
Hans-Christoph Steiner
4bb590b6e5
publish: write status JSON
2020-02-19 14:50:24 +01:00
Hans-Christoph Steiner
271b74af7d
fix remove_signing_keys() for Kotlin gradles files (*.gradle.kts)
2020-02-13 22:32:51 +01:00
Hans-Christoph Steiner
3de2d0f56f
add basic test suite for gradlew-fdroid
...
!707
fdroiddata#6216
The se.manyver app is licensed MPL, the files came from:
81d247a6cd
2020-02-13 22:32:51 +01:00
Hans-Christoph Steiner
83ffeb855f
prefer build.gradle with Android Plugin as source of package/version/code
...
These days, the location that overrides all the others is in the android{}
block of the build.gradle file that loads the com.android.application
plugin. So this should be the preferred place to read these values.
test files GPL licensed: https://github.com/Integreight/1Sheeld-Android-App
2020-02-13 22:32:51 +01:00
Hans-Christoph Steiner
1153ac24fd
import: overhaul URL validation to use urllib.parse
...
Python provides us a lovely URL parser with some level of validation built
in. The parsed URL is then much easier to validate.
2020-02-13 13:51:52 +01:00
Hans-Christoph Steiner
e9a6c84efd
import: split URL parsing from code cloning
...
This makes things testable and easier to follow.
2020-02-13 13:51:52 +01:00
Hans-Christoph Steiner
bfe587979d
import: make it work most of the time with git repos
...
This includes real tests too.
2020-02-13 13:51:52 +01:00
Hans-Christoph Steiner
5fb368916f
index: fix no JAR test case that fails on example.org
...
http://example.org/index-v1.jar now returns the HTTP header
"Content-Encoding: gzip" but then the reply is plain HTML. That
triggers a ContentDecodingError instead of an HTTPError, so this
changes the test to success on any RequestsException.
2020-02-05 20:33:40 +01:00
Hans-Christoph Steiner
427856b5fd
tests: use same mirrors order in all tests
...
This makes it so running `../fdroid update --nosign --pretty` in tests/ no
longer creates a diff in the tests/*/index* files. It matches the order
set in tests/run-tests.
2020-01-31 15:38:10 +01:00
Hans-Christoph Steiner
6ce22bff56
update: strip newlines from name/summary/video entries
...
These entries are hardcoded as a single line in all the app stores, so
newlines should be stripped to get the data simple to use. This is in
contrast with the on-disk format for Fastlane and Triple-T, which includes
a newline in the title.txt and short_description.txt files. I think all
files in those systems are normalized to end in a newline.
2020-01-31 15:37:59 +01:00
Hans-Christoph Steiner
fdede914cd
tests: properly name CheckupdatesTest class
2020-01-31 15:37:32 +01:00
Hans-Christoph Steiner
3df276cc3c
fix all bandit B310 urllib_urlopen
...
"Audit url open for permitted schemes. Allowing use of ‘file:’’ or custom
schemes is often unexpected."
https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b310-urllib-urlopen
2020-01-31 15:37:30 +01:00
Marcus Hoffmann
8961485125
remove dscanner subcommand
...
It's unused and unmaintained. It could potentially be revived as a
plugin at a later point.
2020-01-31 14:17:12 +01:00
Michael Pöhn
f2a80ffa3d
fix tests on old python version
2020-01-28 11:43:09 +01:00
Michael Pöhn
b25eeb66a1
fix code style
2020-01-28 11:43:09 +01:00
Michael Pöhn
f21481ca81
add some simple tests for main
2020-01-28 11:43:09 +01:00
Hans-Christoph Steiner
e76a0c9d6a
git_mirror_size_limit config option to set max git mirror size
...
GitHub and GitLab have some kinds of limits on how big a git repo can be,
this makes that option configurable. This also is very useful for tests.
2020-01-14 11:36:08 +01:00
Gerhard Olsson
cf9bff1d56
AutoUpdateMode: Do not include + in suffix
...
Add suffix to version only
2020-01-02 13:27:12 +00:00