Merge branch 'fix_UpdateCheckData' into 'master'

[checkupdates] UpdateCheckData warn if file was not found

See merge request fdroid/fdroidserver!948
This commit is contained in:
Jochen Sprickerhof 2021-06-09 10:09:45 +00:00
commit 799ceda731
2 changed files with 18 additions and 7 deletions

View file

@ -162,8 +162,12 @@ def check_tags(app, pattern):
if app.UpdateCheckData:
filecode, codeex, filever, verex = app.UpdateCheckData.split('|')
vercode = None
if filecode:
filecontent = (build_dir / filecode).read_text()
filecode = build_dir / filecode
if not filecode.is_file():
logging.debug("UpdateCheckData file {0} not found in tag {1}".format(filecode, tag))
continue
filecontent = filecode.read_text()
m = re.search(codeex, filecontent)
if m:
@ -172,7 +176,11 @@ def check_tags(app, pattern):
version = "??"
if filever:
if filever != '.':
filecontent = (build_dir / filever).read_text()
filever = build_dir / filever
if filever.is_file():
filecontent = filever.read_text()
else:
logging.debug("UpdateCheckData file {0} not found in tag {1}".format(filever, tag))
m = re.search(verex, filecontent)
if m:

View file

@ -212,8 +212,11 @@ class CheckupdatesTest(unittest.TestCase):
vcs.latesttags.return_value = ['1.1.8', '1.1.9']
with mock.patch(
'pathlib.Path.read_text', lambda a: 'v1.1.9\nc10109'
) as _ignored, mock.patch('fdroidserver.common.getvcs', return_value=vcs):
) as _ignored, mock.patch.object(
Path, 'is_file'
) as mock_path, mock.patch('fdroidserver.common.getvcs', return_value=vcs):
_ignored # silence the linters
mock_path.is_file.return_falue = True
vername, vercode, _tag = fdroidserver.checkupdates.check_tags(app, None)
self.assertEqual(vername, '1.1.9')
self.assertEqual(vercode, '10109')