| History log of /src/tests/usr.bin/make/t_make.sh |
| Revision | | Date | Author | Comments |
| 1.17 |
| 25-Feb-2023 |
sjg | t_make skip varname-dot-make-meta-ignore_*
The meta-ignore tests will likely not work in this environment so skip them.
|
| 1.16 |
| 19-Jan-2023 |
rillig | tests/make: rename files that are not test cases
|
| 1.15 |
| 17-Apr-2021 |
rillig | tests/make: remove ATF descr
The description of the tests is not going to be added anytime soon, as that would either create redundancy or additional run-time cost. Parsing and evaluating unit-tests/Makefile is already O(n^2) with regard to the number of tests, and there are quite a few tests. Therefore don't add any overhead for now.
|
| 1.14 |
| 17-Apr-2021 |
rillig | tests/make: indent consistently
|
| 1.13 |
| 06-Feb-2021 |
martin | Run all make tests as unprileged user - makes checking permission issues a lot easier.
|
| 1.12 |
| 20-Oct-2020 |
rillig | make(1): split test suffixes.mk into simpler, isolated tests
The code in suff.c is already hard to understand, and so were the tests in suffixes.mk since several independent topics were merged into a single test.
Splitting this test into a separate test per issue allows to document the expected and actual behavior in more detail. That's complicated enough already.
PR bin/49086
|
| 1.11 |
| 10-Sep-2020 |
kre | Whitespace. NFC.
|
| 1.10 |
| 10-Sep-2020 |
kre | Replace use of tr to translate '-' in test names into '_' to satisfy ATF requirements (correct sh variable/function name syntax). Use a sh loop instead, and save one fork() one vfork() and one exec of tr for each test case (many of which don't need anything done to them at all).
This might partially mitigate PR misc/55595
|
| 1.9 |
| 15-Aug-2020 |
rillig | make(1): mark tests impsrc and phony-end as no longer failing
These tests have been adjusted to demonstrate the current behavior, mentioning the expected behavior in comments.
|
| 1.8 |
| 08-Jun-2020 |
rillig | usr.bin/make: fix test failure
The two files include-sub.mk and include-subsub.mk were never intended to be test cases on their own. They belong to include-main.mk.
Fixes PR bin/55360.
|
| 1.7 |
| 27-Jan-2015 |
martin | Mark the failing tests as expected failure and point to PR toolchain/49085.
|
| 1.6 |
| 23-Aug-2014 |
apb | Remove commented-out debug code that was accidentally committed yesterday.
|
| 1.5 |
| 23-Aug-2014 |
christos | undo previous bogus merge of PR49085
|
| 1.4 |
| 23-Aug-2014 |
christos | PR/46096: Jarmo Jaakkola: fix many problems with dependencies (PR 49086)
Quite extensive rewrite of the Suff module. Some ripple effects into Parse and Targ modules too.
Dependency searches in general were made to honor explicit rules so implicit and explicit sources are no longer applied on targets that do not invoke a transformation rule.
Archive member dependency search was rewritten. Explicit rules now work properly and $(.TARGET) is set correctly. POSIX semantics for lib(member.o) and .s1.a rules are supported.
.SUFFIXES list maintenance was rewritten so that scanning of existing rules works when suffixes are added and that clearing the suffix list removes single suffix rules too. Transformation rule nodes are now mixed with regular nodes so they are available as regular targets too if needed (especially after the known suffixes are cleared).
The .NULL target was documented in the manual page, especially to warn against using it when a single suffix rule would work. A deprecation warning was also added to the manual and make also warns the user if it encounters .NULL.
Search for suffix rules no longer allows the explicit dependencies to override the selected transformation rule. A check is made in the search that the transformation that would be tried does not already exist in the chain. This prevents getting stuck in an infinite loop under specific circumstances. Local variables are now set before node's children are expanded so dynamic sources work in multi-stage transformations. Make_HandleUse() no longer expands the added children for transformation nodes, preventing triple expansion and allowing the Suff module to properly postpone their expansion until proper values are set for the local variables.
Directory prefix is no longer removed from $(.PREFIX) if the target is found via directory search.
The last rule defined is now used instead of the first one (POSIX requirement) in case a rule is defined multiple times. Everything defined in the first instance is undone, but things added "globally" are honored. To implement this, each node tracks attribute bits which have been set by special targets (global) instead of special sources (local). They also track dependencies that were added by a rule with commands (local) instead of rule with no commands (global).
New attribute, OP_FROM_SYS_MK is introduced. It is set on all targets found in system makefiles so that they are not eligible to become the main target. We cannot just set OP_NOTMAIN because it is one of the attributes inherited from transformation and .USE rules and would make any eligible target that uses a built-in inference rule ineligible.
The $(.IMPSRC) local variable now works like in gmake: it is set to the first prerequisite for explicit rules. For implicit rules it is still the implied source.
The manual page is improved regarding the fixed features. Test cases for the fixed problems are added.
Other improvements in the Suff module include: - better debug messages for transformation rule search (length of the chain is now visualized by indentation) - Suff structures are created, destroyed and moved around by a set of maintenance functions so their reference counts are easier to track (this also gets rid of a lot of code duplication) - some unreasonably long functions were split into smaller ones - many local variables had their names changed to describe their purpose instead of their type
|
| 1.3 |
| 23-Aug-2014 |
christos | PR/49085: Jarmo Jaakkola: fix several parsing errors
Don't exit from var.c:Var_Parse() before possible modifiers are handled on D and F modified versions of local variables. Properly expand $(?D) and $(?F) too.
Make line continuations in rule's commands POSIX compliant.
Fix the syntax error caused by lib(member) as the last target before a dependency operator.
Document the line continuation change in the manual page. Also talk more about the POSIX style local variables and their modifiers.
Add tests covering the fixed problems into d_posix.mk. The test is a known failure at the moment because of PR 49086 and PR 49092.
[XXX: unconverted tests]
|
| 1.2 |
| 22-Aug-2014 |
apb | Test make(1) by running the maintained tests, not unmaintained copies of them.
* Remove all old tests from src/tests/usr.bin/make/d_*. These tests were unmaintained old copies of the actual tests which are maintained under src/usr.bin/make/unit-tests. One exception is the test in d_unmatchedvarparen.mk, which was new, but has nw been added to src/usr.bin/make/unit-tests/varmisc.mk. * In src/tests/usr.bin/make/Makefile, copy all the tests from src/usr.bin/make/unit-tests to ${DESTDIR}/usr/tests/usr.bin/make/unit-tests. * In src/tests/usr.bin/make/t_make.sh, run the tests installed above, instead of the old tests. * In etc/mtree/NetBSD.dist.tests, create the usr/tests/usr.bin/make/unit-tests diectory. * Update the set lists for all the above.
|
| 1.1 |
| 17-Mar-2012 |
jruoho | branches: 1.1.2; Deprecate tests/util.
|
| 1.1.2.2 |
| 17-Apr-2012 |
yamt | sync with head
|
| 1.1.2.1 |
| 17-Mar-2012 |
yamt | file t_make.sh was added on branch yamt-pagecache on 2012-04-17 00:09:21 +0000
|