tests: Add unit test for `Freezer.generateRuntimeFromStub`
This commit is contained in:
parent
bf456baa35
commit
f24a18f45e
|
|
@ -1,4 +1,6 @@
|
|||
from direct.dist.FreezeTool import Freezer, PandaModuleFinder
|
||||
import pytest
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
|
|
@ -62,3 +64,35 @@ def test_Freezer_getModulePath_getModuleStar(tmp_path):
|
|||
assert freezer.getModuleStar("module3") == ['test']
|
||||
finally:
|
||||
sys.path = backup
|
||||
|
||||
|
||||
@pytest.mark.parametrize("use_console", (False, True))
|
||||
def test_Freezer_generateRuntimeFromStub(tmp_path, use_console):
|
||||
try:
|
||||
# If installed as a wheel
|
||||
import panda3d_tools
|
||||
bin_dir = os.path.dirname(panda3d_tools.__file__)
|
||||
except:
|
||||
import panda3d
|
||||
bin_dir = os.path.join(os.path.dirname(os.path.dirname(panda3d.__file__)), 'bin')
|
||||
|
||||
if sys.platform == 'win32':
|
||||
suffix = '.exe'
|
||||
else:
|
||||
suffix = ''
|
||||
|
||||
if not use_console:
|
||||
stub_file = os.path.join(bin_dir, 'deploy-stubw' + suffix)
|
||||
|
||||
if use_console or not os.path.isfile(stub_file):
|
||||
stub_file = os.path.join(bin_dir, 'deploy-stub' + suffix)
|
||||
|
||||
if not os.path.isfile(stub_file):
|
||||
pytest.skip("Unable to find deploy-stub executable")
|
||||
|
||||
target = str(tmp_path / 'stubtest')
|
||||
|
||||
freezer = Freezer()
|
||||
freezer.addModule('__main__', 'main.py', text='print("Hello world")')
|
||||
freezer.done(addStartupModules=True)
|
||||
freezer.generateRuntimeFromStub(target, open(stub_file, 'rb'), use_console)
|
||||
|
|
|
|||
Loading…
Reference in New Issue