build/pymake/tests/subprocess-path.mk
author Simon Sapin <simon.sapin@exyr.org>
Tue, 06 Jun 2017 08:13:39 -0700
changeset 1150023 c6508a9f0fb5f1648b37f299be7f3e481cb26c31
parent 103122 21a815b9f4c73757abcdc6ddc1415e5333cfea9c
permissions -rw-r--r--
servo: Merge #17185 - Fix some "unused" warnings (from servo:unused); r=emilio Source-Repo: https://github.com/servo/servo Source-Revision: 87005a0df33531995635728989c929572de429e7

#T gmake skip
#T grep-for: "2f7cdd0b-7277-48c1-beaf-56cb0dbacb24"

ifdef __WIN32__
PS:=;
else
PS:=:
endif

export PATH := $(TESTPATH)/pathdir$(PS)$(PATH)

# Test two commands. The first one shouldn't go through the shell and the
# second one should. The pathdir subdirectory has a Windows executable called
# pathtest.exe and a shell script called pathtest. We don't care which one is
# run, just that one of the two is (we use a uuid + grep-for to make sure
# that happens).
#
# FAQ:
# Q. Why skip GNU Make?
# A. Because $(TESTPATH) is a Windows-style path, and MSYS make doesn't take
#    too kindly to Windows paths in the PATH environment variable.
#
# Q. Why use an exe and not a batch file?
# A. The use cases here were all exe files without the extension. Batch file
#    lookup has broken semantics if the .bat extension isn't passed.
#
# Q. Why are the commands silent?
# A. So that we don't pass the grep-for test by mistake.
all:
	@pathtest
	@pathtest | grep -q 2f7cdd0b-7277-48c1-beaf-56cb0dbacb24
	@echo TEST-PASS