mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-11 01:30:30 +03:00
Change VercodeOperation to list
... so that we can calculate multiple version codes to support multi-arch autoupdate
This commit is contained in:
parent
0d39169840
commit
68b58c043f
3 changed files with 122 additions and 47 deletions
|
|
@ -102,6 +102,56 @@ class CheckupdatesTest(unittest.TestCase):
|
|||
self.assertEqual(build.versionName, '1.1.9.10109-fdroid')
|
||||
self.assertEqual(build.commit, 'v1.1.9_10109')
|
||||
|
||||
def test_autoupdate_multi_variants(self):
|
||||
fdroidserver.checkupdates.options = mock.Mock()
|
||||
fdroidserver.checkupdates.options.auto = 'bleh'
|
||||
fdroidserver.checkupdates.config = {}
|
||||
|
||||
app = fdroidserver.metadata.App()
|
||||
app.id = 'loop.starts.shooting'
|
||||
app.metadatapath = 'metadata/' + app.id + '.yml'
|
||||
app.CurrentVersion = '1.1.8'
|
||||
app.CurrentVersionCode = 101083
|
||||
app.UpdateCheckMode = 'Tags'
|
||||
app.AutoUpdateMode = r'Version'
|
||||
app.VercodeOperation = [
|
||||
"10*%c+1",
|
||||
"10*%c+3",
|
||||
]
|
||||
|
||||
build = fdroidserver.metadata.Build()
|
||||
build.versionCode = app.CurrentVersionCode - 2
|
||||
build.versionName = app.CurrentVersion
|
||||
build.gradle = ["arm"]
|
||||
app['Builds'].append(build)
|
||||
|
||||
build = fdroidserver.metadata.Build()
|
||||
build.versionCode = app.CurrentVersionCode
|
||||
build.versionName = app.CurrentVersion
|
||||
build.gradle = ["x86"]
|
||||
app['Builds'].append(build)
|
||||
|
||||
with mock.patch(
|
||||
'fdroidserver.checkupdates.check_tags',
|
||||
lambda app, pattern: ('1.1.9', 10109, 'v1.1.9'),
|
||||
):
|
||||
with mock.patch('fdroidserver.metadata.write_metadata', mock.Mock()):
|
||||
with mock.patch('subprocess.call', lambda cmd: 0):
|
||||
fdroidserver.checkupdates.checkupdates_app(app)
|
||||
|
||||
build = app['Builds'][-2]
|
||||
self.assertEqual(build.versionName, '1.1.9')
|
||||
self.assertEqual(build.versionCode, 101091)
|
||||
self.assertEqual(build.gradle, ["arm"])
|
||||
|
||||
build = app['Builds'][-1]
|
||||
self.assertEqual(build.versionName, '1.1.9')
|
||||
self.assertEqual(build.versionCode, 101093)
|
||||
self.assertEqual(build.gradle, ["x86"])
|
||||
|
||||
self.assertEqual(app.CurrentVersion, '1.1.9')
|
||||
self.assertEqual(app.CurrentVersionCode, 101093)
|
||||
|
||||
def test_checkupdates_app_http(self):
|
||||
fdroidserver.checkupdates.options = mock.Mock()
|
||||
fdroidserver.checkupdates.options.auto = 'bleh'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue