The NetBSD Project

CVS log for src/usr.bin/make/unit-tests/directive-export-impl.exp

[BACK] Up to [cvs.NetBSD.org] / src / usr.bin / make / unit-tests

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.17 / (download) - annotate - [select for diffs], Thu Mar 3 19:36:35 2022 UTC (23 months, 3 weeks ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, HEAD
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

make: make debug logging for comparisons less technical

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jan 10 20:32:29 2022 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.15: +2 -0 lines
Diff to previous 1.15 (colored)

make: add debug logging for capturing the output of external commands

This applies to all 4 situations in which the output of an external
command is used for modifying a variable or an expression:

* the assignment operator '!='
* the assignment modifier '::!='
* the SUN shell modifier ':sh'
* the other shell modifier ':!cmd!'

Previously, only the shell modifier ':!cmd!' had debug logging.

Suggested by Christoph Badura.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Dec 28 15:49:00 2021 UTC (2 years, 1 month ago) by rillig
Branch: MAIN
Changes since 1.14: +7 -7 lines
Diff to previous 1.14 (colored)

make: make debug logging a bit more human-friendly

The previous log format "ParseReadLine (%d): '%s'" focused on the
implementation, it was not immediately obvious to a casual reader that
the number in parentheses was the line number.  Additionally, having
both a colon and quotes in a log message is uncommon.  The quotes have
been added in parse.c 1.127 from 2007-01-01.

The new log format "Parsing line %d: %s" is meant to be easier readable
by humans.  The quotes are not needed since ParseReadLine always strips
trailing whitespace, leaving no room for ambiguities.  The other log
messages follow common punctuation rules, which makes the beginning of
the line equally unambiguous.  Before var.c 1.911 from 2021-04-05,
variable assignments were logged with the format "%s:%s = %s", without a
space after the colon.

Revision 1.14 / (download) - annotate - [select for diffs], Sat Nov 20 17:51:48 2021 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

make: use correct plural form in debug message

Revision 1.13 / (download) - annotate - [select for diffs], Tue Apr 6 01:38:39 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.12: +6 -6 lines
Diff to previous 1.12 (colored)

make: reduce verbosity of the -dv debug logging for standard cases

The verbosity was already removed from LogBeforeApply, now it is
consistent between LogBeforeApply and LogAfterApply.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Apr 5 13:35:41 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.11: +6 -6 lines
Diff to previous 1.11 (colored)

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.

Revision 1.11 / (download) - annotate - [select for diffs], Mon Apr 5 13:27:30 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.10: +6 -6 lines
Diff to previous 1.10 (colored)

make: omit unnecessary details from -dv debug log

When an expression is based on a defined variable, it does not matter
whether the evaluation mode is "eval" or "eval-defined", therefore omit
these details to reduce confusion.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Apr 5 13:14:55 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.9: +8 -8 lines
Diff to previous 1.9 (colored)

make: be more verbose in -dv debug logging

The previous log output was too brief to be understandable.  Give more
hints by describing each part of the expression when evaluating a
modifier.  Distinguish between parse-only mode and eval mode since in
parse-only mode most of the details are irrelevant.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Apr 5 12:51:35 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

make: clean up debug logging for ':M' and ':N'

Using square brackets as quotes was confusing since patterns can contain
square brackets themselves.

The debug logging for VarMatch was a bit too detailed.  Having the
"before" and "after" states is enough for all practically relevant
cases.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Apr 4 10:13:09 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.7: +4 -4 lines
Diff to previous 1.7 (colored)

make: remove filler word 'Do' from function names for parsing

No functional change, except for debug logging.

Revision 1.7 / (download) - annotate - [select for diffs], Sat Apr 3 23:08:30 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.6: +4 -4 lines
Diff to previous 1.6 (colored)

make: replace enum bit-set with struct bit-fields

This makes the code easier to read, especially when setting one of the
flags to false.

No functional change.

Revision 1.6 / (download) - annotate - [select for diffs], Sat Apr 3 22:02:59 2021 UTC (2 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.5: +16 -16 lines
Diff to previous 1.5 (colored)

make: remove VarFlags from debug logging

Before the introduction of ExprDefined, VarFlags contained whether the
expression was defined or not, which was useful to know since the final
value of the expression depends on this information.  The other VarFlags
do not influence the evaluation, so there is no point logging them.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Mar 15 15:39:13 2021 UTC (2 years, 11 months ago) by rillig
Branch: MAIN
Changes since 1.4: +28 -28 lines
Diff to previous 1.4 (colored)

make: change debug log for variable evaluation flags to lowercase

This makes them easier distinguishable from variable names since the
latter are usually uppercase.

No functional change outside debug mode.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Feb 16 16:28:41 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.3: +4 -4 lines
Diff to previous 1.3 (colored)

make: rename constants for VarFlags

The old prefix was "VAR_" and this prefix is used for several other
constants as well, which made it ambiguous.

Revision 1.3 / (download) - annotate - [select for diffs], Mon Feb 15 18:23:32 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.2: +16 -16 lines
Diff to previous 1.2 (colored)

make: rename ExprDefined constants for debug logging

Revision 1.2 / (download) - annotate - [select for diffs], Tue Feb 2 16:18:16 2021 UTC (3 years ago) by rillig
Branch: MAIN
Changes since 1.1: +4 -4 lines
Diff to previous 1.1 (colored)

make: replace VarExprFlags with VarExprStatus

The combination of !VEF_UNDEF && VEF_DEF was not possible, which made it
rather strange to model this state as a bit set.

The only functional change is the renamed constants in the debug output.

Using ENUM_VALUE_RTTI_2 felt like overengineering since it's harder to
understand than a simple array of names.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Dec 29 01:45:06 2020 UTC (3 years, 1 month ago) by rillig
Branch: MAIN

make(1): add test that explains how variables are exported

Exporting the variables at the right time and with the correct values is
a subtle issue.  The current implementation carefully marks variables as
ready to be exported, then exports them and at the same time tries to
export as few variables as possible, to avoid memory leaks.  This test
describes and explains how all this works in detail.

This test also justifies that the call to Var_ReexportVars happens in
the make process itself, not in the child processes, no matter whether
these are created with vfork or (only theoretically) with plain fork.
This has changed in compat.c 1.217, job.c 1.390 and main.c 1.504 from
2020-12-27.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>