(t *testing.T)
| 276 | } |
| 277 | |
| 278 | func TestParse_OtherVariableAssignments(t *testing.T) { |
| 279 | t.Parallel() |
| 280 | makefile := ` |
| 281 | CONDITIONAL ?= default-value |
| 282 | SHELL_VAR != shell command |
| 283 | APPEND_VAR += more stuff |
| 284 | ` |
| 285 | tmp := writeTempMakefile(t, makefile) |
| 286 | defer os.Remove(tmp) |
| 287 | |
| 288 | ret, err := Parse(tmp) |
| 289 | require.NoError(t, err) |
| 290 | |
| 291 | vars := make(map[string]Variable) |
| 292 | for _, v := range ret.Variables { |
| 293 | vars[v.Name] = v |
| 294 | } |
| 295 | |
| 296 | condVar, ok := vars["CONDITIONAL"] |
| 297 | require.True(t, ok) |
| 298 | assert.Equal(t, "default-value", condVar.Assignment) |
| 299 | assert.False(t, condVar.SimplyExpanded, "?= should be recursive (false)") |
| 300 | |
| 301 | shellVar, ok := vars["SHELL_VAR"] |
| 302 | require.True(t, ok) |
| 303 | assert.Equal(t, "shell command", shellVar.Assignment) |
| 304 | assert.True(t, shellVar.SimplyExpanded, "!= should be simple (true)") |
| 305 | |
| 306 | appendVar, ok := vars["APPEND_VAR"] |
| 307 | require.True(t, ok) |
| 308 | assert.Equal(t, "more stuff", appendVar.Assignment) |
| 309 | assert.False(t, appendVar.SimplyExpanded, "+= should default to recursive (false)") |
| 310 | } |
| 311 | |
| 312 | func TestParse_VariableLikeRuleIsNotRule(t *testing.T) { |
| 313 | t.Parallel() |
nothing calls this directly
no test coverage detected