summaryrefslogtreecommitdiff
path: root/tests/Kimply
blob: 3ce346f626c3a142b8da46541b0004830598456d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
config MODULES
    def_bool y
    option modules

#
# Implied symbols with unmet and met direct dependencies
#

config IMPLY_DIRECT_DEPS
    def_tristate y
    imply UNMET_DIRECT_1
    imply UNMET_DIRECT_2
    imply UNMET_DIRECT_3
    imply MET_DIRECT_1
    imply MET_DIRECT_2
    imply MET_DIRECT_3
    imply MET_DIRECT_4

config UNMET_DIRECT_1
    tristate
    depends on n

if n
config UNMET_DIRECT_2
    tristate
endif

menu "menu"
    depends on n

config UNMET_DIRECT_3
    tristate

endmenu

config MET_DIRECT_1
    tristate

config MET_DIRECT_2
    depends on y
    tristate

if y
config MET_DIRECT_3
    tristate
endif

menu "menu"
    depends on y

config MET_DIRECT_4
    tristate

endmenu

#
# 'imply' with condition
#

config IMPLY_COND
    def_tristate y
    tristate
    imply IMPLIED_N_COND if n
    imply IMPLIED_M_COND if m
    imply IMPLIED_Y_COND if y

config IMPLIED_N_COND
    tristate

config IMPLIED_M_COND
    tristate

config IMPLIED_Y_COND
    tristate

#
# Implying from symbol with value n
#

# Will default to 'n'
config IMPLY_N_1
    tristate
    imply IMPLIED_FROM_N_1

# This test also disables the imply, so it's kinda redundant, but why not
if n
config IMPLY_N_2
    tristate
    imply IMPLIED_FROM_N_2
endif

config IMPLIED_FROM_N_1
    tristate

config IMPLIED_FROM_N_2
    tristate

#
# Implying from symbol with value m
#

config IMPLY_M
    def_tristate m
    imply IMPLIED_M
    # Implying a bool to 'm' makes it default to 'y'
    imply IMPLIED_M_BOOL

config IMPLIED_M
    tristate

config IMPLIED_M_BOOL
    bool

#
# 'imply' which should raise an 'm' default to 'y'
#

config IMPLY_M_TO_Y
    tristate
    default y
    imply IMPLIED_M_TO_Y

config IMPLIED_M_TO_Y
    tristate
    default m

#
# Used for testing user values
#

config DIRECT_DEP
    tristate "direct dep"

config IMPLY
    tristate "imply"
    imply IMPLIED_TRISTATE
    imply IMPLIED_BOOL

config IMPLIED_TRISTATE
    tristate "implied tristate"
    depends on DIRECT_DEP

config IMPLIED_BOOL
    bool "implied bool"
    depends on DIRECT_DEP