Home | History | Annotate | Line # | Download | only in unit-tests
      1 # $NetBSD: varname-dot-path.mk,v 1.3 2020/10/02 18:46:54 rillig Exp $
      2 #
      3 # Tests for the special .PATH variable, which TODO: describe the purpose.
      4 
      5 _!=	mkdir -p varname-dot-path.d
      6 
      7 # By default, .PATH consists of "." and .CURDIR.
      8 # XXX: Why both? Shouldn't they have the same effect?
      9 .if ${.PATH} != ". ${.CURDIR}"
     10 .  error ${.PATH}
     11 .endif
     12 
     13 # The special target .PATH adds a directory to the path.
     14 .PATH: /
     15 .if ${.PATH} != ". ${.CURDIR} /"
     16 .  error ${.PATH}
     17 .endif
     18 
     19 # Only existing directories are added to the path, the others are ignored.
     20 .PATH: /nonexistent
     21 .if ${.PATH} != ". ${.CURDIR} /"
     22 .  error ${.PATH}
     23 .endif
     24 
     25 # Only directories are added to the path, not regular files.
     26 .PATH: ${.PARSEDIR}/${.PARSEFILE}
     27 .if ${.PATH} != ". ${.CURDIR} /"
     28 .  error ${.PATH}
     29 .endif
     30 
     31 # Relative directories can be added as well.
     32 # Each directory is only added once to the path.
     33 .PATH: varname-dot-path.d /
     34 .if ${.PATH} != ". ${.CURDIR} / varname-dot-path.d"
     35 .  error ${.PATH}
     36 .endif
     37 
     38 # The pathnames are not normalized before being added to the path.
     39 .PATH: ./.
     40 .if ${.PATH} != ". ${.CURDIR} / varname-dot-path.d ./."
     41 .  error ${.PATH}
     42 .endif
     43 
     44 # The two default entries can be placed at the back of the path,
     45 # by adding the special entry ".DOTLAST" somewhere in the path.
     46 # The entry .DOTLAST, if any, is listed in the path, always at the
     47 # very beginning, to make this magic less surprising.
     48 .PATH: .DOTLAST
     49 .if ${.PATH} != ".DOTLAST / varname-dot-path.d ./. . ${.CURDIR}"
     50 .  error ${.PATH}
     51 .endif
     52 
     53 _!=	rmdir varname-dot-path.d
     54 
     55 all:
     56 	@:;
     57