mirror of
https://github.com/liberatedsystems/openCom-Companion.git
synced 2024-11-30 09:10:36 +01:00
88 lines
1.9 KiB
Python
88 lines
1.9 KiB
Python
|
"""
|
||
|
PyInstaller freezing test
|
||
|
=========================
|
||
|
|
||
|
PyInstaller must package KivyMD apps correctly.
|
||
|
"""
|
||
|
|
||
|
import subprocess
|
||
|
|
||
|
from PyInstaller import __main__ as pyi_main
|
||
|
|
||
|
|
||
|
def test_datas(tmp_path) -> None:
|
||
|
"""Test fonts and images."""
|
||
|
|
||
|
app_name = "userapp"
|
||
|
workpath = tmp_path / "build"
|
||
|
distpath = tmp_path / "dist"
|
||
|
app = tmp_path / (app_name + ".py")
|
||
|
app.write_text(
|
||
|
"""
|
||
|
import os
|
||
|
|
||
|
from kivy.core.text import LabelBase
|
||
|
|
||
|
import kivymd
|
||
|
|
||
|
fonts = os.listdir(kivymd.fonts_path)
|
||
|
print(fonts)
|
||
|
assert "Roboto-Regular.ttf" in fonts
|
||
|
assert "materialdesignicons-webfont.ttf" in fonts
|
||
|
print(LabelBase._fonts.keys())
|
||
|
assert "Roboto" in LabelBase._fonts.keys() # NOQA
|
||
|
assert "Icons" in LabelBase._fonts.keys() # NOQA
|
||
|
|
||
|
images = os.listdir(kivymd.images_path)
|
||
|
print(images)
|
||
|
assert "folder.png" in images
|
||
|
assert "rec_shadow.atlas" in images
|
||
|
"""
|
||
|
)
|
||
|
pyi_main.run(
|
||
|
[
|
||
|
"--workpath",
|
||
|
str(workpath),
|
||
|
"--distpath",
|
||
|
str(distpath),
|
||
|
"--specpath",
|
||
|
str(tmp_path),
|
||
|
str(app),
|
||
|
]
|
||
|
)
|
||
|
subprocess.run([str(distpath / app_name / app_name)], check=True)
|
||
|
|
||
|
|
||
|
def test_widgets(tmp_path) -> None:
|
||
|
"""Test that all widgets are accesible."""
|
||
|
|
||
|
app_name = "userapp"
|
||
|
workpath = tmp_path / "build"
|
||
|
distpath = tmp_path / "dist"
|
||
|
app = tmp_path / (app_name + ".py")
|
||
|
app.write_text(
|
||
|
"""
|
||
|
import os
|
||
|
|
||
|
import kivymd # NOQA
|
||
|
__import__("kivymd.uix.label")
|
||
|
__import__("kivymd.uix.button")
|
||
|
__import__("kivymd.uix.list")
|
||
|
__import__("kivymd.uix.navigationdrawer")
|
||
|
|
||
|
print(os.listdir(os.path.dirname(kivymd.uix.__path__[0])))
|
||
|
"""
|
||
|
)
|
||
|
pyi_main.run(
|
||
|
[
|
||
|
"--workpath",
|
||
|
str(workpath),
|
||
|
"--distpath",
|
||
|
str(distpath),
|
||
|
"--specpath",
|
||
|
str(tmp_path),
|
||
|
str(app),
|
||
|
]
|
||
|
)
|
||
|
subprocess.run([str(distpath / app_name / app_name)], check=True)
|