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