26 lines
1.0 KiB
Python
26 lines
1.0 KiB
Python
"""A stale delivered APK must not pass the current-release gate."""
|
|
import os
|
|
from pathlib import Path
|
|
import subprocess
|
|
import sys
|
|
import tempfile
|
|
import unittest
|
|
|
|
|
|
class ReleaseVersionTests(unittest.TestCase):
|
|
def test_previous_apk_is_rejected_for_current_source_version(self):
|
|
root = Path(__file__).resolve().parents[1]
|
|
old = root.parent / 'reelbox-delivery/reelbox-0.2.0-arm64.apk'
|
|
if not old.exists():
|
|
self.skipTest('Previous delivery not available on this verification host')
|
|
with tempfile.TemporaryDirectory(dir=os.environ.get('TMPDIR')) as temp:
|
|
result = subprocess.run([sys.executable, str(root / 'tool/verify_apk.py'),
|
|
str(old), '--output-dir', temp],
|
|
capture_output=True, text=True)
|
|
self.assertNotEqual(result.returncode, 0, 'Verifier accepted the stale 0.2.0 APK for 0.3.0 source')
|
|
self.assertIn('Wrong package/version', result.stderr)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|