summaryrefslogtreecommitdiff
path: root/tests/scripts/features
AgeCommit message (Collapse)AuthorFilesLines
2014-01-12* main.c (die): Close output_context AND make_sync.Paul Smith1-0/+7
die() can be invoked inside a separate output_context, if the $(error ...) function is expanded as part of a recipe.
2013-11-24* features/loadapi (test_expand): Allocate memory for the nul byte.Paul Smith1-1/+1
2013-10-19[SV 40240] Use configure info to build load test shared libsPaul Smith2-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
2013-10-09[SV 39709] Fix some typos.Paul Smith1-5/+5
2013-10-05Clean up some tests for use on Windows.Paul Smith2-3/+5
2013-10-05Sanitize the registered function interface.Paul Smith1-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.
2013-09-22[SV 31155] Parse order-only tokens in second expansion results.Paul Smith1-0/+12
2013-09-22Regression test portability to Solaris.Paul Smith5-14/+34
2013-09-22Portability enhancements for Mac OSX.Paul Smith2-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.
2013-09-21Create a target that tests alternative configurations.Paul Smith4-48/+69
2013-09-21Remove obsolete tests.Paul Smith1-52/+0
2013-09-21Ensure that output generated while reading makefiles is synced.Paul Smith1-0/+60
2013-09-21Ensure that stderr from shell functions in recipes is synced.Paul Smith1-0/+6
2013-09-15[SV 39934] Verify jobserver FDs before something else uses them.Paul Smith1-0/+20
2013-09-14Support the -Orecurse option properly.Paul Smith1-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.
2013-09-12Enhance the output sync mode.Paul Smith1-0/+23
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.
2013-07-22[Bug #39310] Parse simple pattern prereqs for globbing.Paul Smith1-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.
2013-07-09Keep a local count of the max dependency list size.Paul Smith1-0/+22
This global variable could be modified during recursion so keep our own local copy to compare against.
2013-05-26[SV #38442] Add library names to the string cache.Paul Smith1-0/+20
2013-05-14Add requirement for plugin_is_GPL_compatible symbol in loaded objects.Paul Smith2-0/+4
2013-05-13Add new --trace[=MODE] flags, with --trace=dirPaul Smith1-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.
2013-05-05Rename the -O "job" mode to "line" and "make" to "recurse".Paul Smith1-4/+4
2013-05-05Ensure command lines are written synchronously with -O.Paul Smith1-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.
2013-05-04Add memory allocation cleanup to loadable objects.Paul Smith1-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.
2013-05-04Improve sync handling for -Ojob/-Otarget and recursion.Paul Smith1-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.
2013-05-03Fix interfacing with and remaking dynamic objects on MS-Windows.Eli Zaretskii1-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.
2013-04-28Ensure error messages are printed with sync'd output.Paul Smith1-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.
2013-04-28Small cleanups and fixes.Paul Smith1-5/+5
2013-04-28Add support for per-job output sync.Paul Smith1-15/+96
A new flag to the -O/--output-sync, "job", selects a per-job (that is, per line of a recipe) output synchronization. To support this move the close of the temp file out of the sync_output() function and don't do it until we free the child, since we may call sync_output() multiple times in a given recipe. When we set up for a new temp file, if we're in per-job mode we truncate the file and seek to the beginning to re-use it for every job.
2013-04-15Change the arg option for -O from numeric to string.Paul Smith1-2/+2
2013-04-15Modify output-sync tests to be more reliable.Paul Smith1-25/+63
2013-04-14Rename the "parallel-sync" option to "output-sync".Paul Smith1-26/+16
2013-04-14Initial patch for output synchronization. See Savannah bug #33138.Frank Heckenbach1-0/+143
Based on work by David Boyce <David.S.Boyce@gmail.com>.
2013-02-25Expand the loadable object support.Paul Smith2-38/+115
Provide a simple API for loaded objects to interact with GNU make. I still won't guarantee that this API won't change but it's much closer to something that's supported and provides easy-to-use interfaces with a public header file.
2013-01-20Allow dynamically loaded objects to be rebuilt by make.Paul Smith1-7/+30
2013-01-13[SV #37878] Add a check for targets with parens that are not archives.Paul Smith1-0/+8
2013-01-12Ensure parallel test works properly.Paul Smith1-4/+5
2012-10-29Implement new "load" directive.Paul Smith2-1/+85
Provides support for dynamically loadable objects in GNU make, as a "technology preview".
2012-10-28Remove extraneous close().Paul Smith1-3/+0
2012-09-10Force intermediate targets to be considered if their non-intermediatePaul Smith1-0/+17
parent needs to be remade. Fixes Savannah bug #30653.
2012-09-09Verify that backslashes before non-special characters are preserved.Paul Smith1-1/+10
2012-09-09Ignore UTF-8 BOMs. See Savannah bug #36529.Paul Smith1-0/+11
2012-03-04Improve handling for escaped colons in prerequisite lists.Paul Smith2-1/+17
Fixes Savannah bug #12126 and bug #16545
2012-03-04Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines.Paul Smith12-30/+30
Fixes Savannah bug #34530.
2011-11-14Be sure to start parsing prereqs in the right place even if there arePaul Smith1-0/+9
escape characters (backslashes) in the target name. See Savannah bug #33399
2011-09-18When we re-exec the master makefile in a jobserver environment, ensurePaul Smith1-0/+17
that MAKEFLAGS is set properly so the re-exec'd make runs in parallel. See Savannah bug #33873.
2011-09-18We compute various values for vpath lookup the first time throughPaul Smith1-40/+25
and store them in static variables; however one value (std_dirs) was not being stored statically so the second time through it was not set. Fixes Savannah bug #32511
2011-08-29Save strings we're expanding in case an embedded eval causes themPaul Smith1-23/+24
to be freed (if they're the value of a variable that's reset for example). See Savannah patch #7534
2011-06-12Fix another error related to whitespace handling in archives.Paul Smith1-0/+5
Newer version of VMS support strncasecmp() so update the config.h.
2011-04-18Add new feature: != shell assignment for portability with BSD make.Paul Smith1-0/+65
Feature submitted by David Wheeler.