summaryrefslogtreecommitdiff
path: root/tests/scripts
Commit message (Collapse)AuthorAgeFilesLines
* * tests/scripts/features/archives: [SV 43405] override AR variable.Benedikt Morbach2014-10-201-17/+10
| | | | Copyright-paperwork-exempt: yes
* [SV 41758]: Fix archive support for VMS.John Malmberg2014-10-203-23/+211
| | | | | | | | | | | | | Upated to match change to run_make_tests and some future fixes to make on VMS. * arscan.c: Use ANSI compatible pragmas instead of VAX C extensions. * tests/scripts/features/archives: Fix tests to use VMS rules and answers when running on VMS and using DCL as a shell. * tests/scripts/features/vpath3: Fix epected answer on test when run on VMS. * tests/scripts/vms/library: (New) Test the VMS library rules that are not tested by existing tests.
* * tests/scripts/features/load: Avoid unused variable warnings.Paul Smith2014-09-301-0/+2
|
* * tests/config-flags.pm.in, tests/scripts/features/archives: [SV 43046]Paul Smith2014-09-071-10/+12
| | | | Use the "ar" program detected by configure when running the test suite.
* * read.c (eval): [SV 41677] Correct test for TAB vs. 8 spaces.Paul Smith2014-07-071-0/+24
|
* [SV 41983] Support omitting the text argument to $(file ...)Paul Smith2014-07-071-0/+17
| | | | | | | | Reported by Tim Murphy <tnmurphy@gmail.com> * function.c (func_file): Only write TEXT if it is not NULL. * NEWS, doc/make.texi: Document the new feature * tests/scripts/functions/file: Verify that the no-text version of $(file ...) works and doesn't add a newline.
* [SV 42249] Propagate correct rule status results.Paul Smith2014-05-011-12/+32
| | | | | | | * remake.c (update_file, update_file_1, check_dep): Return an enum update_status value instead of an int, and keep the highest value we find as we walk the graph so that the ultimate status is correct. * tests/scripts/options/dash-q: Add a test for updating prerequisites.
* * main.c (die): Close output_context AND make_sync.Paul Smith2014-01-121-0/+7
| | | | | die() can be invoked inside a separate output_context, if the $(error ...) function is expanded as part of a recipe.
* * features/loadapi (test_expand): Allocate memory for the nul byte.Paul Smith2013-11-241-1/+1
|
* * makeint.h (STOP_SET): [SV 40371] Cast to unsigned char.Paul Smith2013-10-271-0/+14
| | | | | * tests/scripts/misc/utf8: Test variable names with characters >127. Fix suggested by Robert Bogomip <bob.bogo@milohedge.com>
* [SV 40240] Use configure info to build load test shared libsPaul Smith2013-10-192-6/+16
| | | | | | | | | | | * tests/config-flags.pm.in: A new file containing variable assignments for the test suite; these variables are set by configure to contain the values detected there for compilers, flags, etc. * tests/run_make_tests.pl: Require the config-flags.pm file * tests/scripts/features/load, tests/scripts/features/loadapi: Use the configure-provided values when building the shared test library. * configure.ac: Replace tests/config-flags.pm.in * Makefile.am: Make sure tests/config-flags.pm is up to date
* * GNUMAKEFLAGS: Remove -O so it passes in NO_OUTPUT_SYNC mode.Paul Smith2013-10-191-2/+2
|
* [SV 39709] Fix some typos.Paul Smith2013-10-091-5/+5
|
* Clean up some tests for use on Windows.Paul Smith2013-10-052-3/+5
|
* Sanitize the registered function interface.Paul Smith2013-10-051-4/+26
| | | | | | Expand the characters which are legal in a function name, and check the name for validity. Create a type for the function pointer. Convert the last argument from a boolean to flags, to allow for expansion.
* Fix portability issues for Guile 1.8.Paul Smith2013-09-301-2/+4
|
* Solaris /bin/sh can't handle multiple options ("-e -c").Paul Smith2013-09-302-3/+17
|
* Reset GNUMAKEFLAGS after parsing.Paul Smith2013-09-291-0/+14
| | | | | If we don't do this we'll continually add flags on recursion. This is mainly for users to set in their environment before invoking make.
* Rename dash-w to print-directory.Paul Smith2013-09-231-0/+0
| | | | Avoid conflicts with dash-W on case-insensitive filesystems.
* [SV 31155] Parse order-only tokens in second expansion results.Paul Smith2013-09-221-0/+12
|
* Regression test portability to Solaris.Paul Smith2013-09-225-14/+34
|
* Portability enhancements for Mac OSX.Paul Smith2013-09-222-25/+30
| | | | | | Don't dup stdout into stderr in the test suite. Don't rely on $port_type eq "UNIX" to mean case-preserving. Check against the real output of ar when creating archives.
* Create a target that tests alternative configurations.Paul Smith2013-09-214-48/+69
|
* Remove obsolete tests.Paul Smith2013-09-211-52/+0
|
* Ensure that output generated while reading makefiles is synced.Paul Smith2013-09-211-0/+60
|
* Ensure that stderr from shell functions in recipes is synced.Paul Smith2013-09-211-0/+6
|
* Don't write "Entering" every time we re-exec for remake makefiles.Paul Smith2013-09-211-0/+33
|
* [SV 27374] Fatal immediately on unrecoverable fopen() errors.Paul Smith2013-09-151-0/+15
|
* [SV 39934] Verify jobserver FDs before something else uses them.Paul Smith2013-09-151-0/+20
|
* [SV 39203] Don't set MAKEFLAGS when restarting.Paul Smith2013-09-151-0/+10
| | | | | We are restarting with the original command line flags, so if we set MAKEFLAGS as well that will cause double flags.
* Support the -Orecurse option properly.Paul Smith2013-09-141-2/+0
| | | | | | | | In this mode we still collect all the output from a given target and dump it at once. However we don't treat recursive lines any differently from non-recursive lines. Also we don't print enter/leave messages after every dump. However we do ensure that we always print them once to stdout, so the parent make will collect it properly.
* Enhance the output sync mode.Paul Smith2013-09-124-4/+31
| | | | | | | | | | | | | | | Create a new file, output.c, and collect functions that generate output there. We introduce a new global context specifying where output should go (to stdout or to a sync file), and the lowest level output generator chooses where to write output based on that context. This allows us to set the context globally, and all operations that write output (including functions like $(info ...) etc.) will use it. Removed the "--trace=dir" capability. It was too confusing. If you have directory tracking enabled then output sync will print the enter/leave message for each synchronized block. If you don't want that, disable directory tracking.
* [Bug #39310] Parse simple pattern prereqs for globbing.Paul Smith2013-07-221-0/+37
| | | | | | | We tried to get some efficiency by avoiding a parse_file_seq() for simple pattern prerequisites, but this also means no wildcard expansion was happening, so add it back. Add regression tests for wildcards in target and prerequisite lists.
* Keep a local count of the max dependency list size.Paul Smith2013-07-091-0/+22
| | | | | This global variable could be modified during recursion so keep our own local copy to compare against.
* [SV #38442] Add library names to the string cache.Paul Smith2013-05-261-0/+20
|
* [SV #38945] Copy the entire buffer back when overwriting CRPaul Smith2013-05-261-2/+7
|
* [SV #39035] Compare OUT to the beginning of the OUT var/func, not IN.Paul Smith2013-05-261-0/+22
|
* Fix regression tests after MAKEFLAGS enhancements.Paul Smith2013-05-223-8/+8
|
* Add requirement for plugin_is_GPL_compatible symbol in loaded objects.Paul Smith2013-05-142-0/+4
|
* Add a new variable: GNUMAKEFLAGSPaul Smith2013-05-131-0/+24
| | | | | | | This allows you to write portable makefiles that set GNU make-specific command line options in the environment or makefile: add them to GNUMAKEFLAGS instead of MAKEFLAGS and they will be seen by GNU make but ignored by other implementations of make.
* Use level o_env_override for MAKEFLAGS so it's reset even with -e.Paul Smith2013-05-131-14/+10
| | | | Fixes Savannah bug #2216.
* Add new --trace[=MODE] flags, with --trace=dirPaul Smith2013-05-131-8/+0
| | | | | | This mode replaces the previous heuristic setting enabled with -O, where we would log directory enter/leave for each synchronized output. Now we only do that if --trace=dir is given.
* cosmetics: fix few innocuous typosStefano Lattarini2013-05-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Most of these were found using Lucas De Marchi's 'codespell' tool. * ChangeLog: Fix minor typos. * ChangeLog.2: Likewise. * README.Amiga: Likewise. * TODO.private: Likewise. * function.c: Likewise. * glob/glob.h: Likewise. * job.c: Likewise. * main.c: Likewise. * readme.vms: Likewise. * remake.c: Likewise. * tests/ChangeLog: Likewise. * tests/NEWS: Likewise. * tests/README: Likewise. * tests/scripts/variables/private: Likewise. * vmsdir.h: Likewise. * signame.c: Likewise. While at it, improve line wrapping in the touched comment. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Rename the -O "job" mode to "line" and "make" to "recurse".Paul Smith2013-05-051-4/+4
|
* Ensure command lines are written synchronously with -O.Paul Smith2013-05-051-17/+11
| | | | | | | If output-sync is enabled, have make write the command line to the temp file instead of printing it directly to the screen to ensure that the output is ordered properly. Also, remove extraneous enter/leave operations by having them printed directly when dumping temp file output.
* Add memory allocation cleanup to loadable objects.Paul Smith2013-05-041-1/+5
| | | | | Add gmk_alloc() and gmk_free() functions so loadable objects can access our memory model. Also provide a more extensive example in the manual.
* Improve sync handling for -Ojob/-Otarget and recursion.Paul Smith2013-05-041-0/+10
| | | | | | | | | | If we are not going to sync a command line then dump any collected output first to preserve ordering. Do some code cleanup: * Move the handle init to a separate function. * Move the temp file truncation to the output function. * Remember whether we sync in a variable for readability. * Handle EINTR and short writes in child_out(). * Always call sync_output() in case output_sync was changed due to error.
* Fix interfacing with and remaking dynamic objects on MS-Windows.Eli Zaretskii2013-05-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | load.c (load_object, load_file): Accept an additional argument DLP and return in it a pointer that can be used to unload the dynamic object. read.c (eval): Call load_file with an additional argument, and record the pointer returned there in the 'struct file' object of dynamic objects in that object's 'struct file'. commands.c (execute_file_commands): Unload dynamic objects before remaking them, to avoid failure to remake if the OS doesn't allow overwriting objects that are in use. filedef.h (struct file): New member dlopen_ptr. gnumake.h (GMK_EXPORT): Define to dllexport/dllimport decorations for Windows and to nothing on other platforms. (gmk_eval, gmk_expand, gmk_add_function): Add GMK_EXPORT qualifier to prototypes. makeint.h (MAIN): Define before including gnumake.h, to give correct dllexport decorations to exported functions. (load_file): Adjust prototype. loadapi.c: Don't include gnumake.h, since makeint.h already includes it, and takes care of defining MAIN before doing so. build_w32.bat (LinkGCC): Produce an import library for functions exported by Make for loadable dynamic objects. w32/compat/posixfcn.c (dlclose): New function. w32/include/dlfcn.h (dlclose): Add prototype. scripts/features/load: Fix signatures of testload_gmk_setup and explicit_setup, to bring them in line with the documentation.
* Ensure error messages are printed with sync'd output.Paul Smith2013-04-281-6/+2
| | | | | | Enhance the child_error() function so that it will write error output to the child's sync output buffer, if it exists. If it doesn't the output goes to stdout/stderr.
* Small cleanups and fixes.Paul Smith2013-04-281-5/+5
|