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.
0.64
Eli Schwartz 2 years ago committed by Nirbheek Chauhan
parent e69d922408
commit d2bcb6e06f
  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