Skip to content

Commit

Permalink
meson.py: Always resolve full path to meson.py
Browse files Browse the repository at this point in the history
There is no reason to not always do this. Without this, we end up with
a relative path to meson.py in build.ninja files when meson.py is
launched using subprocess.Popen and friends from the meson source root.

This was causing the unittests to intermittently fail when regen was
getting invoked by the pic test. Funnily enough, this only happened when
run via ./run_tests.py because __file__ was 'run_unittests.py' in that
(as opposed to './run_unittests.py') case which made
os.path.dirname(__file__) be '', and the os.path.split test in meson.py
thought that meson.py was invoked via PATH.
  • Loading branch information
nirbheek committed Oct 12, 2016
1 parent a513bcf commit 69ca8f5
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions meson.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@
import sys, os

def main():
launcher = sys.argv[0]
# resolve the command path if not launched from $PATH
if os.path.split(launcher)[0]:
launcher = os.path.realpath(launcher)
# Always resolve the command path so Ninja can find it for regen, tests, etc.
launcher = os.path.realpath(sys.argv[0])
return mesonmain.run(launcher, sys.argv[1:])

if __name__ == '__main__':
Expand Down

0 comments on commit 69ca8f5

Please sign in to comment.