import shutil
import subprocess
import sys
import unittest


class LocalToolchainTest(unittest.TestCase):
    maxDiff = None

    def test_python_from_path_used(self):
        shell_path = shutil.which("python3")

        # We call the interpreter and print its executable because of
        # things like pyenv: they install a shim that re-execs python.
        # The shim is e.g. /home/user/.pyenv/shims/python3, which then
        # runs e.g. /usr/bin/python3
        expected = subprocess.check_output(
            [shell_path, "-c", "import sys; print(sys.executable)"],
            text=True,
        )
        expected = expected.strip()
        self.assertEqual(expected, sys.executable)


if __name__ == "__main__":
    unittest.main()
