mirror of
https://git.savannah.gnu.org/git/make.git
synced 2025-02-05 14:07:46 +00:00
a581146562
Strawberry Perl has some different behaviors from ActiveState Perl which impact the test suite: - Avoid Perl's chomp() as it may not remove CRs; chomp() may remove only the final NL but not the CR in a CRNL line ending. - Strawberry Perl doesn't support ActiveState's system(1, ...) form. - Strawberry Perl (or msys?) does something weird with "/tmp" when provided to exec(), replacing it with the user's %TEMP%. - Strawberry Perl uses msys paths like /c/foo instead of C:\foo. * tests/test_driver.pl (get_osname): Strawberry Perl uses 'msys' as its $^O so if we see that use a port of 'W32'. (_run_with_timeout): Strawberry Perl doesn't support the special system(1, ...) form of system() so use POSIX standard fork/exec. (compare_answer): Paths generated by Strawberry Perl use msys path format (e.g., /c/foo instead of C:\foo); check for those differences and compare RE against both the unmodified and modified log. * tests/run_make_tests.pl (set_defaults): Switch from chomp to s/// to remove CRNL and NL line endings. * tests/scripts/features/errors: Executing directories on Strawberry will give an error; translate it to Windows error output format. * tests/scripts/features/output-sync: Ditto. * tests/scripts/features/temp_stdin: Ditto. * tests/scripts/functions/realpath: Ditto. * tests/scripts/options/dash-I: Ditto. * tests/scripts/variables/INCLUDE_DIRS: Ditto. * tests/scripts/misc/close_stdout: /dev/full is reported as existing on Strawberry Perl, but it doesn't do anything. Skip the test. * tests/scripts/variables/MAKEFLAGS: When an argument containing /tmp is passed to a program via exec(), something replaces it with the expansion of the %TEMP% variable. Instead of using /tmp create a local directory to use. |
||
---|---|---|
.. | ||
archives | ||
comments | ||
conditionals | ||
default_names | ||
dircache | ||
double_colon | ||
echoing | ||
errors | ||
escape | ||
exec | ||
export | ||
grouped_targets | ||
implicit_search | ||
include | ||
jobserver | ||
load | ||
loadapi | ||
mult_rules | ||
mult_targets | ||
order_only | ||
output-sync | ||
override | ||
parallelism | ||
patspecific_vars | ||
patternrules | ||
quoting | ||
recursion | ||
reinvoke | ||
rule_glob | ||
se_explicit | ||
se_implicit | ||
se_statpat | ||
shell_assignment | ||
statipattrules | ||
suffixrules | ||
targetvars | ||
temp_stdin | ||
utf8 | ||
varnesting | ||
vpath | ||
vpathgpath | ||
vpathplus |