]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/bmake/unit-tests/cond1
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / bmake / unit-tests / cond1
1 # $Id: cond1,v 1.1.1.3 2011/03/06 00:04:58 sjg Exp $
2
3 # hard code these!
4 TEST_UNAME_S= NetBSD
5 TEST_UNAME_M= sparc
6 TEST_MACHINE= i386
7
8 .if ${TEST_UNAME_S}
9 Ok=var,
10 .endif
11 .if ("${TEST_UNAME_S}")
12 Ok+=(\"var\"),
13 .endif
14 .if (${TEST_UNAME_M} != ${TEST_MACHINE})
15 Ok+=(var != var),
16 .endif
17 .if ${TEST_UNAME_M} != ${TEST_MACHINE}
18 Ok+= var != var,
19 .endif
20 .if !((${TEST_UNAME_M} != ${TEST_MACHINE}) && defined(X))
21 Ok+= !((var != var) && defined(name)),
22 .endif
23 # from bsd.obj.mk
24 MKOBJ?=no
25 .if ${MKOBJ} == "no"
26 o= no
27 Ok+= var == "quoted",
28 .else
29 .if defined(notMAKEOBJDIRPREFIX) || defined(norMAKEOBJDIR)
30 .if defined(notMAKEOBJDIRPREFIX)
31 o=${MAKEOBJDIRPREFIX}${__curdir}
32 .else
33 o= ${MAKEOBJDIR}
34 .endif
35 .endif
36 o= o
37 .endif
38
39 # repeat the above to check we get the same result
40 .if ${MKOBJ} == "no"
41 o2= no
42 .else
43 .if defined(notMAKEOBJDIRPREFIX) || defined(norMAKEOBJDIR)
44 .if defined(notMAKEOBJDIRPREFIX)
45 o2=${MAKEOBJDIRPREFIX}${__curdir}
46 .else
47 o2= ${MAKEOBJDIR}
48 .endif
49 .endif
50 o2= o
51 .endif
52
53 PRIMES=2 3 5 7 11
54 NUMBERS=1 2 3 4 5
55
56 n=2
57 .if ${PRIMES:M$n} == ""
58 X=not
59 .else
60 X=
61 .endif
62
63 .if ${MACHINE_ARCH} == no-such
64 A=one
65 .else
66 .if ${MACHINE_ARCH} == not-this
67 .if ${MACHINE_ARCH} == something-else
68 A=unlikely
69 .else
70 A=no
71 .endif
72 .endif
73 A=other
74 # We expect an extra else warning - we're not skipping here
75 .else
76 A=this should be an error
77 .endif
78
79 .if $X != ""
80 .if $X == not
81 B=one
82 .else
83 B=other
84 # We expect an extra else warning - we are skipping here
85 .else
86 B=this should be an error
87 .endif
88 .else
89 B=unknown
90 .endif
91
92 .if "quoted" == quoted
93 C=clever
94 .else
95 C=dim
96 .endif
97
98 .if defined(nosuch) && ${nosuch:Mx} != ""
99 # this should not happen
100 .info nosuch is x
101 .endif
102
103 all:
104         @echo "$n is $X prime"
105         @echo "A='$A' B='$B' C='$C' o='$o,${o2}'"
106         @echo "Passed:${.newline} ${Ok:S/,/${.newline}/}"
107         @echo "${NUMBERS:@n@$n is ${("${PRIMES:M$n}" == ""):?not:} prime${.newline}@}"
108         @echo "${"${DoNotQuoteHere:U0}" > 0:?OK:No}"
109         @echo "${${NoSuchNumber:U42} > 0:?OK:No}"