aboutsummaryrefslogtreecommitdiff
path: root/run_meson_command_tests.py
diff options
context:
space:
mode:
authorChristoph Burger-Scheidlin <7289824+cburger-scheidlin@users.noreply.github.com>2018-08-03 15:17:21 +0200
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-08-07 03:55:35 -0700
commite4a83e47d4402d6fede8b284f079529fb78c2cbb (patch)
tree4245b25bd6156a1604267264d6c44ab3a8c1604d /run_meson_command_tests.py
parentc9aea4e11c648f1051454132626bcb4aef976d6d (diff)
downloadmeson-e4a83e47d4402d6fede8b284f079529fb78c2cbb.zip
meson-e4a83e47d4402d6fede8b284f079529fb78c2cbb.tar.gz
meson-e4a83e47d4402d6fede8b284f079529fb78c2cbb.tar.bz2
Fix __main__.py for zipapp to work
0a035de removed main from meson.py breaking the call from __main__.py. This causes zipapps to fail, since the call to meson.main() fails. Copying the invocation from meson.py fixes this issue. Additionally, add a test to run_meson_command_tests.py that builds a zipapp from the source and attempts executing this zipapp with --help to ensure that the resulting zipapp is properly executable.
Diffstat (limited to 'run_meson_command_tests.py')
-rwxr-xr-xrun_meson_command_tests.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/run_meson_command_tests.py b/run_meson_command_tests.py
index 6efd911..cd220de 100755
--- a/run_meson_command_tests.py
+++ b/run_meson_command_tests.py
@@ -18,6 +18,7 @@ import os
import tempfile
import unittest
import subprocess
+import zipapp
from pathlib import Path
from mesonbuild.mesonlib import windows_proof_rmtree, python_command, is_windows
@@ -182,5 +183,13 @@ class CommandTests(unittest.TestCase):
def test_meson_exe_windows(self):
raise unittest.SkipTest('NOT IMPLEMENTED')
+ def test_meson_zipapp(self):
+ if is_windows():
+ raise unittest.SkipTest('NOT IMPLEMENTED')
+ source = Path(__file__).resolve().parent.as_posix()
+ target = self.tmpdir / 'meson.pyz'
+ zipapp.create_archive(source=source, target=target, interpreter=python_command[0], main=None)
+ self._run([target.as_posix(), '--help'])
+
if __name__ == '__main__':
unittest.main(buffer=True)