summaryrefslogtreecommitdiff
path: root/regress
AgeCommit message (Collapse)AuthorFilesLines
2020-06-07regress/infra-unittests: add test case for no-op detectionrillig2-4/+91
2020-06-06regress/infra-unittests: add test for larger_symbol_version.awkrillig1-0/+92
2020-06-06mk/subst.mk: fix wrong SUBST failure in mail/policyd-weightrillig1-22/+11
The general rule is that a SUBST_SED that contains _any_ identity substitution may leave files unmodified, no matter if there are other substitutions as well.
2020-06-06regress/infra-unittests: demonstrate wrong SUBST no-op failurerillig1-1/+46
Discovered by Juraj in mail/policyd-weight. https://mail-index.netbsd.org/pkgsrc-changes/2020/06/06/msg215480.html
2020-05-24regress/plus_build_version: fix testrillig1-1/+1
2020-05-23mk/configure: fix configure options check for custom CONFIGURE_SCRIPTrillig1-1/+57
Seen in cross/arm-none-eabi-gdb.
2020-05-23regress/infra-unittests: document creative AC_ARG_WITH in lang/mono4rillig1-1/+14
2020-05-22mk/configure: fix check for unknown configure optionsrillig1-14/+13
2020-05-22regess/infra-unittests: add test for unknown configure optionrillig1-2/+46
2020-05-21mk/pkgformat/metadata.mk: fix relative paths in PATCHDIR and FILESDIRrillig1-7/+5
Before, relative paths had been stored as-is. This affected those packages that defined PATCHDIR or FILESDIR as relative directory instead of prefixing it with ${.CURDIR}. Since there are already several other paths that are interpreted relative to the package directory (CONFLICTS, DEPENDS), allow PATCHDIR and FILESDIR to be specified as relative paths, too. This makes the package Makefiles a bit shorter.
2020-05-21mk/configure: completely rewrite check for unknown configure optionsrillig8-196/+399
The previous implementation could not reliably detect outdated configure options. This was apparent in devel/gettext-tools, where the option --with-included-libcroco had become unknown between May 2019 and May 2020, but the check was not run. The behavior is the same in the pkgsrc default configuration. Only if GNU_CONFIGURE_STRICT=yes, the new check is activated and will make packages fail that previously succeeded to build. Since that variable is not widely known, there won't be much sudden breakage, if any.
2020-05-21regress/tools-platform: add test for "$@" and kshrillig1-1/+7
2020-05-19regress/infra-unittests: demonstrate relative paths in +BUILD_VERSIONrillig1-0/+116
Pointed out by wiz@. This occured in math/libixion/Makefile.common until 2020-05-19, and still occurs in math/xyconvert/Makefile. In all other packages, PKGDIR is prefixed with ${.CURDIR} and is thus an absolute path. It should not be necessary to always specify PATCHDIR as an absolute path, and the code in mk/pkgformat/pkg/metadata.mk seems to be the only place where relative paths are handled wrong.
2020-05-19regress/infra-unittests: remove unnecessary tmpdir handlingrillig1-14/+14
The test infrastructure from test.subr already takes care of setting up a temporary directory.
2020-05-19regress/plus_build_version: the bug has been fixed in January 2020rillig1-2/+1
2020-05-18mk/configure/replace-interpreter.mk: silently skip broken symlinksrillig1-0/+119
Like directories, they probably come from shell globs. Seen in misc/byobu.
2020-05-17regress/infra-unittests: add test for variable precedencerillig1-0/+70
2020-05-16regress/infra-unittests: replace double quotes with single quotesrillig1-36/+36
2020-05-16mk/subst.mk: change default value for SUBST_NOOP_OK from yes to norillig1-8/+153
This makes the SUBST blocks stricter than before, to detect outdated or unnecessary definitions. Filename patterns that are not affected by any of the SUBST_SED expressions make the build fail. It is still ok if only some of the files from a pattern are affected and some aren't. The latest bulk build shows that most of the build failures are fixed. The packages that fail in that build are mostly due to other failures, like missing C headers, wrong PLIST files, unresolved references at link time. There may be a few packages that still fail because of this, but these are near the leaves of the dependency tree. https://mail-index.netbsd.org/pkgsrc-bulk/2020/05/14/msg018919.html
2020-05-16mk/subst.mk: properly detect s,a,a,1 as identity substitutionrillig1-1/+4
Seen in games/bastet. The 1 is not necessary though since it only repeats the default behavior of sed.
2020-05-12regress/infra-unittests: clean up test code, add portabilityrillig2-104/+52
The test can now be run with bash and ksh as well. Bash exits if a function call returns failure, the NetBSD /bin/sh doesn't. After reading POSIX, sections "2.9.1 Simple Commands" and "set -e", I'm in favor of bash here. Ksh exits in "set -eu" mode if "$@" is used but no arguments are given.
2020-05-12regress/infra-unittests: clean up test code for subst.mkrillig1-32/+34
There had been unnecessary variations in the code.
2020-05-12regress/infra-unittests: replace remaining double with single quotesrillig1-89/+88
2020-05-11regress/infra-unittests: replace double quotes with single quotesrillig1-247/+247
Strings in single quotes are simpler to understand and also need fewer pixels on the screen.
2020-05-11mk/subst.mk: fix edge case in detection of identity substitutionsrillig1-4/+24
In a basic regular expression, a dollar-sign only means end-of-string if it appears at the end of the pattern, or (at the choice of the implementation) at the end of a \(...\) subexpression. This affects the package converters/help2man that uses a regular expression containing a dollar in a non-final position. This regular expression had not been detected as an identity substitution even though it is one.
2020-05-11regress/infra-unittests: add tests for identity substitutionsrillig1-1/+9
2020-05-11regress/infra-unittests: run tests in a temporary directoryrillig4-193/+188
This isolates the tests from the test infrastructure and allows the test infrastructure to create arbitrary files for its own purpose without affecting any of the tests.
2020-05-11regress/tools-platform: demonstrate bug in nbsed-20120308rillig1-2/+9
2020-05-09regress/buildlink-transform: clean up coderillig1-6/+3
2020-05-09regress/buildlink-transform: repair most of the regression testrillig1-1/+4
This test is for the old compiler wrapper. Using it with the cwrappers from 2014 makes several test cases fail.
2020-05-09regress/replace-interpreter: fix package installationrillig1-2/+2
2020-05-09regress/make-shell: add missing variable for the shell testrillig1-1/+2
2020-05-09regress/ignore-tools: removerillig3-56/+0
This regression test has been broken for a long time now. It tested the _TOOLS_OPSYS_INCOMPAT variable, which does not exist anymore.
2020-05-09regress/replace-interpreter: ensure order of targetsrillig3-0/+41
2020-05-09regress/infra-unittests: parse command line options [-kv] [-f filter]rillig1-11/+23
2020-05-09regress/infra-unittests: indent here-documentsrillig1-184/+183
2020-05-06mk/subst.mk: allow identity substitutions with escaped dotsrillig1-1/+24
This fixes the build of converters/help2man in SUBST_NOOP_OK=no mode.
2020-05-05regress/infra-unittests: add tests for portability checksrillig1-1/+44
Files like Makefile.am and configure.ac are usually not used during a build, therefore there's no point in checking these for shell portability issues.
2020-05-05mk/check/check-portability: opt-in for newer portability checksrillig1-6/+25
There are a few portability checks that have been existing for years. Later additions need an opt-in phase to avoid breaking existing usages. https://mail-index.netbsd.org/tech-pkg/2020/05/04/msg023084.html
2020-05-04mk/check/check-portability: fix error message when no patches are foundrillig1-1/+19
2020-05-04mk/check/check-portability: skip X.in if X is patchedrillig1-0/+177
A commonly occuring scenario is that a package patches the configure script, but that the corresponding configure.in contains shell code that is not portable. In cases like these, configure.in is typically not used during the build, therefore there is no need to check it for portability. This also applies to all other combinations where a file is patched and the corresponding file.in contains unportable shell code.
2020-05-04regress/check-portability: fix regression test for added line numbersrillig2-19/+4
The line numbers were added to the output in check-portability.awk r1.12.
2020-05-03mk/help: do not treat continuation lines as textual commentsrillig1-1/+28
2020-05-03mk/help: only list help topics that have associated keywordsrillig1-7/+2
2020-05-03regress/infra-unittests: demonstrate wrong help topics without keywordsrillig1-1/+29
2020-05-03regress/tools-platform: document which shell pkgsrc usesrillig1-5/+12
2020-05-02regress/tools: reduce the number of backslashes in the coderillig1-2/+2
2020-05-02regress/tools: adjust COMMENTrillig1-7/+4
2020-05-02regress: move tests for platform tools to tools-platformrillig10-58/+47
2020-05-02regress/infra-unittests: add more tests for subst.mkrillig1-1/+3
Having quotes around the sed commands does not change their meaning. These quotes must not lead to syntax errors when parsing the shell command. This happened in mk/subst.mk r1.91 because the double quote was accidentally escaped.