tests: make the command tests work when python is not the one in the shebang

We test a couple ways of running the meson command, and double check
that the debug logs record the meson command used (including python).
But when running the meson command as an executable instead of as a
python script, we see whichever version `env` in the shebang sees.

Fix this by mocking the python command as well.
pull/11066/head
Eli Schwartz 2 years ago
parent 174e05d0f6
commit 908a78dbc2
No known key found for this signature in database
GPG Key ID: CEB167EFB5722BD6
  1. 6
      run_meson_command_tests.py

@ -132,13 +132,17 @@ class CommandTests(unittest.TestCase):
bindir = (self.tmpdir / 'bin')
bindir.mkdir()
(bindir / 'meson').symlink_to(self.src_root / 'meson.py')
(bindir / 'python3').symlink_to(python_command[0])
os.environ['PATH'] = str(bindir) + os.pathsep + os.environ['PATH']
# use our overridden PATH-compatible python
path_resolved_meson_command = resolved_meson_command.copy()
path_resolved_meson_command[0] = str(bindir / 'python3')
# See if it works!
meson_py = 'meson'
meson_setup = [meson_py, 'setup']
meson_command = meson_setup + self.meson_args
stdo = self._run(meson_command + [self.testdir, builddir])
self.assertMesonCommandIs(stdo.split('\n')[0], resolved_meson_command)
self.assertMesonCommandIs(stdo.split('\n')[0], path_resolved_meson_command)
def test_meson_installed(self):
# Install meson

Loading…
Cancel
Save