feat: add versioned release packaging
This commit is contained in:
+1
-1
@@ -157,7 +157,7 @@ class GuiTests(TempDirMixin, unittest.TestCase):
|
||||
window = MainWindow(config=self.make_config(temp_dir))
|
||||
self.addCleanup(window.close)
|
||||
|
||||
self.assertEqual("蝦皮圈優化助手", window.windowTitle())
|
||||
self.assertEqual(gui.display_name(), window.windowTitle())
|
||||
self.assertEqual(5, window.tabs.count())
|
||||
self.assertEqual(
|
||||
TAB_TITLES,
|
||||
|
||||
+37
-1
@@ -1,6 +1,7 @@
|
||||
import unittest
|
||||
|
||||
from _helpers import REPO_ROOT
|
||||
from app import version
|
||||
|
||||
|
||||
class PackagingTests(unittest.TestCase):
|
||||
@@ -43,8 +44,43 @@ class PackagingTests(unittest.TestCase):
|
||||
):
|
||||
self.assertIn(token, script)
|
||||
|
||||
self.assertIn("python -m PyInstaller --noconfirm --clean", script)
|
||||
self.assertIn('$pythonExe = "py"', script)
|
||||
self.assertIn('$pythonArgs = @("-3.10")', script)
|
||||
self.assertIn("& $pythonExe @pythonArgs -m PyInstaller --noconfirm --clean", script)
|
||||
self.assertIn("cmshopee.spec", script)
|
||||
self.assertIn("Decode-Utf8Base64", script)
|
||||
|
||||
def test_release_version_source_is_single_place(self):
|
||||
version_py = self.read_text("app/version.py")
|
||||
|
||||
self.assertIn('APP_NAME = "蝦皮圈優化助手"', version_py)
|
||||
self.assertIn('APP_CODE_NAME = "cmshopee"', version_py)
|
||||
self.assertRegex(version.APP_VERSION, r"^\d+\.\d+\.\d+$")
|
||||
self.assertEqual(
|
||||
f"{version.APP_NAME} v{version.APP_VERSION}",
|
||||
version.display_name(),
|
||||
)
|
||||
|
||||
def test_build_script_assembles_versioned_release_package(self):
|
||||
script = self.read_text("scripts/build_exe.ps1")
|
||||
|
||||
self.assertIn('Read-VersionValue -Path $versionFile -Name "APP_VERSION"', script)
|
||||
self.assertIn('$pythonExe = "py"', script)
|
||||
self.assertIn('$pythonArgs = @("-3.10")', script)
|
||||
self.assertIn(
|
||||
'Decode-Utf8Base64 "5pyq5om+5YiwIFB5dGhvbiAzLjEw44CC6K+35YWI5a6J6KOFIFB5dGhvbiAzLjEw77yM5bm256Gu6K6kIFdpbmRvd3MgUHl0aG9uIExhdW5jaGVyIOWPr+mAmui/hyBweSAtMy4xMCDosIPnlKjjgII="',
|
||||
script,
|
||||
)
|
||||
self.assertIn('$pythonVersion.StartsWith("3.10.")', script)
|
||||
self.assertNotIn('python -m PyInstaller --noconfirm --clean', script)
|
||||
self.assertNotIn("3.7.9", script)
|
||||
self.assertIn('$releaseRoot = Join-Path $repoRoot "release"', script)
|
||||
self.assertIn('$releaseName = "$appCodeName-$appVersion"', script)
|
||||
self.assertIn('$portableZip = Join-Path $releaseRoot "$releaseName-portable.zip"', script)
|
||||
self.assertIn('version.txt', script)
|
||||
self.assertIn('README.txt', script)
|
||||
self.assertIn('Compress-Archive', script)
|
||||
self.assertIn('Assert-NoExcludedData -Root $releaseDir', script)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user