| History log of /src/usr.bin/make/unit-tests/opt-debug.exp | 
    | Revision |  | Date | Author | Comments | 
| 1.5 |  | 05-Apr-2021 | rillig | make: in debug log, add space between scope and variable name 
 Without this space, the debug log looked more like line noise, even
 though the only punctuation was a single innocent ':'.  From a make
 user's perspective, the variable name is a word of its own and should
 not be visually glued to its namespace.
 
 | 
| 1.4 |  | 05-Oct-2020 | rillig | make(1): revert previous commit 
 It had accidentally reverted all the work from the past few days.
 
 | 
| 1.3 |  | 05-Oct-2020 | rillig | make(1): fix double-free bug in -DCLEANUP mode (since 2020-10-02) 
 The bug had been introduced with dir.c 1.155 on 2020-10-02 22:20:25.  In
 that commit, openDirectories was replaced with a combination of a list
 with a hash table, for more efficient lookup by name.
 
 Upon cleanup, OpenDirs_Done is called, which in turn called
 Dir_ClearPath.  Dir_ClearPath takes full ownership of the given list and
 empties it.  This was no problem before since afterwards the list was
 empty and calling Lst_Free just frees the remaining list pointer.
 
 With OpenDirs, this list was combined with a hash table, and the hash
 table contains the list nodes, assuming that the OpenDirs functions have
 full ownership of both the list and the hash table.  This assumption was
 generally correct, except for the one moment during cleanup where full
 ownership of the list was passed to Dir_ClearPath, while the hash table
 still contained pointers to the (now freed) list nodes.  This by itself
 was not a problem since the hash table would be freed afterwards.  But
 as part of Dir_ClearPath, OpenDirs_Remove was called, which looked up
 the freed directory by name and now found the freed list node, trying to
 free it again.  Boom.
 
 Fixed by replacing the call to Dir_ClearPath with code that only frees
 the directories, without giving up control over the list.
 
 | 
| 1.2 |  | 03-Oct-2020 | rillig | make(1): allow to disable debug logging options 
 This is only intended for the unit tests, to selectively enable and
 disable debug logging as needed.  Previously the tests for debug logging
 required complicated postprocessing that was not obvious when looking at
 the test .mk file alone, but was specified externally in
 unit-tests/Makefile.
 
 This is the simplest possible implementation.  Another variant would
 have been to selectively disable individual debug logging options, but
 that would have made the code more complicated.
 
 The -dL option is not affected by -d0 since that is not really a debug
 option, even if it is implemented as one.
 
 | 
| 1.1 |  | 16-Aug-2020 | rillig | make(1): add dummies for fine-grained tests, one per single feature 
 The test names have been derived from the current manual page.
 
 All these tests are dummies right now, and the code from the existing
 tests will be moved into the new tests step by step.
 
 This is done to prevent modmisc, escape, varmod-edge and varmisc from
 growing without any bounds, and to reduce the side-effects of one test
 to the others.
 
 |