version 1.7, 2019/12/08 22:03:38 |
version 1.8, 2019/12/09 20:38:16 |
Line 146 func (s *Suite) Test_MkLineParser_parseV |
|
Line 146 func (s *Suite) Test_MkLineParser_parseV |
|
"WARN: rubyversion.mk:427: Makefile lines should not start with space characters.") |
"WARN: rubyversion.mk:427: Makefile lines should not start with space characters.") |
} |
} |
|
|
func (s *Suite) Test_MkLineParser_parseVarassign__space_around_operator(c *check.C) { |
|
t := s.Init(c) |
|
|
|
t.SetUpCommandLine("--show-autofix", "--source") |
|
t.NewMkLine("test.mk", 101, |
|
"pkgbase = package") |
|
|
|
t.CheckOutputLines( |
|
"NOTE: test.mk:101: Unnecessary space after variable name \"pkgbase\".", |
|
"AUTOFIX: test.mk:101: Replacing \"pkgbase =\" with \"pkgbase=\".", |
|
"-\tpkgbase = package", |
|
"+\tpkgbase= package") |
|
} |
|
|
|
func (s *Suite) Test_MkLineParser_parseVarassign__autofix_space_after_varname(c *check.C) { |
|
t := s.Init(c) |
|
|
|
filename := t.CreateFileLines("Makefile", |
|
MkCvsID, |
|
"VARNAME +=\t${VARNAME}", |
|
"VARNAME+ =\t${VARNAME+}", |
|
"VARNAME+ +=\t${VARNAME+}", |
|
"VARNAME+ ?=\t${VARNAME}", |
|
"pkgbase := pkglint") |
|
|
|
CheckFileMk(filename) |
|
|
|
t.CheckOutputLines( |
|
"NOTE: ~/Makefile:2: Unnecessary space after variable name \"VARNAME\".", |
|
|
|
// The assignment operators other than = and += cannot lead to ambiguities. |
|
"NOTE: ~/Makefile:5: Unnecessary space after variable name \"VARNAME+\".", |
|
|
|
"WARN: ~/Makefile:5: "+ |
|
"Please include \"../../mk/bsd.prefs.mk\" before using \"?=\".") |
|
|
|
t.SetUpCommandLine("-Wall", "--autofix") |
|
|
|
CheckFileMk(filename) |
|
|
|
t.CheckOutputLines( |
|
"AUTOFIX: ~/Makefile:2: Replacing \"VARNAME +=\" with \"VARNAME+=\".", |
|
"AUTOFIX: ~/Makefile:5: Replacing \"VARNAME+ ?=\" with \"VARNAME+?=\".") |
|
t.CheckFileLines("Makefile", |
|
MkCvsID+"", |
|
"VARNAME+=\t${VARNAME}", |
|
"VARNAME+ =\t${VARNAME+}", |
|
"VARNAME+ +=\t${VARNAME+}", |
|
"VARNAME+?=\t${VARNAME}", |
|
"pkgbase := pkglint") |
|
} |
|
|
|
func (s *Suite) Test_MkLineParser_parseVarassign__append(c *check.C) { |
func (s *Suite) Test_MkLineParser_parseVarassign__append(c *check.C) { |
t := s.Init(c) |
t := s.Init(c) |
|
|
Line 458 func (s *Suite) Test_MkLineParser_MatchV |
|
Line 406 func (s *Suite) Test_MkLineParser_MatchV |
|
"") |
"") |
} |
} |
|
|
|
func (s *Suite) Test_MkLineParser_fixSpaceAfterVarname__show_autofix(c *check.C) { |
|
t := s.Init(c) |
|
|
|
t.SetUpCommandLine("--show-autofix", "--source") |
|
t.NewMkLine("test.mk", 101, |
|
"pkgbase = package") |
|
|
|
t.CheckOutputLines( |
|
"NOTE: test.mk:101: Unnecessary space after variable name \"pkgbase\".", |
|
"AUTOFIX: test.mk:101: Replacing \"pkgbase = \" with \"pkgbase= \".", |
|
"-\tpkgbase = package", |
|
"+\tpkgbase= package") |
|
} |
|
|
|
func (s *Suite) Test_MkLineParser_fixSpaceAfterVarname__autofix(c *check.C) { |
|
t := s.Init(c) |
|
|
|
filename := t.CreateFileLines("Makefile", |
|
MkCvsID, |
|
"VARNAME +=\t${VARNAME}", |
|
"VARNAME+ =\t${VARNAME+}", |
|
"VARNAME+ +=\t${VARNAME+}", |
|
"VARNAME+ ?=\t${VARNAME}", |
|
"pkgbase := pkglint") |
|
|
|
CheckFileMk(filename) |
|
|
|
t.CheckOutputLines( |
|
"NOTE: ~/Makefile:2: Unnecessary space after variable name \"VARNAME\".", |
|
|
|
// The assignment operators other than = and += cannot lead to ambiguities. |
|
"NOTE: ~/Makefile:5: Unnecessary space after variable name \"VARNAME+\".", |
|
|
|
"WARN: ~/Makefile:5: "+ |
|
"Please include \"../../mk/bsd.prefs.mk\" before using \"?=\".") |
|
|
|
t.SetUpCommandLine("-Wall", "--autofix") |
|
|
|
CheckFileMk(filename) |
|
|
|
t.CheckOutputLines( |
|
"AUTOFIX: ~/Makefile:2: Replacing \"VARNAME +=\\t\" with \"VARNAME+=\\t\".", |
|
"AUTOFIX: ~/Makefile:5: Replacing \"VARNAME+ ?=\\t\" with \"VARNAME+?=\\t\".") |
|
t.CheckFileLines("Makefile", |
|
MkCvsID+"", |
|
"VARNAME+=\t${VARNAME}", |
|
"VARNAME+ =\t${VARNAME+}", |
|
"VARNAME+ +=\t${VARNAME+}", |
|
"VARNAME+?=\t${VARNAME}", |
|
"pkgbase := pkglint") |
|
} |
|
|
|
func (s *Suite) Test_MkLineParser_fixSpaceAfterVarname__preserve_alignment(c *check.C) { |
|
t := s.Init(c) |
|
|
|
t.SetUpCommandLine("--show-autofix") |
|
|
|
test := func(before, after string, diagnostics ...string) { |
|
|
|
doTest := func(autofix bool) { |
|
mkline := t.NewMkLine("filename.mk", 123, before) |
|
t.CheckEquals(mkline.Text, condStr(autofix, after, before)) |
|
} |
|
|
|
t.ExpectDiagnosticsAutofix(doTest, diagnostics...) |
|
} |
|
|
|
test( |
|
"V += ${VARNAME}", |
|
"V+=\t\t${VARNAME}", |
|
|
|
"NOTE: filename.mk:123: Unnecessary space after variable name \"V\".", |
|
"AUTOFIX: filename.mk:123: Replacing \"V += \" with \"V+=\\t\\t\".") |
|
|
|
test( |
|
"V += ${VARNAME}", |
|
"V+=\t ${VARNAME}", |
|
|
|
"NOTE: filename.mk:123: Unnecessary space after variable name \"V\".", |
|
"AUTOFIX: filename.mk:123: Replacing \"V += \" with \"V+=\\t \".") |
|
} |
|
|
func (s *Suite) Test_MkLineParser_parseShellcmd(c *check.C) { |
func (s *Suite) Test_MkLineParser_parseShellcmd(c *check.C) { |
t := s.Init(c) |
t := s.Init(c) |
|
|