make/tests/scripts/functions
Paul Smith a581146562 tests [WINDOWS32]: Support Strawberry Perl on Windows
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.
2022-12-20 02:14:18 -05:00
..
abspath Add test suite support to Windows 2017-06-04 18:37:20 -04:00
addprefix * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
addsuffix * Various fixes for problems in the 3.79.0.1 pretest. 2000-06-19 21:22:44 +00:00
andor - New code capability: a read-only string cache. Start of solution for 2006-02-10 05:29:00 +00:00
basename * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
call [SV 46995] Strip leading/trailing space from variable names 2016-03-23 01:25:51 -04:00
dir * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
error [SV 46433] Show recipe line offsets in line number messages. 2016-04-11 07:51:05 -04:00
eval tests: Simplify customization of %ENV 2020-04-01 02:02:57 -04:00
file Fix build and test issues on Windows 2021-03-28 16:25:52 -04:00
filter-out [SV 59093] Rewrite filter/filter-out to avoid large stack usage 2020-11-13 00:44:24 -05:00
findstring * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
flavor Implemented the flavor function which returns the flavor of 2005-11-17 07:27:28 +00:00
foreach tests: Simplify customization of %ENV 2020-04-01 02:02:57 -04:00
guile * tests/scripts/function/guile: Valgrind doesn't work with Guile. 2019-09-21 15:38:52 -04:00
if Fix bugs 5798 and 6195. 2003-11-04 07:40:29 +00:00
intcmp * src/function.c (parse_textint): Handle ints without 0 properly. 2022-01-17 19:11:59 -05:00
join * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
let Fix issues found by ASAN and Coverity 2022-10-31 02:23:04 -04:00
notdir * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
origin tests: Simplify customization of %ENV 2020-04-01 02:02:57 -04:00
realpath tests [WINDOWS32]: Support Strawberry Perl on Windows 2022-12-20 02:14:18 -05:00
shell Always restore global environ if we use vfork 2022-09-25 16:57:31 -04:00
sort [SV 46995] Strip leading/trailing space from variable names 2016-03-23 01:25:51 -04:00
strip * Various bug fixes. 2000-04-22 02:11:17 +00:00
substitution Fix some bugs in variable pattern substitution (e.g. $(VAR:A=B)), 2004-09-21 04:00:31 +00:00
suffix * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
value Major updates in preparation for 3.80. 2002-07-08 02:26:47 +00:00
warning [SV 46433] Show recipe line offsets in line number messages. 2016-04-11 07:51:05 -04:00
wildcard * tests/scripts/functions/wildcard: Skip slash tests for local glob. 2019-10-05 17:48:19 -04:00
word Use a well-known error string for out-of-bound function arguments 2021-12-19 16:34:19 -05:00