Files
reelbox/tool/test_release_version.py
T

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()