mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-05 18:50:09 +02:00
AutoUpdateMode: Do not include + in suffix
Add suffix to version only
This commit is contained in:
parent
619ccb8d5a
commit
cf9bff1d56
@ -485,13 +485,13 @@ def checkupdates_app(app):
|
|||||||
pass
|
pass
|
||||||
elif mode.startswith('Version '):
|
elif mode.startswith('Version '):
|
||||||
pattern = mode[8:]
|
pattern = mode[8:]
|
||||||
|
suffix = ''
|
||||||
if pattern.startswith('+'):
|
if pattern.startswith('+'):
|
||||||
try:
|
try:
|
||||||
suffix, pattern = pattern.split(' ', 1)
|
suffix, pattern = pattern[1:].split(' ', 1)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise MetaDataException("Invalid AUM: " + mode)
|
raise MetaDataException("Invalid AUM: " + mode)
|
||||||
else:
|
|
||||||
suffix = ''
|
|
||||||
gotcur = False
|
gotcur = False
|
||||||
latest = None
|
latest = None
|
||||||
for build in app.builds:
|
for build in app.builds:
|
||||||
@ -507,9 +507,9 @@ def checkupdates_app(app):
|
|||||||
newbuild = copy.deepcopy(latest)
|
newbuild = copy.deepcopy(latest)
|
||||||
newbuild.disable = False
|
newbuild.disable = False
|
||||||
newbuild.versionCode = app.CurrentVersionCode
|
newbuild.versionCode = app.CurrentVersionCode
|
||||||
newbuild.versionName = app.CurrentVersion + suffix
|
newbuild.versionName = app.CurrentVersion + suffix.replace('%c', newbuild.versionCode)
|
||||||
logging.info("...auto-generating build for " + newbuild.versionName)
|
logging.info("...auto-generating build for " + newbuild.versionName)
|
||||||
commit = pattern.replace('%v', newbuild.versionName)
|
commit = pattern.replace('%v', app.CurrentVersion)
|
||||||
commit = commit.replace('%c', newbuild.versionCode)
|
commit = commit.replace('%c', newbuild.versionCode)
|
||||||
newbuild.commit = commit
|
newbuild.commit = commit
|
||||||
app.builds.append(newbuild)
|
app.builds.append(newbuild)
|
||||||
|
@ -32,6 +32,58 @@ class CommonTest(unittest.TestCase):
|
|||||||
os.makedirs(self.tmpdir)
|
os.makedirs(self.tmpdir)
|
||||||
os.chdir(self.basedir)
|
os.chdir(self.basedir)
|
||||||
|
|
||||||
|
def test_autoupdatemode_no_suffix(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-fdroid'
|
||||||
|
app.CurrentVersionCode = 10108
|
||||||
|
app.UpdateCheckMode = 'HTTP'
|
||||||
|
app.AutoUpdateMode = 'Version %v'
|
||||||
|
|
||||||
|
build = fdroidserver.metadata.Build()
|
||||||
|
build.versionCode = app.CurrentVersionCode
|
||||||
|
build.versionName = app.CurrentVersion
|
||||||
|
app.builds.append(build)
|
||||||
|
|
||||||
|
with mock.patch('fdroidserver.checkupdates.check_http', lambda app: ('1.1.9', 10109)):
|
||||||
|
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[-1]
|
||||||
|
self.assertEqual(build.versionName, '1.1.9')
|
||||||
|
self.assertEqual(build.commit, '1.1.9')
|
||||||
|
|
||||||
|
def test_autoupdatemode_suffix(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-fdroid'
|
||||||
|
app.CurrentVersionCode = 10108
|
||||||
|
app.UpdateCheckMode = 'HTTP'
|
||||||
|
app.AutoUpdateMode = 'Version +.%c-fdroid v%v_%c'
|
||||||
|
|
||||||
|
build = fdroidserver.metadata.Build()
|
||||||
|
build.versionCode = app.CurrentVersionCode
|
||||||
|
build.versionName = app.CurrentVersion
|
||||||
|
app.builds.append(build)
|
||||||
|
|
||||||
|
with mock.patch('fdroidserver.checkupdates.check_http', lambda app: ('1.1.9', 10109)):
|
||||||
|
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[-1]
|
||||||
|
self.assertEqual(build.versionName, '1.1.9.10109-fdroid')
|
||||||
|
self.assertEqual(build.commit, 'v1.1.9_10109')
|
||||||
|
|
||||||
def test_checkupdates_app_http(self):
|
def test_checkupdates_app_http(self):
|
||||||
fdroidserver.checkupdates.options = mock.Mock()
|
fdroidserver.checkupdates.options = mock.Mock()
|
||||||
fdroidserver.checkupdates.options.auto = 'bleh'
|
fdroidserver.checkupdates.options.auto = 'bleh'
|
||||||
|
Loading…
Reference in New Issue
Block a user