MCPcopy Create free account
hub / github.com/checkmake/checkmake / TestParse_OtherVariableAssignments

Function TestParse_OtherVariableAssignments

parser/parser_test.go:278–310  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

276}
277
278func TestParse_OtherVariableAssignments(t *testing.T) {
279 t.Parallel()
280 makefile := `
281CONDITIONAL ?= default-value
282SHELL_VAR != shell command
283APPEND_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
312func TestParse_VariableLikeRuleIsNotRule(t *testing.T) {
313 t.Parallel()

Callers

nothing calls this directly

Calls 2

writeTempMakefileFunction · 0.85
ParseFunction · 0.85

Tested by

no test coverage detected