pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/pkgtools/pkglint
Module Name: pkgsrc
Committed By: rillig
Date: Tue Dec 13 00:58:07 UTC 2016
Modified Files:
pkgsrc/pkgtools/pkglint: Makefile
pkgsrc/pkgtools/pkglint/files: category_test.go check_test.go
dir_test.go distinfo.go distinfo_test.go files_test.go
globaldata.go globaldata_test.go licenses_test.go line_test.go
mkline.go mkline_test.go mklines_test.go package_test.go
patches_test.go pkglint.go pkglint_test.go plist_test.go
shell_test.go substcontext_test.go toplevel_test.go util_test.go
vardefs.go vartypecheck.go vartypecheck_test.go
Log Message:
Updated pkglint to 5.4.13.
Changes since 5.4.12:
* Added check for unintended # comments, especially in HOMEPAGE
* Added check for quotes in COMMENT
* Fixed hardcoded package versions for PHP, Python, Lua, etc.
* Code cleanup in the tests
To generate a diff of this commit:
cvs rdiff -u -r1.502 -r1.503 pkgsrc/pkgtools/pkglint/Makefile
cvs rdiff -u -r1.3 -r1.4 pkgsrc/pkgtools/pkglint/files/category_test.go \
pkgsrc/pkgtools/pkglint/files/dir_test.go
cvs rdiff -u -r1.10 -r1.11 pkgsrc/pkgtools/pkglint/files/check_test.go \
pkgsrc/pkgtools/pkglint/files/distinfo.go \
pkgsrc/pkgtools/pkglint/files/mklines_test.go
cvs rdiff -u -r1.8 -r1.9 pkgsrc/pkgtools/pkglint/files/distinfo_test.go
cvs rdiff -u -r1.7 -r1.8 pkgsrc/pkgtools/pkglint/files/files_test.go \
pkgsrc/pkgtools/pkglint/files/globaldata_test.go \
pkgsrc/pkgtools/pkglint/files/line_test.go \
pkgsrc/pkgtools/pkglint/files/pkglint_test.go
cvs rdiff -u -r1.16 -r1.17 pkgsrc/pkgtools/pkglint/files/globaldata.go
cvs rdiff -u -r1.5 -r1.6 pkgsrc/pkgtools/pkglint/files/licenses_test.go
cvs rdiff -u -r1.18 -r1.19 pkgsrc/pkgtools/pkglint/files/mkline.go \
pkgsrc/pkgtools/pkglint/files/vardefs.go
cvs rdiff -u -r1.19 -r1.20 pkgsrc/pkgtools/pkglint/files/mkline_test.go
cvs rdiff -u -r1.11 -r1.12 pkgsrc/pkgtools/pkglint/files/package_test.go \
pkgsrc/pkgtools/pkglint/files/plist_test.go
cvs rdiff -u -r1.6 -r1.7 pkgsrc/pkgtools/pkglint/files/patches_test.go \
pkgsrc/pkgtools/pkglint/files/substcontext_test.go \
pkgsrc/pkgtools/pkglint/files/util_test.go
cvs rdiff -u -r1.15 -r1.16 pkgsrc/pkgtools/pkglint/files/pkglint.go
cvs rdiff -u -r1.12 -r1.13 pkgsrc/pkgtools/pkglint/files/shell_test.go
cvs rdiff -u -r1.4 -r1.5 pkgsrc/pkgtools/pkglint/files/toplevel_test.go
cvs rdiff -u -r1.20 -r1.21 pkgsrc/pkgtools/pkglint/files/vartypecheck.go
cvs rdiff -u -r1.14 -r1.15 pkgsrc/pkgtools/pkglint/files/vartypecheck_test.go
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/pkgtools/pkglint/Makefile
diff -u pkgsrc/pkgtools/pkglint/Makefile:1.502 pkgsrc/pkgtools/pkglint/Makefile:1.503
--- pkgsrc/pkgtools/pkglint/Makefile:1.502 Sun Dec 4 16:30:00 2016
+++ pkgsrc/pkgtools/pkglint/Makefile Tue Dec 13 00:58:06 2016
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.502 2016/12/04 16:30:00 bsiegert Exp $
+# $NetBSD: Makefile,v 1.503 2016/12/13 00:58:06 rillig Exp $
-PKGNAME= pkglint-5.4.12
-PKGREVISION= 1
+PKGNAME= pkglint-5.4.13
DISTFILES= # none
CATEGORIES= pkgtools
Index: pkgsrc/pkgtools/pkglint/files/category_test.go
diff -u pkgsrc/pkgtools/pkglint/files/category_test.go:1.3 pkgsrc/pkgtools/pkglint/files/category_test.go:1.4
--- pkgsrc/pkgtools/pkglint/files/category_test.go:1.3 Sat Jul 9 09:43:48 2016
+++ pkgsrc/pkgtools/pkglint/files/category_test.go Tue Dec 13 00:58:07 2016
@@ -5,8 +5,9 @@ import (
)
func (s *Suite) Test_CheckdirCategory_totally_broken(c *check.C) {
+ s.Init(c)
G.globalData.InitVartypes()
- s.CreateTmpFile(c, "archivers/Makefile", ""+
+ s.CreateTmpFile("archivers/Makefile", ""+
"# $\n"+
"SUBDIR+=pkg1\n"+
"SUBDIR+=\u0020aaaaa\n"+
@@ -34,16 +35,17 @@ func (s *Suite) Test_CheckdirCategory_to
}
func (s *Suite) Test_CheckdirCategory_invalid_comment(c *check.C) {
+ s.Init(c)
G.globalData.InitVartypes()
- s.CreateTmpFile(c, "archivers/Makefile", ""+
+ s.CreateTmpFile("archivers/Makefile", ""+
"# $"+"NetBSD$\n"+
"COMMENT=\t\\Make $$$$ fast\"\n"+
"\n"+
"SUBDIR+=\tpackage\n"+
"\n"+
".include \"../mk/misc/category.mk\"\n")
- s.CreateTmpFile(c, "archivers/package/Makefile", "# dummy\n")
- s.CreateTmpFile(c, "mk/misc/category.mk", "# dummy\n")
+ s.CreateTmpFile("archivers/package/Makefile", "# dummy\n")
+ s.CreateTmpFile("mk/misc/category.mk", "# dummy\n")
G.CurrentDir = s.tmpdir + "/archivers"
G.CurPkgsrcdir = ".."
Index: pkgsrc/pkgtools/pkglint/files/dir_test.go
diff -u pkgsrc/pkgtools/pkglint/files/dir_test.go:1.3 pkgsrc/pkgtools/pkglint/files/dir_test.go:1.4
--- pkgsrc/pkgtools/pkglint/files/dir_test.go:1.3 Sat Jul 9 09:43:48 2016
+++ pkgsrc/pkgtools/pkglint/files/dir_test.go Tue Dec 13 00:58:07 2016
@@ -5,7 +5,8 @@ import (
)
func (s *Suite) Test_CheckDirent_outside(c *check.C) {
- s.CreateTmpFile(c, "empty", "")
+ s.Init(c)
+ s.CreateTmpFile("empty", "")
CheckDirent(s.tmpdir)
@@ -13,10 +14,11 @@ func (s *Suite) Test_CheckDirent_outside
}
func (s *Suite) Test_CheckDirent(c *check.C) {
- s.CreateTmpFile(c, "mk/bsd.pkg.mk", "")
- s.CreateTmpFile(c, "category/package/Makefile", "")
- s.CreateTmpFile(c, "category/Makefile", "")
- s.CreateTmpFile(c, "Makefile", "")
+ s.Init(c)
+ s.CreateTmpFile("mk/bsd.pkg.mk", "")
+ s.CreateTmpFile("category/package/Makefile", "")
+ s.CreateTmpFile("category/Makefile", "")
+ s.CreateTmpFile("Makefile", "")
G.globalData.Pkgsrcdir = s.tmpdir
CheckDirent(s.tmpdir)
Index: pkgsrc/pkgtools/pkglint/files/check_test.go
diff -u pkgsrc/pkgtools/pkglint/files/check_test.go:1.10 pkgsrc/pkgtools/pkglint/files/check_test.go:1.11
--- pkgsrc/pkgtools/pkglint/files/check_test.go:1.10 Thu Jul 7 12:09:27 2016
+++ pkgsrc/pkgtools/pkglint/files/check_test.go Tue Dec 13 00:58:07 2016
@@ -20,6 +20,23 @@ type Suite struct {
stdout bytes.Buffer
stderr bytes.Buffer
tmpdir string
+ checkC *check.C
+}
+
+// Init initializes the suite with the check.C instance for the actual
+// test run. See https://github.com/go-check/check/issues/22
+func (s *Suite) Init(c *check.C) {
+ if s.checkC != nil {
+ panic("Suite.Init must only be called once.")
+ }
+ s.checkC = c
+}
+
+func (s *Suite) c() *check.C {
+ if s.checkC == nil {
+ panic("Must call Suite.Init before accessing check.C.")
+ }
+ return s.checkC
}
func (s *Suite) Stdout() string {
@@ -87,10 +104,10 @@ func (s *Suite) EndDebugToStdout() {
G.opts.Debug = false
}
-func (s *Suite) UseCommandLine(c *check.C, args ...string) {
+func (s *Suite) UseCommandLine(args ...string) {
exitcode := new(Pkglint).ParseCommandLine(append([]string{"pkglint"}, args...))
if exitcode != nil && *exitcode != 0 {
- c.Fatalf("Cannot parse command line: %#v", args)
+ s.c().Fatalf("Cannot parse command line: %#v", args)
}
G.opts.LogVerbose = true // See SetUpTest
}
@@ -123,11 +140,9 @@ func (s *Suite) RegisterTool(tool *Tool)
}
}
-func (s *Suite) CreateTmpFile(c *check.C, relFname, content string) (absFname string) {
- if s.tmpdir == "" {
- s.tmpdir = filepath.ToSlash(c.MkDir())
- }
- absFname = s.tmpdir + "/" + relFname
+func (s *Suite) CreateTmpFile(relFname, content string) (absFname string) {
+ c := s.c()
+ absFname = s.TmpDir() + "/" + relFname
err := os.MkdirAll(path.Dir(absFname), 0777)
c.Assert(err, check.IsNil)
@@ -136,20 +151,28 @@ func (s *Suite) CreateTmpFile(c *check.C
return
}
-func (s *Suite) CreateTmpFileLines(c *check.C, relFname string, rawTexts ...string) (absFname string) {
+func (s *Suite) CreateTmpFileLines(relFname string, rawTexts ...string) (absFname string) {
text := ""
for _, rawText := range rawTexts {
text += rawText + "\n"
}
- return s.CreateTmpFile(c, relFname, text)
+ return s.CreateTmpFile(relFname, text)
}
-func (s *Suite) LoadTmpFile(c *check.C, relFname string) string {
- bytes, err := ioutil.ReadFile(s.tmpdir + "/" + relFname)
+func (s *Suite) LoadTmpFile(relFname string) (absFname string) {
+ c := s.c()
+ bytes, err := ioutil.ReadFile(s.TmpDir() + "/" + relFname)
c.Assert(err, check.IsNil)
return string(bytes)
}
+func (s *Suite) TmpDir() string {
+ if s.tmpdir == "" {
+ s.tmpdir = filepath.ToSlash(s.c().MkDir())
+ }
+ return s.tmpdir
+}
+
func (s *Suite) ExpectFatalError(action func()) {
if r := recover(); r != nil {
if _, ok := r.(pkglintFatal); ok {
@@ -163,7 +186,9 @@ func (s *Suite) ExpectFatalError(action
func (s *Suite) SetUpTest(c *check.C) {
G = GlobalVars{Testing: true}
G.logOut, G.logErr, G.debugOut = &s.stdout, &s.stderr, &s.stdout
- s.UseCommandLine(c /* no arguments */)
+ s.checkC = c
+ s.UseCommandLine( /* no arguments */ )
+ s.checkC = nil
G.opts.LogVerbose = true // To detect duplicate work being done
}
Index: pkgsrc/pkgtools/pkglint/files/distinfo.go
diff -u pkgsrc/pkgtools/pkglint/files/distinfo.go:1.10 pkgsrc/pkgtools/pkglint/files/distinfo.go:1.11
--- pkgsrc/pkgtools/pkglint/files/distinfo.go:1.10 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/distinfo.go Tue Dec 13 00:58:07 2016
@@ -14,10 +14,16 @@ func ChecklinesDistinfo(lines []*Line) {
}
fname := lines[0].Fname
- var patchesDir = "patches"
- if G.Pkg != nil && hasSuffix(fname, "/lang/php56/distinfo") {
- patchesDir = G.CurPkgsrcdir + "/lang/php56/patches"
- } else if G.Pkg != nil && dirExists(G.CurrentDir+"/"+G.Pkg.Patchdir) {
+ patchesDir := "patches"
+ patchesDirSet := false
+ if G.Pkg != nil && contains(fname, "lang/php") {
+ phpdir := G.globalData.Latest("lang", `^php[0-9]+$`, "/lang/$0")
+ if hasSuffix(fname, phpdir+"/distinfo") {
+ patchesDir = G.CurPkgsrcdir + phpdir + "/patches"
+ patchesDirSet = true
+ }
+ }
+ if G.Pkg != nil && !patchesDirSet && dirExists(G.CurrentDir+"/"+G.Pkg.Patchdir) {
patchesDir = G.Pkg.Patchdir
}
if G.opts.Debug {
Index: pkgsrc/pkgtools/pkglint/files/mklines_test.go
diff -u pkgsrc/pkgtools/pkglint/files/mklines_test.go:1.10 pkgsrc/pkgtools/pkglint/files/mklines_test.go:1.11
--- pkgsrc/pkgtools/pkglint/files/mklines_test.go:1.10 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/mklines_test.go Tue Dec 13 00:58:07 2016
@@ -7,8 +7,9 @@ import (
const mkrcsid = "# $" + "NetBSD$"
func (s *Suite) Test_MkLines_Check__autofix_conditional_indentation(c *check.C) {
- s.UseCommandLine(c, "--autofix", "-Wspace")
- tmpfile := s.CreateTmpFile(c, "fname.mk", "")
+ s.Init(c)
+ s.UseCommandLine("--autofix", "-Wspace")
+ tmpfile := s.CreateTmpFile("fname.mk", "")
mklines := s.NewMkLines(tmpfile,
mkrcsid,
".if defined(A)",
@@ -26,7 +27,7 @@ func (s *Suite) Test_MkLines_Check__auto
"AUTOFIX: ~/fname.mk:5: Replacing \".\" with \". \".\n"+
"AUTOFIX: ~/fname.mk:6: Replacing \".\" with \". \".\n"+
"AUTOFIX: ~/fname.mk: Has been auto-fixed. Please re-run pkglint.\n")
- c.Check(s.LoadTmpFile(c, "fname.mk"), equals, ""+
+ c.Check(s.LoadTmpFile("fname.mk"), equals, ""+
"# $"+"NetBSD$\n"+
".if defined(A)\n"+
". for a in ${A}\n"+
@@ -59,7 +60,8 @@ func (s *Suite) Test_MkLine_checklineInc
}
func (s *Suite) Test_MkLines_quoting_LDFLAGS_for_GNU_configure(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Pkg = NewPackage("category/pkgbase")
mklines := s.NewMkLines("Makefile",
@@ -75,8 +77,9 @@ func (s *Suite) Test_MkLines_quoting_LDF
}
func (s *Suite) Test_MkLines__variable_alignment_advanced(c *check.C) {
- s.UseCommandLine(c, "-Wspace")
- fname := s.CreateTmpFileLines(c, "Makefile",
+ s.Init(c)
+ s.UseCommandLine("-Wspace")
+ fname := s.CreateTmpFileLines("Makefile",
mkrcsid,
"",
"VAR= \\", // In continuation lines, indenting with spaces is ok
@@ -111,7 +114,7 @@ func (s *Suite) Test_MkLines__variable_a
"NOTE: ~/Makefile:17: This variable value should be aligned with tabs, not spaces, to column 17.\n"+
"NOTE: ~/Makefile:18: This variable value should be aligned with tabs, not spaces, to column 17.\n")
- s.UseCommandLine(c, "-Wspace", "--autofix")
+ s.UseCommandLine("-Wspace", "--autofix")
mklines.Check()
@@ -124,7 +127,7 @@ func (s *Suite) Test_MkLines__variable_a
"AUTOFIX: ~/Makefile:17: Replacing \"GRP_AAA= \" with \"GRP_AAA=\\t\".\n"+
"AUTOFIX: ~/Makefile:18: Replacing \"GRP_AAAA= \" with \"GRP_AAAA=\\t\".\n"+
"AUTOFIX: ~/Makefile: Has been auto-fixed. Please re-run pkglint.\n")
- c.Check(s.LoadTmpFile(c, "Makefile"), equals, ""+
+ c.Check(s.LoadTmpFile("Makefile"), equals, ""+
"# $"+"NetBSD$\n"+
"\n"+
"VAR= \\\n"+
@@ -149,7 +152,8 @@ func (s *Suite) Test_MkLines__variable_a
}
func (s *Suite) Test_MkLines__variable_alignment_space_and_tab(c *check.C) {
- s.UseCommandLine(c, "-Wspace")
+ s.Init(c)
+ s.UseCommandLine("-Wspace")
mklines := s.NewMkLines("Makefile",
mkrcsid,
"",
@@ -162,7 +166,8 @@ func (s *Suite) Test_MkLines__variable_a
}
func (s *Suite) Test_MkLines__for_loop_multiple_variables(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
s.RegisterTool(&Tool{Name: "echo", Varname: "ECHO", Predefined: true})
s.RegisterTool(&Tool{Name: "find", Varname: "FIND", Predefined: true})
s.RegisterTool(&Tool{Name: "pax", Varname: "PAX", Predefined: true})
@@ -183,7 +188,8 @@ func (s *Suite) Test_MkLines__for_loop_m
}
func (s *Suite) Test_MkLines__comparing_YesNo_variable_to_string(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("databases/gdbm_compat/builtin.mk",
mkrcsid,
@@ -199,7 +205,8 @@ func (s *Suite) Test_MkLines__comparing_
}
func (s *Suite) Test_MkLines__varuse_sh_modifier(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("lang/qore/module.mk",
mkrcsid,
@@ -220,7 +227,8 @@ func (s *Suite) Test_MkLines__varuse_sh_
}
func (s *Suite) Test_MkLines__varuse_parameterized(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("converters/wv2/Makefile",
mkrcsid,
@@ -233,7 +241,8 @@ func (s *Suite) Test_MkLines__varuse_par
}
func (s *Suite) Test_MkLines__loop_modifier(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("chat/xchat/Makefile",
mkrcsid,
@@ -266,7 +275,8 @@ func (s *Suite) Test_MkLines__PKG_SKIP_R
// PR 46570, item "15. net/uucp/Makefile has a make loop"
func (s *Suite) Test_MkLines__indirect_variables(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
mklines := s.NewMkLines("net/uucp/Makefile",
mkrcsid,
"",
@@ -283,7 +293,8 @@ func (s *Suite) Test_MkLines__indirect_v
}
func (s *Suite) Test_MkLines_Check__list_variable_as_part_of_word(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
mklines := s.NewMkLines("converters/chef/Makefile",
mkrcsid,
"\tcd ${WRKSRC} && tr '\\r' '\\n' < ${DISTDIR}/${DIST_SUBDIR}/${DISTFILES} > chef.l")
@@ -296,7 +307,8 @@ func (s *Suite) Test_MkLines_Check__list
}
func (s *Suite) Test_MkLines_Check__absolute_pathname_depending_on_OPSYS(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("games/heretic2-demo/Makefile",
mkrcsid,
@@ -316,7 +328,8 @@ func (s *Suite) Test_MkLines_Check__abso
}
func (s *Suite) Test_MkLines_checkForUsedComment(c *check.C) {
- s.UseCommandLine(c, "--show-autofix")
+ s.Init(c)
+ s.UseCommandLine("--show-autofix")
s.NewMkLines("Makefile.common",
mkrcsid,
"",
@@ -390,8 +403,9 @@ func (s *Suite) Test_MkLines_DetermineUs
}
func (s *Suite) Test_MkLines_PrivateTool_Undefined(c *check.C) {
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
- s.UseCommandLine(c, "-Wall")
mklines := s.NewMkLines("fname",
mkrcsid,
"",
@@ -403,8 +417,9 @@ func (s *Suite) Test_MkLines_PrivateTool
}
func (s *Suite) Test_MkLines_PrivateTool_Defined(c *check.C) {
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
- s.UseCommandLine(c, "-Wall")
mklines := s.NewMkLines("fname",
mkrcsid,
"TOOLS_CREATE+=\tmd5sum",
@@ -417,7 +432,8 @@ func (s *Suite) Test_MkLines_PrivateTool
}
func (s *Suite) Test_MkLines_Check_indentation(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
mklines := s.NewMkLines("options.mk",
mkrcsid,
". if !defined(GUARD_MK)",
Index: pkgsrc/pkgtools/pkglint/files/distinfo_test.go
diff -u pkgsrc/pkgtools/pkglint/files/distinfo_test.go:1.8 pkgsrc/pkgtools/pkglint/files/distinfo_test.go:1.9
--- pkgsrc/pkgtools/pkglint/files/distinfo_test.go:1.8 Sat Jul 9 09:43:48 2016
+++ pkgsrc/pkgtools/pkglint/files/distinfo_test.go Tue Dec 13 00:58:07 2016
@@ -5,10 +5,11 @@ import (
)
func (s *Suite) Test_ChecklinesDistinfo(c *check.C) {
- s.CreateTmpFile(c, "patches/patch-aa", ""+
+ s.Init(c)
+ s.CreateTmpFile("patches/patch-aa", ""+
"$"+"NetBSD$ line is ignored\n"+
"patch contents\n")
- s.CreateTmpFile(c, "patches/patch-ab", ""+
+ s.CreateTmpFile("patches/patch-ab", ""+
"patch contents\n")
G.CurrentDir = s.tmpdir
@@ -44,7 +45,8 @@ func (s *Suite) Test_ChecklinesDistinfo_
}
func (s *Suite) Test_ChecklinesDistinfo_uncommitted_patch(c *check.C) {
- s.CreateTmpFile(c, "patches/patch-aa", ""+
+ s.Init(c)
+ s.CreateTmpFile("patches/patch-aa", ""+
"$"+"NetBSD$\n"+
"\n"+
"--- oldfile\n"+
@@ -52,7 +54,7 @@ func (s *Suite) Test_ChecklinesDistinfo_
"@@ -1,1 +1,1 @@\n"+
"-old\n"+
"+new\n")
- s.CreateTmpFile(c, "CVS/Entries",
+ s.CreateTmpFile("CVS/Entries",
"/distinfo/...\n")
G.CurrentDir = s.tmpdir
@@ -66,9 +68,10 @@ func (s *Suite) Test_ChecklinesDistinfo_
}
func (s *Suite) Test_ChecklinesDistinfo_unrecorded_patches(c *check.C) {
- s.CreateTmpFile(c, "patches/CVS/Entries", "")
- s.CreateTmpFile(c, "patches/patch-aa", "")
- s.CreateTmpFile(c, "patches/patch-src-Makefile", "")
+ s.Init(c)
+ s.CreateTmpFile("patches/CVS/Entries", "")
+ s.CreateTmpFile("patches/patch-aa", "")
+ s.CreateTmpFile("patches/patch-src-Makefile", "")
G.CurrentDir = s.tmpdir
ChecklinesDistinfo(s.NewLines(s.tmpdir+"/distinfo",
@@ -85,8 +88,8 @@ func (s *Suite) Test_ChecklinesDistinfo_
}
func (s *Suite) Test_ChecklinesDistinfo_manual_patches(c *check.C) {
- s.CreateTmpFile(c, "patches/manual-libtool.m4",
- "")
+ s.Init(c)
+ s.CreateTmpFile("patches/manual-libtool.m4", "")
G.CurrentDir = s.tmpdir
ChecklinesDistinfo(s.NewLines(s.tmpdir+"/distinfo",
Index: pkgsrc/pkgtools/pkglint/files/files_test.go
diff -u pkgsrc/pkgtools/pkglint/files/files_test.go:1.7 pkgsrc/pkgtools/pkglint/files/files_test.go:1.8
--- pkgsrc/pkgtools/pkglint/files/files_test.go:1.7 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/files_test.go Tue Dec 13 00:58:07 2016
@@ -57,8 +57,9 @@ func (s *Suite) Test_splitRawLine(c *che
}
func (s *Suite) Test_show_autofix(c *check.C) {
- s.UseCommandLine(c, "--show-autofix")
- fname := s.CreateTmpFile(c, "Makefile", ""+
+ s.Init(c)
+ s.UseCommandLine("--show-autofix")
+ fname := s.CreateTmpFile("Makefile", ""+
"line1\n"+
"line2\n"+
"line3\n")
@@ -70,15 +71,16 @@ func (s *Suite) Test_show_autofix(c *che
SaveAutofixChanges(lines)
c.Check(lines[1].raw[0].textnl, equals, "XXXXX\n")
- c.Check(s.LoadTmpFile(c, "Makefile"), equals, "line1\nline2\nline3\n")
+ c.Check(s.LoadTmpFile("Makefile"), equals, "line1\nline2\nline3\n")
c.Check(s.Output(), equals, ""+
"WARN: ~/Makefile:2: Something's wrong here.\n"+
"AUTOFIX: ~/Makefile:2: Replacing regular expression \".\" with \"X\".\n")
}
func (s *Suite) Test_autofix(c *check.C) {
- s.UseCommandLine(c, "--autofix")
- fname := s.CreateTmpFile(c, "Makefile", ""+
+ s.Init(c)
+ s.UseCommandLine("--autofix")
+ fname := s.CreateTmpFile("Makefile", ""+
"line1\n"+
"line2\n"+
"line3\n")
@@ -89,7 +91,7 @@ func (s *Suite) Test_autofix(c *check.C)
}
SaveAutofixChanges(lines)
- c.Check(s.LoadTmpFile(c, "Makefile"), equals, "line1\nXXXXX\nline3\n")
+ c.Check(s.LoadTmpFile("Makefile"), equals, "line1\nXXXXX\nline3\n")
c.Check(s.Output(), equals, ""+
"AUTOFIX: ~/Makefile:2: Replacing regular expression \".\" with \"X\".\n"+
"AUTOFIX: ~/Makefile: Has been auto-fixed. Please re-run pkglint.\n")
Index: pkgsrc/pkgtools/pkglint/files/globaldata_test.go
diff -u pkgsrc/pkgtools/pkglint/files/globaldata_test.go:1.7 pkgsrc/pkgtools/pkglint/files/globaldata_test.go:1.8
--- pkgsrc/pkgtools/pkglint/files/globaldata_test.go:1.7 Sun Jul 10 21:24:47 2016
+++ pkgsrc/pkgtools/pkglint/files/globaldata_test.go Tue Dec 13 00:58:07 2016
@@ -31,22 +31,23 @@ func (s *Suite) Test_parselinesSuggested
}
func (s *Suite) Test_GlobalData_loadTools(c *check.C) {
- s.CreateTmpFileLines(c, "mk/tools/bsd.tools.mk",
+ s.Init(c)
+ s.CreateTmpFileLines("mk/tools/bsd.tools.mk",
".include \"flex.mk\"",
".include \"gettext.mk\"")
- s.CreateTmpFileLines(c, "mk/tools/defaults.mk",
+ s.CreateTmpFileLines("mk/tools/defaults.mk",
"_TOOLS_VARNAME.chown=CHOWN",
"_TOOLS_VARNAME.gawk=AWK",
"_TOOLS_VARNAME.mv=MV",
"_TOOLS_VARNAME.pwd=PWD")
- s.CreateTmpFileLines(c, "mk/tools/flex.mk",
+ s.CreateTmpFileLines("mk/tools/flex.mk",
"# empty")
- s.CreateTmpFileLines(c, "mk/tools/gettext.mk",
+ s.CreateTmpFileLines("mk/tools/gettext.mk",
"USE_TOOLS+=msgfmt",
"TOOLS_CREATE+=msgfmt")
- s.CreateTmpFileLines(c, "mk/bsd.prefs.mk",
+ s.CreateTmpFileLines("mk/bsd.prefs.mk",
"USE_TOOLS+=\tpwd")
- s.CreateTmpFileLines(c, "mk/bsd.pkg.mk",
+ s.CreateTmpFileLines("mk/bsd.pkg.mk",
"USE_TOOLS+=\tmv")
G.globalData.Pkgsrcdir = s.tmpdir
G.CurrentDir = s.tmpdir
@@ -75,7 +76,8 @@ func (s *Suite) Test_GlobalData_loadTool
}
func (s *Suite) Test_GlobalData_loadDocChangesFromFile(c *check.C) {
- s.CreateTmpFile(c, "doc/CHANGES-2015", ""+
+ s.Init(c)
+ s.CreateTmpFile("doc/CHANGES-2015", ""+
"\tAdded category/package version 1.0 [author1 2015-01-01]\n"+
"\tUpdated category/package to 1.5 [author2 2015-01-02]\n"+
"\tRenamed category/package to category/pkg [author3 2015-01-03]\n"+
Index: pkgsrc/pkgtools/pkglint/files/line_test.go
diff -u pkgsrc/pkgtools/pkglint/files/line_test.go:1.7 pkgsrc/pkgtools/pkglint/files/line_test.go:1.8
--- pkgsrc/pkgtools/pkglint/files/line_test.go:1.7 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/line_test.go Tue Dec 13 00:58:07 2016
@@ -5,7 +5,8 @@ import (
)
func (s *Suite) Test_Line_modifications(c *check.C) {
- s.UseCommandLine(c, "--show-autofix")
+ s.Init(c)
+ s.UseCommandLine("--show-autofix")
line := NewLine("fname", 1, "dummy", s.NewRawLines(1, "original\n"))
@@ -63,7 +64,8 @@ func (s *Suite) Test_Line_CheckAbsoluteP
}
func (s *Suite) Test_Line_show_autofix_AutofixReplace(c *check.C) {
- s.UseCommandLine(c, "--show-autofix", "--source")
+ s.Init(c)
+ s.UseCommandLine("--show-autofix", "--source")
line := NewLineMulti("Makefile", 27, 29, "# old", s.NewRawLines(
27, "before\n",
28, "The old song\n",
@@ -84,7 +86,8 @@ func (s *Suite) Test_Line_show_autofix_A
}
func (s *Suite) Test_Line_show_autofix_AutofixInsertBefore(c *check.C) {
- s.UseCommandLine(c, "--show-autofix", "--source")
+ s.Init(c)
+ s.UseCommandLine("--show-autofix", "--source")
line := NewLine("Makefile", 30, "original", s.NewRawLines(30, "original\n"))
if !line.AutofixInsertBefore("inserted") {
@@ -100,7 +103,8 @@ func (s *Suite) Test_Line_show_autofix_A
}
func (s *Suite) Test_Line_show_autofix_AutofixDelete(c *check.C) {
- s.UseCommandLine(c, "--show-autofix", "--source")
+ s.Init(c)
+ s.UseCommandLine("--show-autofix", "--source")
line := NewLine("Makefile", 30, "to be deleted", s.NewRawLines(30, "to be deleted\n"))
if !line.AutofixDelete() {
Index: pkgsrc/pkgtools/pkglint/files/pkglint_test.go
diff -u pkgsrc/pkgtools/pkglint/files/pkglint_test.go:1.7 pkgsrc/pkgtools/pkglint/files/pkglint_test.go:1.8
--- pkgsrc/pkgtools/pkglint/files/pkglint_test.go:1.7 Sat Jul 9 09:43:48 2016
+++ pkgsrc/pkgtools/pkglint/files/pkglint_test.go Tue Dec 13 00:58:07 2016
@@ -41,34 +41,35 @@ func (s *Suite) Test_resolveVariableRefs
}
func (s *Suite) Test_MatchVarassign(c *check.C) {
- checkVarassign := func(text string, ck check.Checker, varname, spaceAfterVarname, op, align, value, comment string) {
+ checkVarassign := func(text string, ck check.Checker, varname, spaceAfterVarname, op, align, value, spaceAfterValue, comment string) {
type va struct {
- varname, spaceAfterVarname, op, align, value, comment string
+ varname, spaceAfterVarname, op, align, value, spaceAfterValue, comment string
}
- expected := va{varname, spaceAfterVarname, op, align, value, comment}
- am, avarname, aspaceAfterVarname, aop, aalign, avalue, acomment := MatchVarassign(text)
+ expected := va{varname, spaceAfterVarname, op, align, value, spaceAfterValue, comment}
+ am, avarname, aspaceAfterVarname, aop, aalign, avalue, aspaceAfterValue, acomment := MatchVarassign(text)
if !am {
c.Errorf("Text %q doesn’t match variable assignment", text)
return
}
- actual := va{avarname, aspaceAfterVarname, aop, aalign, avalue, acomment}
+ actual := va{avarname, aspaceAfterVarname, aop, aalign, avalue, aspaceAfterValue, acomment}
c.Check(actual, ck, expected)
}
checkNotVarassign := func(text string) {
- m, _, _, _, _, _, _ := MatchVarassign(text)
+ m, _, _, _, _, _, _, _ := MatchVarassign(text)
if m {
c.Errorf("Text %q matches variable assignment, but shouldn’t.", text)
}
}
- checkVarassign("C++=c11", equals, "C+", "", "+=", "C++=", "c11", "")
- checkVarassign("V=v", equals, "V", "", "=", "V=", "v", "")
- checkVarassign("VAR=#comment", equals, "VAR", "", "=", "VAR=", "", "#comment")
- checkVarassign("VAR=\\#comment", equals, "VAR", "", "=", "VAR=", "#comment", "")
- checkVarassign("VAR=\\\\\\##comment", equals, "VAR", "", "=", "VAR=", "\\\\#", "#comment")
- checkVarassign("VAR=\\", equals, "VAR", "", "=", "VAR=", "\\", "")
- checkVarassign("VAR += value", equals, "VAR", " ", "+=", "VAR += ", "value", "")
- checkVarassign(" VAR=value", equals, "VAR", "", "=", " VAR=", "value", "")
+ checkVarassign("C++=c11", equals, "C+", "", "+=", "C++=", "c11", "", "")
+ checkVarassign("V=v", equals, "V", "", "=", "V=", "v", "", "")
+ checkVarassign("VAR=#comment", equals, "VAR", "", "=", "VAR=", "", "", "#comment")
+ checkVarassign("VAR=\\#comment", equals, "VAR", "", "=", "VAR=", "#comment", "", "")
+ checkVarassign("VAR=\\\\\\##comment", equals, "VAR", "", "=", "VAR=", "\\\\#", "", "#comment")
+ checkVarassign("VAR=\\", equals, "VAR", "", "=", "VAR=", "\\", "", "")
+ checkVarassign("VAR += value", equals, "VAR", " ", "+=", "VAR += ", "value", "", "")
+ checkVarassign(" VAR=value", equals, "VAR", "", "=", " VAR=", "value", "", "")
+ checkVarassign("VAR=value #comment", equals, "VAR", "", "=", "VAR=", "value", " ", "#comment")
checkNotVarassign("\tVAR=value")
checkNotVarassign("?=value")
checkNotVarassign("<=value")
@@ -114,3 +115,37 @@ func (s *Suite) Test_ChecklinesMessage__
"ERROR: MESSAGE:2: Expected \"$"+"NetBSD$\".\n"+
"WARN: MESSAGE:5: Expected a line of exactly 75 \"=\" characters.\n")
}
+
+func (s *Suite) Test_GlobalData_Latest(c *check.C) {
+ s.Init(c)
+ G.globalData.Pkgsrcdir = s.TmpDir()
+
+ latest1 := G.globalData.Latest("lang", `^python[0-9]+$`, "../../lang/$0")
+
+ c.Check(latest1, equals, "")
+ c.Check(s.Output(), equals, "ERROR: Cannot find latest version of \"^python[0-9]+$\" in \"~\".\n")
+
+ s.CreateTmpFile("lang/Makefile", "")
+ G.globalData.latest = nil
+
+ latest2 := G.globalData.Latest("lang", `^python[0-9]+$`, "../../lang/$0")
+
+ c.Check(latest2, equals, "")
+ c.Check(s.Output(), equals, "ERROR: Cannot find latest version of \"^python[0-9]+$\" in \"~\".\n")
+
+ s.CreateTmpFile("lang/python27/Makefile", "")
+ G.globalData.latest = nil
+
+ latest3 := G.globalData.Latest("lang", `^python[0-9]+$`, "../../lang/$0")
+
+ c.Check(latest3, equals, "../../lang/python27")
+ c.Check(s.Output(), equals, "")
+
+ s.CreateTmpFile("lang/python35/Makefile", "")
+ G.globalData.latest = nil
+
+ latest4 := G.globalData.Latest("lang", `^python[0-9]+$`, "../../lang/$0")
+
+ c.Check(latest4, equals, "../../lang/python35")
+ c.Check(s.Output(), equals, "")
+}
Index: pkgsrc/pkgtools/pkglint/files/globaldata.go
diff -u pkgsrc/pkgtools/pkglint/files/globaldata.go:1.16 pkgsrc/pkgtools/pkglint/files/globaldata.go:1.17
--- pkgsrc/pkgtools/pkglint/files/globaldata.go:1.16 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/globaldata.go Tue Dec 13 00:58:07 2016
@@ -21,6 +21,7 @@ type GlobalData struct {
UserDefinedVars map[string]*MkLine // varname => line
Deprecated map[string]string //
vartypes map[string]*Vartype // varcanon => type
+ latest map[string]string // "lang/php[0-9]*" => "lang/php70"
}
// Change is a change entry from the `doc/CHANGES-*` files.
@@ -63,6 +64,41 @@ func (gd *GlobalData) Initialize() {
gd.loadDeprecatedVars()
}
+func (gd *GlobalData) Latest(category string, re RegexPattern, repl string) string {
+ key := category + "/" + string(re) + " => " + repl
+ if latest, found := gd.latest[key]; found {
+ return latest
+ }
+
+ if gd.latest == nil {
+ gd.latest = make(map[string]string)
+ }
+
+ error := func() string {
+ dummyLine.Errorf("Cannot find latest version of %q in %q.", re, gd.Pkgsrcdir)
+ gd.latest[key] = ""
+ return ""
+ }
+
+ all, err := ioutil.ReadDir(gd.Pkgsrcdir + "/" + category)
+ if err != nil {
+ return error()
+ }
+
+ latest := ""
+ for _, fileInfo := range all {
+ if matches(fileInfo.Name(), re) {
+ latest = regcomp(re).ReplaceAllString(fileInfo.Name(), repl)
+ }
+ }
+ if latest == "" {
+ return error()
+ }
+
+ gd.latest[key] = latest
+ return latest
+}
+
func (gd *GlobalData) loadDistSites() {
fname := gd.Pkgsrcdir + "/mk/fetch/sites.mk"
lines := LoadExistingLines(fname, true)
@@ -70,7 +106,7 @@ func (gd *GlobalData) loadDistSites() {
name2url := make(map[string]string)
url2name := make(map[string]string)
for _, line := range lines {
- if m, varname, _, _, _, urls, _ := MatchVarassign(line.Text); m {
+ if m, varname, _, _, _, urls, _, _ := MatchVarassign(line.Text); m {
if hasPrefix(varname, "MASTER_SITE_") && varname != "MASTER_SITE_BACKUP" {
for _, url := range splitOnSpace(urls) {
if matches(url, `^(?:http://|https://|ftp://)`) {
@@ -150,7 +186,7 @@ func (gd *GlobalData) loadTools() {
for _, line := range lines {
text := line.Text
- if m, varname, _, _, _, value, _ := MatchVarassign(text); m {
+ if m, varname, _, _, _, value, _, _ := MatchVarassign(text); m {
if varname == "USE_TOOLS" {
if G.opts.Debug {
traceStep("[condDepth=%d] %s", condDepth, value)
@@ -566,7 +602,7 @@ func (tr *ToolRegistry) Trace() {
}
func (tr *ToolRegistry) ParseToolLine(line *Line) {
- if m, varname, _, _, _, value, _ := MatchVarassign(line.Text); m {
+ if m, varname, _, _, _, value, _, _ := MatchVarassign(line.Text); m {
if varname == "TOOLS_CREATE" && (value == "[" || matches(value, `^?[-\w.]+$`)) {
tr.Register(value)
Index: pkgsrc/pkgtools/pkglint/files/licenses_test.go
diff -u pkgsrc/pkgtools/pkglint/files/licenses_test.go:1.5 pkgsrc/pkgtools/pkglint/files/licenses_test.go:1.6
--- pkgsrc/pkgtools/pkglint/files/licenses_test.go:1.5 Sun Jul 10 21:24:47 2016
+++ pkgsrc/pkgtools/pkglint/files/licenses_test.go Tue Dec 13 00:58:07 2016
@@ -10,7 +10,8 @@ func (s *Suite) Test_parseLicenses(c *ch
}
func (s *Suite) Test_checklineLicense(c *check.C) {
- s.CreateTmpFile(c, "licenses/gnu-gpl-v2", "Most software \u2026")
+ s.Init(c)
+ s.CreateTmpFile("licenses/gnu-gpl-v2", "Most software \u2026")
mkline := NewMkLine(NewLine("Makefile", 7, "LICENSE=dummy", nil))
G.globalData.Pkgsrcdir = s.tmpdir
G.CurrentDir = s.tmpdir
Index: pkgsrc/pkgtools/pkglint/files/mkline.go
diff -u pkgsrc/pkgtools/pkglint/files/mkline.go:1.18 pkgsrc/pkgtools/pkglint/files/mkline.go:1.19
--- pkgsrc/pkgtools/pkglint/files/mkline.go:1.18 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/mkline.go Tue Dec 13 00:58:07 2016
@@ -58,7 +58,7 @@ func NewMkLine(line *Line) (mkline *MkLi
"white-space.")
}
- if m, varname, spaceAfterVarname, op, valueAlign, value, comment := MatchVarassign(text); m {
+ if m, varname, spaceAfterVarname, op, valueAlign, value, spaceAfterValue, comment := MatchVarassign(text); m {
if G.opts.WarnSpace && spaceAfterVarname != "" {
switch {
case hasSuffix(varname, "+") && op == "=":
@@ -72,6 +72,13 @@ func NewMkLine(line *Line) (mkline *MkLi
}
}
+ if comment != "" && value != "" && spaceAfterValue == "" {
+ line.Warnf("The # character starts a comment.")
+ Explain(
+ "In a variable assignment, an unescaped # starts a comment that",
+ "continues until the end of the line. To escape the #, write \\#.")
+ }
+
value = strings.Replace(value, "\\#", "#", -1)
varparam := varnameParam(varname)
Index: pkgsrc/pkgtools/pkglint/files/vardefs.go
diff -u pkgsrc/pkgtools/pkglint/files/vardefs.go:1.18 pkgsrc/pkgtools/pkglint/files/vardefs.go:1.19
--- pkgsrc/pkgtools/pkglint/files/vardefs.go:1.18 Mon Nov 14 01:08:23 2016
+++ pkgsrc/pkgtools/pkglint/files/vardefs.go Tue Dec 13 00:58:07 2016
@@ -544,7 +544,7 @@ func (gd *GlobalData) InitVartypes() {
pkg("PERL5_REQD", lkShell, BtVersion)
pkg("PERL5_USE_PACKLIST", lkNone, BtYesNo)
sys("PGSQL_PREFIX", lkNone, BtPathname)
- acl("PGSQL_VERSIONS_ACCEPTED", lkShell, enum("91 92 93 94"), "")
+ acl("PGSQL_VERSIONS_ACCEPTED", lkShell, enum("91 92 93 94 95"), "")
usr("PGSQL_VERSION_DEFAULT", lkNone, BtVersion)
sys("PG_LIB_EXT", lkNone, enum("dylib so"))
sys("PGSQL_TYPE", lkNone, enum("postgresql81-client postgresql80-client"))
Index: pkgsrc/pkgtools/pkglint/files/mkline_test.go
diff -u pkgsrc/pkgtools/pkglint/files/mkline_test.go:1.19 pkgsrc/pkgtools/pkglint/files/mkline_test.go:1.20
--- pkgsrc/pkgtools/pkglint/files/mkline_test.go:1.19 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/mkline_test.go Tue Dec 13 00:58:07 2016
@@ -5,7 +5,8 @@ import (
)
func (s *Suite) Test_MkLine_CheckVartype_simple_type(c *check.C) {
- s.UseCommandLine(c, "-Wtypes")
+ s.Init(c)
+ s.UseCommandLine("-Wtypes")
G.globalData.InitVartypes()
mkline := NewMkLine(NewLine("fname", 1, "COMMENT=\tA nice package", nil))
@@ -33,7 +34,8 @@ func (s *Suite) Test_MkLine_CheckVartype
}
func (s *Suite) Test_VaralignBlock_Check_autofix(c *check.C) {
- s.UseCommandLine(c, "-Wspace", "-f")
+ s.Init(c)
+ s.UseCommandLine("-Wspace", "-f")
lines := s.NewLines("file.mk",
"VAR= value", // Indentation 7, fixed to 8.
"", //
@@ -85,7 +87,8 @@ func (s *Suite) Test_VaralignBlock_Check
}
func (s *Suite) Test_VaralignBlock_Check_reduce_indentation(c *check.C) {
- s.UseCommandLine(c, "-Wspace")
+ s.Init(c)
+ s.UseCommandLine("-Wspace")
mklines := s.NewMkLines("file.mk",
"VAR= \tvalue",
"VAR= \tvalue",
@@ -108,7 +111,8 @@ func (s *Suite) Test_VaralignBlock_Check
}
func (s *Suite) Test_VaralignBlock_Check_longest_line_no_space(c *check.C) {
- s.UseCommandLine(c, "-Wspace")
+ s.Init(c)
+ s.UseCommandLine("-Wspace")
mklines := s.NewMkLines("file.mk",
"SUBST_CLASSES+= aaaaaaaa",
"SUBST_STAGE.aaaaaaaa= pre-configure",
@@ -129,7 +133,8 @@ func (s *Suite) Test_VaralignBlock_Check
}
func (s *Suite) Test_VaralignBlock_Check_only_spaces(c *check.C) {
- s.UseCommandLine(c, "-Wspace")
+ s.Init(c)
+ s.UseCommandLine("-Wspace")
mklines := s.NewMkLines("file.mk",
"SUBST_CLASSES+= aaaaaaaa",
"SUBST_STAGE.aaaaaaaa= pre-configure",
@@ -150,7 +155,8 @@ func (s *Suite) Test_VaralignBlock_Check
}
func (s *Suite) Test_NewMkLine(c *check.C) {
- s.UseCommandLine(c, "-Wspace")
+ s.Init(c)
+ s.UseCommandLine("-Wspace")
mklines := NewMkLines(s.NewLines("test.mk",
"VARNAME.param?=value # varassign comment",
"\tshell command # shell comment",
@@ -207,8 +213,9 @@ func (s *Suite) Test_NewMkLine(c *check.
}
func (s *Suite) Test_NewMkLine__autofix_space_after_varname(c *check.C) {
- s.UseCommandLine(c, "-Wspace")
- fname := s.CreateTmpFileLines(c, "Makefile",
+ s.Init(c)
+ s.UseCommandLine("-Wspace")
+ fname := s.CreateTmpFileLines("Makefile",
mkrcsid,
"VARNAME +=\t${VARNAME}",
"VARNAME+ =\t${VARNAME+}",
@@ -221,7 +228,7 @@ func (s *Suite) Test_NewMkLine__autofix_
"WARN: ~/Makefile:2: Unnecessary space after variable name \"VARNAME\".\n"+
"WARN: ~/Makefile:4: Unnecessary space after variable name \"VARNAME+\".\n")
- s.UseCommandLine(c, "-Wspace", "--autofix")
+ s.UseCommandLine("-Wspace", "--autofix")
CheckfileMk(fname)
@@ -230,7 +237,7 @@ func (s *Suite) Test_NewMkLine__autofix_
"AUTOFIX: ~/Makefile:4: Replacing \"VARNAME+ +=\" with \"VARNAME++=\".\n"+
"AUTOFIX: ~/Makefile: Has been auto-fixed. Please re-run pkglint.\n"+
"AUTOFIX: ~/Makefile: Has been auto-fixed. Please re-run pkglint.\n")
- c.Check(s.LoadTmpFile(c, "Makefile"), equals, ""+
+ c.Check(s.LoadTmpFile("Makefile"), equals, ""+
mkrcsid+"\n"+
"VARNAME+=\t${VARNAME}\n"+
"VARNAME+ =\t${VARNAME+}\n"+
@@ -251,7 +258,8 @@ func (s *Suite) Test_MkLine_checkVarassi
}
func (s *Suite) Test_MkLine_Check_conditions(c *check.C) {
- s.UseCommandLine(c, "-Wtypes")
+ s.Init(c)
+ s.UseCommandLine("-Wtypes")
G.globalData.InitVartypes()
NewMkLine(NewLine("fname", 1, ".if !empty(PKGSRC_COMPILER:Mmycc)", nil)).CheckCond()
@@ -353,6 +361,7 @@ func (s *Suite) Test_NewMkLine_numbersig
mklineVarassignUnescaped := NewMkLine(NewLine("fname", 1, "SED_CMD=\t's,#,hash,'", nil))
c.Check(mklineVarassignUnescaped.Value(), equals, "'s,")
+ c.Check(s.Output(), equals, "WARN: fname:1: The # character starts a comment.\n")
}
func (s *Suite) Test_NewMkLine_leading_space(c *check.C) {
@@ -362,7 +371,8 @@ func (s *Suite) Test_NewMkLine_leading_s
}
func (s *Suite) Test_MkLine_checkVarassignDefPermissions(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mkline := NewMkLine(NewLine("options.mk", 2, "PKG_DEVELOPER?=\tyes", nil))
@@ -372,7 +382,8 @@ func (s *Suite) Test_MkLine_checkVarassi
}
func (s *Suite) Test_MkLine_CheckVarusePermissions(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("options.mk",
mkrcsid,
@@ -394,7 +405,8 @@ func (s *Suite) Test_MkLine_CheckVaruseP
}
func (s *Suite) Test_MkLine_CheckVarusePermissions__load_time(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("options.mk",
mkrcsid,
@@ -414,7 +426,8 @@ func (s *Suite) Test_MkLine_WarnVaruseLo
}
func (s *Suite) Test_MkLines_Check__extra(c *check.C) {
- s.UseCommandLine(c, "-Wextra")
+ s.Init(c)
+ s.UseCommandLine("-Wextra")
G.globalData.InitVartypes()
G.Pkg = NewPackage("category/pkgbase")
G.Mk = s.NewMkLines("options.mk",
@@ -473,7 +486,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting__append_URL_to_list_of_URLs(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
s.RegisterMasterSite("MASTER_SITE_SOURCEFORGE", "http://downloads.sourceforge.net/sourceforge/")
mkline := NewMkLine(NewLine("Makefile", 95, "MASTER_SITES=\t${HOMEPAGE}", nil))
@@ -490,7 +504,8 @@ func (s *Suite) Test_MkLine_variableNeed
// Assigning lists to lists is ok.
func (s *Suite) Test_MkLine_variableNeedsQuoting__append_list_to_list(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
s.RegisterMasterSite("MASTER_SITE_SOURCEFORGE", "http://downloads.sourceforge.net/sourceforge/")
mkline := NewMkLine(NewLine("Makefile", 96, "MASTER_SITES=\t${MASTER_SITE_SOURCEFORGE:=squirrel-sql/}", nil))
@@ -501,7 +516,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting__eval_shell(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mkline := NewMkLine(NewLine("builtin.mk", 3, "USE_BUILTIN.Xfixes!=\t${PKG_ADMIN} pmatch 'pkg-[0-9]*' ${BUILTIN_PKG.Xfixes:Q}", nil))
@@ -513,7 +529,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting__command_in_single_quotes(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mkline := NewMkLine(NewLine("Makefile", 3, "SUBST_SED.hpath=\t-e 's|^\\(INSTALL[\t:]*=\\).*|\\1${INSTALL}|'", nil))
@@ -523,7 +540,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting__command_in_command(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
s.RegisterTool(&Tool{Name: "find", Varname: "FIND", Predefined: true})
s.RegisterTool(&Tool{Name: "sort", Varname: "SORT", Predefined: true})
@@ -540,7 +558,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting__word_as_part_of_word(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("Makefile",
mkrcsid,
@@ -558,7 +577,8 @@ func (s *Suite) Test_MkLine_variableNeed
//
// Based on graphics/circos/Makefile.
func (s *Suite) Test_MkLine_variableNeedsQuoting__command_as_command_argument(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
s.RegisterTool(&Tool{Name: "perl", Varname: "PERL5", Predefined: true})
s.RegisterTool(&Tool{Name: "bash", Varname: "BASH", Predefined: true})
G.globalData.InitVartypes()
@@ -577,7 +597,8 @@ func (s *Suite) Test_MkLine_variableNeed
// Based on mail/mailfront/Makefile.
func (s *Suite) Test_MkLine_variableNeedsQuoting__URL_as_part_of_word_in_list(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("Makefile",
mkrcsid,
@@ -594,7 +615,8 @@ func (s *Suite) Test_MkLine_variableNeed
//
// Based on www/firefox31/xpi.mk.
func (s *Suite) Test_MkLine_variableNeedsQuoting__command_in_subshell(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
s.RegisterTool(&Tool{Name: "awk", Varname: "AWK", Predefined: true})
s.RegisterTool(&Tool{Name: "echo", Varname: "ECHO", Predefined: true})
@@ -613,7 +635,8 @@ func (s *Suite) Test_MkLine_variableNeed
// shell characters like quotes or backslashes. Therefore, quoting them
// correctly is more tricky than with other variables.
func (s *Suite) Test_MkLine_variableNeedsQuoting__LDFLAGS_in_single_quotes(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("x11/mlterm/Makefile",
mkrcsid,
@@ -627,7 +650,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLines_Check__MASTER_SITE_in_HOMEPAGE(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
s.RegisterMasterSite("MASTER_SITE_GITHUB", "https://github.com/")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("devel/catch/Makefile",
@@ -647,7 +671,8 @@ func (s *Suite) Test_MkLines_Check__MAST
}
func (s *Suite) Test_MkLine_variableNeedsQuoting__tool_in_quotes_in_subshell_in_shellwords(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
s.RegisterTool(&Tool{Name: "echo", Varname: "ECHO", Predefined: true})
s.RegisterTool(&Tool{Name: "sh", Varname: "SH", Predefined: true})
G.globalData.InitVartypes()
@@ -661,7 +686,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting__LDADD_in_BUILDLINK_TRANSFORM(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("x11/qt5-qtbase/Makefile.common",
"BUILDLINK_TRANSFORM+=opt:-ldl:${BUILDLINK_LDADD.dl:M*}")
@@ -673,7 +699,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting_command_in_message(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("benchmarks/iozone/Makefile",
"SUBST_MESSAGE.crlf=\tStripping EOL CR in ${REPLACE_PERL}")
@@ -684,7 +711,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting_guessed_list_variable_in_quotes(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("audio/jack-rack/Makefile",
mkrcsid,
@@ -697,7 +725,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting_list_in_list(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("x11/eterm/Makefile",
mkrcsid,
@@ -709,7 +738,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting_PKGNAME_and_URL_list_in_URL_list(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
s.RegisterMasterSite("MASTER_SITE_GNOME", "http://ftp.gnome.org/")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("x11/gtk3/Makefile",
@@ -722,7 +752,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_variableNeedsQuoting_tool_in_CONFIGURE_ENV(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.globalData.Tools = NewToolRegistry()
G.globalData.Tools.RegisterVarname("tar", "TAR")
@@ -740,7 +771,8 @@ func (s *Suite) Test_MkLine_variableNeed
}
func (s *Suite) Test_MkLine_Varuse_Modifier_L(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("x11/xkeyboard-config/Makefile",
"FILES_SUBST+=XKBCOMP_SYMLINK=${${XKBBASE}/xkbcomp:L:Q}")
@@ -751,7 +783,8 @@ func (s *Suite) Test_MkLine_Varuse_Modif
}
func (s *Suite) Test_MkLine_CheckCond_comparison_with_shell_command(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("security/openssl/Makefile",
mkrcsid,
@@ -765,7 +798,8 @@ func (s *Suite) Test_MkLine_CheckCond_co
}
func (s *Suite) Test_MkLine_CheckCond_comparing_PKGSRC_COMPILER_with_eqeq(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("audio/pulseaudio/Makefile",
mkrcsid,
@@ -778,7 +812,8 @@ func (s *Suite) Test_MkLine_CheckCond_co
}
func (s *Suite) Test_MkLine_Pkgmandir(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("chat/ircII/Makefile",
mkrcsid,
@@ -791,7 +826,8 @@ func (s *Suite) Test_MkLine_Pkgmandir(c
}
func (s *Suite) Test_MkLine_Check_CFLAGS_with_backticks(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("chat/pidgin-icb/Makefile",
mkrcsid,
@@ -809,7 +845,8 @@ func (s *Suite) Test_MkLine_Check_CFLAGS
}
func (s *Suite) Test_MkLine_Check_VERSION_as_wordpart_in_MASTER_SITES(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("geography/viking/Makefile",
mkrcsid,
@@ -822,7 +859,8 @@ func (s *Suite) Test_MkLine_Check_VERSIO
}
func (s *Suite) Test_MkLine_Check_shell_command_as_wordpart_in_ENV_list(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("x11/lablgtk1/Makefile",
mkrcsid,
@@ -836,7 +874,8 @@ func (s *Suite) Test_MkLine_Check_shell_
}
func (s *Suite) Test_MkLine_shell_varuse_in_backt_dquot(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
mklines := s.NewMkLines("x11/motif/Makefile",
mkrcsid,
@@ -873,6 +912,18 @@ func (s *Suite) Test_MkLine_CheckVartype
"WARN: Makefile:2: Compiler flag \"%s\\\\\\\"\" should start with a hyphen.\n")
}
+// PR 51696, security/py-pbkdf2/Makefile, r1.2
+func (s *Suite) Test_MkLine__comment_in_comment(c *check.C) {
+ G.globalData.InitVartypes()
+ mklines := s.NewMkLines("Makefile",
+ mkrcsid,
+ "COMMENT=\tPKCS#5 v2.0 PBKDF2 Module")
+
+ mklines.Check()
+
+ c.Check(s.Output(), equals, "WARN: Makefile:2: The # character starts a comment.\n")
+}
+
func (s *Suite) Test_Indentation(c *check.C) {
ind := &Indentation{}
Index: pkgsrc/pkgtools/pkglint/files/package_test.go
diff -u pkgsrc/pkgtools/pkglint/files/package_test.go:1.11 pkgsrc/pkgtools/pkglint/files/package_test.go:1.12
--- pkgsrc/pkgtools/pkglint/files/package_test.go:1.11 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/package_test.go Tue Dec 13 00:58:07 2016
@@ -22,7 +22,8 @@ func (s *Suite) Test_Package_pkgnameFrom
}
func (s *Suite) Test_Package_ChecklinesPackageMakefileVarorder(c *check.C) {
- s.UseCommandLine(c, "-Worder")
+ s.Init(c)
+ s.UseCommandLine("-Worder")
pkg := NewPackage("x11/9term")
pkg.ChecklinesPackageMakefileVarorder(s.NewMkLines("Makefile",
@@ -99,7 +100,8 @@ func (s *Suite) Test_Package_checkPossib
}
func (s *Suite) Test_checkdirPackage(c *check.C) {
- s.CreateTmpFile(c, "Makefile", ""+
+ s.Init(c)
+ s.CreateTmpFile("Makefile", ""+
"# $"+"NetBSD$\n")
G.CurrentDir = s.tmpdir
@@ -113,44 +115,46 @@ func (s *Suite) Test_checkdirPackage(c *
}
func (s *Suite) Test_checkdirPackage__meta_package_without_license(c *check.C) {
- s.CreateTmpFileLines(c, "Makefile",
+ s.Init(c)
+ s.CreateTmpFileLines("Makefile",
mkrcsid,
"",
"META_PACKAGE=\tyes")
- G.CurrentDir = s.tmpdir
+ G.CurrentDir = s.TmpDir()
G.globalData.InitVartypes()
- checkdirPackage(s.tmpdir)
+ checkdirPackage(s.TmpDir())
c.Check(s.Output(), equals, "WARN: ~/Makefile: No COMMENT given.\n") // No error about missing LICENSE.
}
func (s *Suite) Test_Package__varuse_at_load_time(c *check.C) {
- s.CreateTmpFileLines(c, "doc/CHANGES-2016",
+ s.Init(c)
+ s.CreateTmpFileLines("doc/CHANGES-2016",
"# dummy")
- s.CreateTmpFileLines(c, "doc/TODO",
+ s.CreateTmpFileLines("doc/TODO",
"# dummy")
- s.CreateTmpFileLines(c, "licenses/bsd-2",
+ s.CreateTmpFileLines("licenses/bsd-2",
"# dummy")
- s.CreateTmpFileLines(c, "mk/fetch/sites.mk",
+ s.CreateTmpFileLines("mk/fetch/sites.mk",
"# dummy")
- s.CreateTmpFileLines(c, "mk/bsd.pkg.mk",
+ s.CreateTmpFileLines("mk/bsd.pkg.mk",
"# dummy")
- s.CreateTmpFileLines(c, "mk/defaults/options.description",
+ s.CreateTmpFileLines("mk/defaults/options.description",
"option Description")
- s.CreateTmpFileLines(c, "mk/defaults/mk.conf",
+ s.CreateTmpFileLines("mk/defaults/mk.conf",
"# dummy")
- s.CreateTmpFileLines(c, "mk/tools/bsd.tools.mk",
+ s.CreateTmpFileLines("mk/tools/bsd.tools.mk",
".include \"defaults.mk\"")
- s.CreateTmpFileLines(c, "mk/tools/defaults.mk",
+ s.CreateTmpFileLines("mk/tools/defaults.mk",
"TOOLS_CREATE+=false",
"TOOLS_CREATE+=nice",
"TOOLS_CREATE+=true",
"_TOOLS_VARNAME.nice=NICE")
- s.CreateTmpFileLines(c, "mk/bsd.prefs.mk",
+ s.CreateTmpFileLines("mk/bsd.prefs.mk",
"# dummy")
- s.CreateTmpFileLines(c, "category/pkgbase/Makefile",
+ s.CreateTmpFileLines("category/pkgbase/Makefile",
mkrcsid,
"",
"COMMENT= Unit test",
@@ -175,7 +179,7 @@ func (s *Suite) Test_Package__varuse_at_
"\t${ECHO}; ${FALSE}; ${NICE}; ${TRUE}",
"",
".include \"../../mk/bsd.pkg.mk\"")
- s.CreateTmpFileLines(c, "category/pkgbase/distinfo",
+ s.CreateTmpFileLines("category/pkgbase/distinfo",
"$"+"NetBSD$")
(&Pkglint{}).Main("pkglint", "-q", "-Wperm", s.tmpdir+"/category/pkgbase")
@@ -188,7 +192,8 @@ func (s *Suite) Test_Package__varuse_at_
}
func (s *Suite) Test_Package_loadPackageMakefile(c *check.C) {
- makefile := s.CreateTmpFile(c, "category/package/Makefile", ""+
+ s.Init(c)
+ makefile := s.CreateTmpFile("category/package/Makefile", ""+
"# $"+"NetBSD$\n"+
"\n"+
"PKGNAME=pkgname-1.67\n"+
@@ -205,8 +210,9 @@ func (s *Suite) Test_Package_loadPackage
}
func (s *Suite) Test_Package_conditionalAndUnconditionalInclude(c *check.C) {
+ s.Init(c)
G.globalData.InitVartypes()
- s.CreateTmpFileLines(c, "category/package/Makefile",
+ s.CreateTmpFileLines("category/package/Makefile",
mkrcsid,
"",
"COMMENT\t=Description",
@@ -216,23 +222,23 @@ func (s *Suite) Test_Package_conditional
".include \"../../sysutils/coreutils/buildlink3.mk\"",
".endif",
".include \"../../mk/bsd.pkg.mk\"")
- s.CreateTmpFileLines(c, "category/package/options.mk",
+ s.CreateTmpFileLines("category/package/options.mk",
mkrcsid,
"",
".if !empty(PKG_OPTIONS:Mzlib)",
". include \"../../devel/zlib/buildlink3.mk\"",
".endif",
".include \"../../sysutils/coreutils/buildlink3.mk\"")
- s.CreateTmpFileLines(c, "category/package/PLIST",
+ s.CreateTmpFileLines("category/package/PLIST",
"@comment $"+"NetBSD$",
"bin/program")
- s.CreateTmpFileLines(c, "category/package/distinfo",
+ s.CreateTmpFileLines("category/package/distinfo",
"$"+"NetBSD$")
- s.CreateTmpFileLines(c, "devel/zlib/buildlink3.mk", "")
- s.CreateTmpFileLines(c, "licenses/gnu-gpl-v2", "")
- s.CreateTmpFileLines(c, "mk/bsd.pkg.mk", "")
- s.CreateTmpFileLines(c, "sysutils/coreutils/buildlink3.mk", "")
+ s.CreateTmpFileLines("devel/zlib/buildlink3.mk", "")
+ s.CreateTmpFileLines("licenses/gnu-gpl-v2", "")
+ s.CreateTmpFileLines("mk/bsd.pkg.mk", "")
+ s.CreateTmpFileLines("sysutils/coreutils/buildlink3.mk", "")
pkg := NewPackage("category/package")
G.globalData.Pkgsrcdir = s.tmpdir
Index: pkgsrc/pkgtools/pkglint/files/plist_test.go
diff -u pkgsrc/pkgtools/pkglint/files/plist_test.go:1.11 pkgsrc/pkgtools/pkglint/files/plist_test.go:1.12
--- pkgsrc/pkgtools/pkglint/files/plist_test.go:1.11 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/plist_test.go Tue Dec 13 00:58:07 2016
@@ -5,7 +5,8 @@ import (
)
func (s *Suite) Test_ChecklinesPlist(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.Pkg = NewPackage("category/pkgbase")
lines := s.NewLines("PLIST",
"bin/i386/6c",
@@ -56,10 +57,11 @@ func (s *Suite) Test_ChecklinesPlist__em
}
func (s *Suite) Test_ChecklinesPlist__commonEnd(c *check.C) {
- s.CreateTmpFile(c, "PLIST.common", ""+
+ s.Init(c)
+ s.CreateTmpFile("PLIST.common", ""+
"@comment $"+"NetBSD$\n"+
"bin/common\n")
- fname := s.CreateTmpFile(c, "PLIST.common_end", ""+
+ fname := s.CreateTmpFile("PLIST.common_end", ""+
"@comment $"+"NetBSD$\n"+
"sbin/common_end\n")
@@ -81,7 +83,8 @@ func (s *Suite) Test_ChecklinesPlist__co
}
func (s *Suite) Test_ChecklinesPlist__sorting(c *check.C) {
- s.UseCommandLine(c, "-Wplist-sort")
+ s.Init(c)
+ s.UseCommandLine("-Wplist-sort")
lines := s.NewLines("PLIST",
"@comment $"+"NetBSD$",
"@comment Do not remove",
@@ -98,9 +101,9 @@ func (s *Suite) Test_ChecklinesPlist__so
}
func (s *Suite) Test_PlistLineSorter_Sort(c *check.C) {
- s.UseCommandLine(c, "--autofix")
- tmpfile := s.CreateTmpFile(c, "PLIST", "dummy\n")
- ck := &PlistChecker{nil, nil, ""}
+ s.Init(c)
+ s.UseCommandLine("--autofix")
+ tmpfile := s.CreateTmpFile("PLIST", "dummy\n")
lines := s.NewLines(tmpfile,
"@comment $"+"NetBSD$",
"@comment Do not remove",
@@ -118,6 +121,7 @@ func (s *Suite) Test_PlistLineSorter_Sor
"lib/before.la",
"lib/after.la",
"@exec echo \"after lib/after.la\"")
+ ck := &PlistChecker{nil, nil, ""}
plines := ck.NewLines(lines)
NewPlistLineSorter(plines).Sort()
@@ -125,7 +129,7 @@ func (s *Suite) Test_PlistLineSorter_Sor
c.Check(s.Output(), equals, ""+
"AUTOFIX: ~/PLIST:1: Sorting the whole file.\n"+
"AUTOFIX: ~/PLIST: Has been auto-fixed. Please re-run pkglint.\n")
- c.Check(s.LoadTmpFile(c, "PLIST"), equals, ""+
+ c.Check(s.LoadTmpFile("PLIST"), equals, ""+
"@comment $"+"NetBSD$\n"+
"@comment Do not remove\n"+
"A\n"+
@@ -148,7 +152,8 @@ func (s *Suite) Test_PlistChecker_checkp
// Disabled due to PR 46570, item "10. It should stop".
return
- s.UseCommandLine(c, "-Wextra")
+ s.Init(c)
+ s.UseCommandLine("-Wextra")
G.Pkg = NewPackage("category/pkgpath")
ChecklinesPlist(s.NewLines("PLIST",
@@ -189,9 +194,10 @@ func (s *Suite) TestPlistChecker_checkpa
}
func (s *Suite) Test_PlistChecker__autofix(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
- fname := s.CreateTmpFileLines(c, "PLIST",
+ fname := s.CreateTmpFileLines("PLIST",
"@comment $"+"NetBSD$",
"lib/libvirt/connection-driver/libvirt_driver_storage.la",
"${PLIST.hal}lib/libvirt/connection-driver/libvirt_driver_nodedev.la",
@@ -220,7 +226,7 @@ func (s *Suite) Test_PlistChecker__autof
"WARN: ~/PLIST:4: \"lib/libvirt/connection-driver/libvirt_driver_libxl.la\" should be sorted before \"lib/libvirt/connection-driver/libvirt_driver_nodedev.la\".\n"+
"NOTE: ~/PLIST:6: PLIST files should mention \"man/\" instead of \"${PKGMANDIR}\".\n")
- s.UseCommandLine(c, "-Wall", "--autofix")
+ s.UseCommandLine("-Wall", "--autofix")
ChecklinesPlist(lines)
fixedLines := LoadExistingLines(fname, false)
@@ -230,7 +236,7 @@ func (s *Suite) Test_PlistChecker__autof
"AUTOFIX: ~/PLIST:1: Sorting the whole file.\n"+
"AUTOFIX: ~/PLIST: Has been auto-fixed. Please re-run pkglint.\n")
c.Check(len(lines), equals, len(fixedLines))
- c.Check(s.LoadTmpFile(c, "PLIST"), equals, ""+
+ c.Check(s.LoadTmpFile("PLIST"), equals, ""+
"@comment $"+"NetBSD$\n"+
"${PLIST.xen}lib/libvirt/connection-driver/libvirt_driver_libxl.la\n"+
"${PLIST.hal}lib/libvirt/connection-driver/libvirt_driver_nodedev.la\n"+
Index: pkgsrc/pkgtools/pkglint/files/patches_test.go
diff -u pkgsrc/pkgtools/pkglint/files/patches_test.go:1.6 pkgsrc/pkgtools/pkglint/files/patches_test.go:1.7
--- pkgsrc/pkgtools/pkglint/files/patches_test.go:1.6 Sat Jul 9 09:43:48 2016
+++ pkgsrc/pkgtools/pkglint/files/patches_test.go Tue Dec 13 00:58:07 2016
@@ -6,7 +6,8 @@ import (
)
func (s *Suite) Test_ChecklinesPatch__with_comment(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
lines := s.NewLines("patch-WithComment",
"$"+"NetBSD$",
"",
@@ -27,8 +28,9 @@ func (s *Suite) Test_ChecklinesPatch__wi
}
func (s *Suite) Test_ChecklinesPatch__without_empty_line(c *check.C) {
- fname := s.CreateTmpFile(c, "patch-WithoutEmptyLines", "dummy")
- s.UseCommandLine(c, "-Wall", "--autofix")
+ s.Init(c)
+ fname := s.CreateTmpFile("patch-WithoutEmptyLines", "dummy")
+ s.UseCommandLine("-Wall", "--autofix")
lines := s.NewLines(fname,
"$"+"NetBSD$",
"Text",
@@ -64,7 +66,8 @@ func (s *Suite) Test_ChecklinesPatch__wi
}
func (s *Suite) Test_ChecklinesPatch__without_comment(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
lines := s.NewLines("patch-WithoutComment",
"$"+"NetBSD$",
"",
@@ -82,7 +85,8 @@ func (s *Suite) Test_ChecklinesPatch__wi
}
func (s *Suite) Test_ChecklinesPatch__git_without_comment(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
lines := s.NewLines("patch-aa",
"$"+"NetBSD$",
"",
@@ -108,7 +112,8 @@ func (s *Suite) Test_checklineOtherAbsol
}
func (s *Suite) Test_ChecklinesPatch__error_code(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
lines := s.NewLines("patch-ErrorCode",
"$"+"NetBSD$",
"",
@@ -128,7 +133,8 @@ func (s *Suite) Test_ChecklinesPatch__er
}
func (s *Suite) Test_ChecklinesPatch__wrong_header_order(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
lines := s.NewLines("patch-WrongOrder",
"$"+"NetBSD$",
"",
@@ -149,7 +155,8 @@ func (s *Suite) Test_ChecklinesPatch__wr
}
func (s *Suite) Test_ChecklinesPatch__context_diff(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
lines := s.NewLines("patch-ctx",
"$"+"NetBSD$",
"",
Index: pkgsrc/pkgtools/pkglint/files/substcontext_test.go
diff -u pkgsrc/pkgtools/pkglint/files/substcontext_test.go:1.6 pkgsrc/pkgtools/pkglint/files/substcontext_test.go:1.7
--- pkgsrc/pkgtools/pkglint/files/substcontext_test.go:1.6 Sat Jul 9 09:43:48 2016
+++ pkgsrc/pkgtools/pkglint/files/substcontext_test.go Tue Dec 13 00:58:07 2016
@@ -67,7 +67,8 @@ func (s *Suite) Test_SubstContext__OPSYS
}
func (s *Suite) Test_SubstContext__no_class(c *check.C) {
- s.UseCommandLine(c, "-Wextra")
+ s.Init(c)
+ s.UseCommandLine("-Wextra")
ctx := new(SubstContext)
ctx.Varassign(newSubstLine(10, "UNRELATED=anything"))
Index: pkgsrc/pkgtools/pkglint/files/util_test.go
diff -u pkgsrc/pkgtools/pkglint/files/util_test.go:1.6 pkgsrc/pkgtools/pkglint/files/util_test.go:1.7
--- pkgsrc/pkgtools/pkglint/files/util_test.go:1.6 Mon Nov 14 01:08:23 2016
+++ pkgsrc/pkgtools/pkglint/files/util_test.go Tue Dec 13 00:58:07 2016
@@ -61,12 +61,13 @@ func (s *Suite) Test_cleanpath(c *check.
}
func (s *Suite) Test_isEmptyDir_and_getSubdirs(c *check.C) {
- s.CreateTmpFile(c, "CVS/Entries", "dummy\n")
+ s.Init(c)
+ s.CreateTmpFile("CVS/Entries", "dummy\n")
c.Check(isEmptyDir(s.tmpdir), equals, true)
c.Check(getSubdirs(s.tmpdir), check.DeepEquals, []string(nil))
- s.CreateTmpFile(c, "somedir/file", "")
+ s.CreateTmpFile("somedir/file", "")
c.Check(isEmptyDir(s.tmpdir), equals, false)
c.Check(getSubdirs(s.tmpdir), check.DeepEquals, []string{"somedir"})
Index: pkgsrc/pkgtools/pkglint/files/pkglint.go
diff -u pkgsrc/pkgtools/pkglint/files/pkglint.go:1.15 pkgsrc/pkgtools/pkglint/files/pkglint.go:1.16
--- pkgsrc/pkgtools/pkglint/files/pkglint.go:1.15 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/pkglint.go Tue Dec 13 00:58:07 2016
@@ -305,7 +305,7 @@ func ChecklinesTrailingEmptyLines(lines
}
}
-func MatchVarassign(text string) (m bool, varname, spaceAfterVarname, op, valueAlign, value, comment string) {
+func MatchVarassign(text string) (m bool, varname, spaceAfterVarname, op, valueAlign, value, spaceAfterValue, comment string) {
i, n := 0, len(text)
for i < n && text[i] == ' ' {
@@ -373,6 +373,11 @@ func MatchVarassign(text string) (m bool
}
commentStart := i
+ for text[i-1] == ' ' || text[i-1] == '\t' {
+ i--
+ }
+ valueEnd := i
+
commentEnd := n
m = true
@@ -381,6 +386,7 @@ func MatchVarassign(text string) (m bool
op = text[opStart:opEnd]
valueAlign = text[0:valueStart]
value = strings.TrimSpace(string(valuebuf[:j]))
+ spaceAfterValue = text[valueEnd:commentStart]
comment = text[commentStart:commentEnd]
return
}
@@ -395,16 +401,26 @@ type DependencyPattern struct {
}
func resolveVarsInRelativePath(relpath string, adjustDepth bool) string {
-
tmp := relpath
tmp = strings.Replace(tmp, "${PKGSRCDIR}", G.CurPkgsrcdir, -1)
tmp = strings.Replace(tmp, "${.CURDIR}", ".", -1)
tmp = strings.Replace(tmp, "${.PARSEDIR}", ".", -1)
- tmp = strings.Replace(tmp, "${LUA_PKGSRCDIR}", "../../lang/lua52", -1)
- tmp = strings.Replace(tmp, "${PHPPKGSRCDIR}", "../../lang/php56", -1)
- tmp = strings.Replace(tmp, "${SUSE_DIR_PREFIX}", "suse100", -1)
- tmp = strings.Replace(tmp, "${PYPKGSRCDIR}", "../../lang/python27", -1)
- tmp = strings.Replace(tmp, "${PYPACKAGE}", "python27", -1)
+ if contains(tmp, "${LUA_PKGSRCDIR}") {
+ tmp = strings.Replace(tmp, "${LUA_PKGSRCDIR}", G.globalData.Latest("lang", `^lua[0-9]+$`, "../../lang/$0"), -1)
+ }
+ if contains(tmp, "${PHPPKGSRCDIR}") {
+ tmp = strings.Replace(tmp, "${PHPPKGSRCDIR}", G.globalData.Latest("lang", `^php[0-9]+$`, "../../lang/$0"), -1)
+ }
+ if contains(tmp, "${SUSE_DIR_PREFIX}") {
+ suseDirPrefix := G.globalData.Latest("emulators", `^(suse[0-9]+)_base`, "$1")
+ tmp = strings.Replace(tmp, "${SUSE_DIR_PREFIX}", suseDirPrefix, -1)
+ }
+ if contains(tmp, "${PYPKGSRCDIR}") {
+ tmp = strings.Replace(tmp, "${PYPKGSRCDIR}", G.globalData.Latest("lang", `^python[0-9]+$`, "../../lang/$0"), -1)
+ }
+ if contains(tmp, "${PYPACKAGE}") {
+ tmp = strings.Replace(tmp, "${PYPACKAGE}", G.globalData.Latest("lang", `^python[0-9]+$`, "$0"), -1)
+ }
if G.Pkg != nil {
tmp = strings.Replace(tmp, "${FILESDIR}", G.Pkg.Filesdir, -1)
tmp = strings.Replace(tmp, "${PKGDIR}", G.Pkg.Pkgdir, -1)
Index: pkgsrc/pkgtools/pkglint/files/shell_test.go
diff -u pkgsrc/pkgtools/pkglint/files/shell_test.go:1.12 pkgsrc/pkgtools/pkglint/files/shell_test.go:1.13
--- pkgsrc/pkgtools/pkglint/files/shell_test.go:1.12 Sun Jul 10 21:24:47 2016
+++ pkgsrc/pkgtools/pkglint/files/shell_test.go Tue Dec 13 00:58:07 2016
@@ -102,7 +102,8 @@ func (s *Suite) Test_splitIntoShellToken
}
func (s *Suite) Test_ShellLine_CheckShellCommandLine(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.Mk = s.NewMkLines("fname",
"# dummy")
shline := NewShellLine(G.Mk.mklines[0])
@@ -228,7 +229,8 @@ func (s *Suite) Test_ShellLine_CheckShel
}
func (s *Suite) Test_ShellLine_CheckShellCommandLine__nofix(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
s.RegisterTool(&Tool{Name: "echo", Predefined: true})
G.Mk = s.NewMkLines("Makefile",
@@ -245,7 +247,8 @@ func (s *Suite) Test_ShellLine_CheckShel
}
func (s *Suite) Test_ShellLine_CheckShellCommandLine__show_autofix(c *check.C) {
- s.UseCommandLine(c, "-Wall", "--show-autofix")
+ s.Init(c)
+ s.UseCommandLine("-Wall", "--show-autofix")
G.globalData.InitVartypes()
s.RegisterTool(&Tool{Name: "echo", Predefined: true})
G.Mk = s.NewMkLines("Makefile",
@@ -260,7 +263,8 @@ func (s *Suite) Test_ShellLine_CheckShel
}
func (s *Suite) Test_ShellLine_CheckShellCommandLine__autofix(c *check.C) {
- s.UseCommandLine(c, "-Wall", "--autofix")
+ s.Init(c)
+ s.UseCommandLine("-Wall", "--autofix")
G.globalData.InitVartypes()
s.RegisterTool(&Tool{Name: "echo", Predefined: true})
G.Mk = s.NewMkLines("Makefile",
@@ -274,7 +278,8 @@ func (s *Suite) Test_ShellLine_CheckShel
}
func (s *Suite) Test_ShellLine_CheckShellCommandLine__implementation(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
G.Mk = s.NewMkLines("fname",
"# dummy")
@@ -312,7 +317,8 @@ func (s *Suite) Test_ShellLine_CheckShel
}
func (s *Suite) Test_ShellLine_CheckWord(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
G.globalData.InitVartypes()
shline := NewShellLine(NewMkLine(NewLine("fname", 1, "# dummy", nil)))
@@ -362,7 +368,8 @@ func (s *Suite) Test_ShellLine_CheckWord
}
func (s *Suite) Test_ShellLine_CheckShellCommandLine__echo(c *check.C) {
- s.UseCommandLine(c, "-Wall")
+ s.Init(c)
+ s.UseCommandLine("-Wall")
s.RegisterTool(&Tool{Name: "echo", Varname: "ECHO", MustUseVarForm: true, Predefined: true})
G.Mk = s.NewMkLines("fname",
"# dummy")
@@ -486,7 +493,8 @@ func (s *Suite) Test_ShellLine_CheckShel
}
func (s *Suite) Test_ShellLine__shell_comment_with_line_continuation(c *check.C) {
- tmpfile := s.CreateTmpFile(c, "Makefile", ""+
+ s.Init(c)
+ tmpfile := s.CreateTmpFile("Makefile", ""+
"# $"+"NetBSD$\n"+
"pre-install:\n"+
"\t"+"# comment\\\n"+
Index: pkgsrc/pkgtools/pkglint/files/toplevel_test.go
diff -u pkgsrc/pkgtools/pkglint/files/toplevel_test.go:1.4 pkgsrc/pkgtools/pkglint/files/toplevel_test.go:1.5
--- pkgsrc/pkgtools/pkglint/files/toplevel_test.go:1.4 Sat Jul 9 09:43:48 2016
+++ pkgsrc/pkgtools/pkglint/files/toplevel_test.go Tue Dec 13 00:58:07 2016
@@ -5,7 +5,8 @@ import (
)
func (s *Suite) Test_CheckdirToplevel(c *check.C) {
- s.CreateTmpFile(c, "Makefile", ""+
+ s.Init(c)
+ s.CreateTmpFile("Makefile", ""+
"# $"+"NetBSD$\n"+
"\n"+
"SUBDIR+= x11\n"+
@@ -15,10 +16,10 @@ func (s *Suite) Test_CheckdirToplevel(c
"#SUBDIR+=\tignoreme\n"+
"SUBDIR+=\tnonexisting\n"+ // This just doesn’t happen in practice.
"SUBDIR+=\tbbb\n")
- s.CreateTmpFile(c, "archivers/Makefile", "")
- s.CreateTmpFile(c, "bbb/Makefile", "")
- s.CreateTmpFile(c, "ccc/Makefile", "")
- s.CreateTmpFile(c, "x11/Makefile", "")
+ s.CreateTmpFile("archivers/Makefile", "")
+ s.CreateTmpFile("bbb/Makefile", "")
+ s.CreateTmpFile("ccc/Makefile", "")
+ s.CreateTmpFile("x11/Makefile", "")
G.globalData.InitVartypes()
G.CurrentDir = s.tmpdir
Index: pkgsrc/pkgtools/pkglint/files/vartypecheck.go
diff -u pkgsrc/pkgtools/pkglint/files/vartypecheck.go:1.20 pkgsrc/pkgtools/pkglint/files/vartypecheck.go:1.21
--- pkgsrc/pkgtools/pkglint/files/vartypecheck.go:1.20 Sun Dec 4 15:28:36 2016
+++ pkgsrc/pkgtools/pkglint/files/vartypecheck.go Tue Dec 13 00:58:07 2016
@@ -188,6 +188,10 @@ func (cv *VartypeCheck) Comment() {
if len(value) > 70 {
line.Warnf("COMMENT should not be longer than 70 characters.")
}
+ if hasPrefix(value, "\"") && hasSuffix(value, "\"") ||
+ hasPrefix(value, "'") && hasSuffix(value, "'") {
+ line.Warnf("COMMENT should not be enclosed in quotes.")
+ }
}
func (cv *VartypeCheck) Dependency() {
Index: pkgsrc/pkgtools/pkglint/files/vartypecheck_test.go
diff -u pkgsrc/pkgtools/pkglint/files/vartypecheck_test.go:1.14 pkgsrc/pkgtools/pkglint/files/vartypecheck_test.go:1.15
--- pkgsrc/pkgtools/pkglint/files/vartypecheck_test.go:1.14 Sun Jul 10 21:24:47 2016
+++ pkgsrc/pkgtools/pkglint/files/vartypecheck_test.go Tue Dec 13 00:58:07 2016
@@ -31,8 +31,9 @@ func (s *Suite) Test_VartypeCheck_Buildl
}
func (s *Suite) Test_VartypeCheck_Category(c *check.C) {
- s.CreateTmpFile(c, "filesyscategory/Makefile", "# empty\n")
- s.CreateTmpFile(c, "wip/Makefile", "# empty\n")
+ s.Init(c)
+ s.CreateTmpFile("filesyscategory/Makefile", "# empty\n")
+ s.CreateTmpFile("wip/Makefile", "# empty\n")
G.CurrentDir = s.tmpdir
G.CurPkgsrcdir = "."
@@ -67,14 +68,18 @@ func (s *Suite) Test_VartypeCheck_Commen
"Versatile Programming Language",
"TODO: Short description of the package",
"A great package.",
- "some packages need a very very long comment to explain their basic usefulness")
+ "some packages need a very very long comment to explain their basic usefulness",
+ "\"Quoting the comment is wrong\"",
+ "'Quoting the comment is wrong'")
c.Check(s.Output(), equals, ""+
"ERROR: fname:2: COMMENT must be set.\n"+
"WARN: fname:3: COMMENT should not begin with \"A\".\n"+
"WARN: fname:3: COMMENT should not end with a period.\n"+
"WARN: fname:4: COMMENT should start with a capital letter.\n"+
- "WARN: fname:4: COMMENT should not be longer than 70 characters.\n")
+ "WARN: fname:4: COMMENT should not be longer than 70 characters.\n"+
+ "WARN: fname:5: COMMENT should not be enclosed in quotes.\n"+
+ "WARN: fname:6: COMMENT should not be enclosed in quotes.\n")
}
func (s *Suite) Test_VartypeCheck_Dependency(c *check.C) {
@@ -115,8 +120,9 @@ func (s *Suite) Test_VartypeCheck_Depend
}
func (s *Suite) Test_VartypeCheck_DependencyWithPath(c *check.C) {
- s.CreateTmpFile(c, "x11/alacarte/Makefile", "# empty\n")
- s.CreateTmpFile(c, "category/package/Makefile", "# empty\n")
+ s.Init(c)
+ s.CreateTmpFile("x11/alacarte/Makefile", "# empty\n")
+ s.CreateTmpFile("category/package/Makefile", "# empty\n")
G.globalData.Pkgsrcdir = s.tmpdir
G.CurrentDir = s.tmpdir + "/category/package"
G.CurPkgsrcdir = "../.."
@@ -374,7 +380,8 @@ func (s *Suite) Test_VartypeCheck_SedCom
c.Check(s.Output(), equals, ""+
"NOTE: fname:1: Please always use \"-e\" in sed commands, even if there is only one substitution.\n"+
- "NOTE: fname:2: Each sed command should appear in an assignment of its own.\n")
+ "NOTE: fname:2: Each sed command should appear in an assignment of its own.\n"+
+ "WARN: fname:3: The # character starts a comment.\n")
}
func (s *Suite) Test_VartypeCheck_ShellCommands(c *check.C) {
Home |
Main Index |
Thread Index |
Old Index