Up to [cvs.NetBSD.org] / src / usr.bin / make / unit-tests
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.10 / (download) - annotate - [select for diffs], Wed Feb 9 21:09:24 2022 UTC (11 months, 3 weeks ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base,
netbsd-10,
HEAD
Changes since 1.9: +2 -2
lines
Diff to previous 1.9 (colored)
make: fix mistakes, spelling and typos in comments and manual page No binary change for -DNDEBUG.
Revision 1.9 / (download) - annotate - [select for diffs], Thu Jan 27 10:42:02 2022 UTC (12 months ago) by rillig
Branch: MAIN
Changes since 1.8: +43 -1
lines
Diff to previous 1.8 (colored)
tests/make: test hash code collisions of variable names In HashEntry_KeyEquals, the line 'return false' was not covered by any tests before. Since it is an edge case that two variable names (or other keys) have the same 32-bit hash code and still differ, better test for that edge case explicitly since a bug in this place would be rare and hard to find.
Revision 1.8 / (download) - annotate - [select for diffs], Mon Nov 2 22:59:48 2020 UTC (2 years, 3 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.7: +10 -2
lines
Diff to previous 1.7 (colored)
make(1): document test for parsing of variable assignments
Revision 1.7 / (download) - annotate - [select for diffs], Mon Nov 2 22:44:29 2020 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.6: +5 -1
lines
Diff to previous 1.6 (colored)
make(1): document undefined behavior in Parse_IsVar Sigh. If only C could be compiled in strict mode that detects these out-of-bounds memory accesses.
Revision 1.6 / (download) - annotate - [select for diffs], Mon Nov 2 22:29:48 2020 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.5: +4 -5
lines
Diff to previous 1.5 (colored)
make(1): fix test for parsing obscure variable names I had forgotten the :U modifier. Without that modifier, there's no chance that the variable names would come out correctly.
Revision 1.5 / (download) - annotate - [select for diffs], Mon Nov 2 22:16:24 2020 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.4: +28 -3
lines
Diff to previous 1.4 (colored)
make(1): add tests for parsing ob obscure variable names
Revision 1.4 / (download) - annotate - [select for diffs], Sun Oct 18 08:47:54 2020 UTC (2 years, 3 months ago) by rillig
Branch: MAIN
Changes since 1.3: +3 -38
lines
Diff to previous 1.3 (colored)
make(1): sort variables in debug output This way it's easier to see whether an expected variable is missing, or to compare the values of related variables, since they usually share a common prefix. Any sorting criterion is better than the hash code. Sorting the variables by name changed the order of the output in varname.mk. That test didn't test anything meaningful, it was just a playground to understand and demonstrate the current implementation of how the variables are stored, therefore it has been removed.
Revision 1.3 / (download) - annotate - [select for diffs], Sat Sep 5 12:59:07 2020 UTC (2 years, 4 months ago) by rillig
Branch: MAIN
Changes since 1.2: +38 -3
lines
Diff to previous 1.2 (colored)
make(1): add test for intentional hash collision for variable names Hash collisions may slow down make in certain special situations. There is no point though in maliciously triggering such a situation since anyone who can inject values into makefiles can easily run shell commands using the :!cmd! modifier or similar mechanisms. Crafting variable names just to slow down make is thus not an attack vector.
Revision 1.2 / (download) - annotate - [select for diffs], Sun Aug 16 14:25:16 2020 UTC (2 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.1: +2 -2
lines
Diff to previous 1.1 (colored)
make(1): describe the purpose of each newly added unit test dummy
Revision 1.1 / (download) - annotate - [select for diffs], Sun Aug 16 12:07:52 2020 UTC (2 years, 5 months ago) by rillig
Branch: MAIN
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.