(t *testing.T)
| 310 | } |
| 311 | |
| 312 | func TestParse_VariableLikeRuleIsNotRule(t *testing.T) { |
| 313 | t.Parallel() |
| 314 | makefile := ` |
| 315 | EXTENSION := .exe |
| 316 | VAR ?= foo |
| 317 | APPEND += bar |
| 318 | SHELL != echo hi |
| 319 | ` |
| 320 | tmp := writeTempMakefile(t, makefile) |
| 321 | defer os.Remove(tmp) |
| 322 | |
| 323 | ret, err := Parse(tmp) |
| 324 | require.NoError(t, err) |
| 325 | |
| 326 | assert.Empty(t, ret.Rules, "variable assignments with ':=' or similar should not create rules") |
| 327 | |
| 328 | varNames := make([]string, len(ret.Variables)) |
| 329 | for i, v := range ret.Variables { |
| 330 | varNames[i] = v.Name |
| 331 | } |
| 332 | |
| 333 | assert.Contains(t, varNames, "EXTENSION") |
| 334 | assert.Contains(t, varNames, "VAR") |
| 335 | assert.Contains(t, varNames, "APPEND") |
| 336 | assert.Contains(t, varNames, "SHELL") |
| 337 | } |
nothing calls this directly
no test coverage detected