1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 10:31:37 -08:00
Commit graph

133 commits

Author SHA1 Message Date
Gareth Rees
3c0d28b98a Correct reason for why function/23.c does not pass.
Copied from Perforce
 Change: 193881
2018-06-18 13:18:28 +01:00
Gareth Rees
e4bf4451b6 Fix copy-paste error.
Copied from Perforce
 Change: 193880
2018-06-18 13:18:02 +01:00
Gareth Rees
c4a840d676 Rename "mac os x" and "os x" to "macos", except for a few cases where for historical accuracy we want to continue to refer to the former name.
Copied from Perforce
 Change: 193821
2018-06-15 12:15:36 +01:00
Gareth Rees
169b8dcaf6 Avoid using deprecated function mps_fix and deprecated macro mps_fix in the test cases; use mps_fix12 instead.
Copied from Perforce
 Change: 193726
2018-06-13 13:59:14 +01:00
Gareth Rees
b70d93ff1f Generate "assert_or_abort" after an abort.
Copied from Perforce
 Change: 192506
 ServerID: perforce.ravenbrook.com
2016-10-12 15:59:54 +01:00
Gareth Rees
3f917275db Some mmqa test cases assert on windows but abort with a segmentation fault on os x. use new test outcome assert_or_abort so that these pass on all platforms.
Copied from Perforce
 Change: 192503
 ServerID: perforce.ravenbrook.com
2016-10-12 15:47:10 +01:00
Gareth Rees
3ada045c72 Differentiate argerr/42.c and argerr/43.c so that the msvc incremental linker reliably updates the executable when we compile one and then the other.
Copied from Perforce
 Change: 192467
 ServerID: perforce.ravenbrook.com
2016-09-26 18:21:01 +01:00
Gareth Rees
e55abc2b62 Avoid "conversion from 'size_t' to 'unsigned long', possible loss of data" warnings from microsoft visual c.
Copied from Perforce
 Change: 192462
 ServerID: perforce.ravenbrook.com
2016-09-26 16:59:35 +01:00
Gareth Rees
6226b8677e Avoid parentheses in parameters so that the test case passes on windows.
Copied from Perforce
 Change: 192457
 ServerID: perforce.ravenbrook.com
2016-09-26 16:17:38 +01:00
Gareth Rees
5f3e5f5ed3 Platform alignment is 16 on w3i6mv, so use mps_pf_align to avoid alignment failure.
Copied from Perforce
 Change: 192456
 ServerID: perforce.ravenbrook.com
2016-09-26 16:13:39 +01:00
Gareth Rees
afbc6e32d7 The mmqa runset command now takes multiple test-sets.
Copied from Perforce
 Change: 192418
 ServerID: perforce.ravenbrook.com
2016-09-14 16:24:34 +01:00
Gareth Rees
992e13c87c Mmqa test suite now passes on freebsd.
Copied from Perforce
 Change: 192320
 ServerID: perforce.ravenbrook.com
2016-09-13 10:19:03 +01:00
Gareth Rees
a4b15a8371 Avoid warnings from gcc 4.2 on freebsd.
Copied from Perforce
 Change: 192310
 ServerID: perforce.ravenbrook.com
2016-09-12 14:39:55 +01:00
Gareth Rees
a978af06c3 Need gmake on freebsd ("make" is bsd make).
Copied from Perforce
 Change: 192297
 ServerID: perforce.ravenbrook.com
2016-09-12 12:53:25 +01:00
Gareth Rees
cf6950631e New mmqa command debug compiles a test case and launches the debugger.
Copied from Perforce
 Change: 192290
 ServerID: perforce.ravenbrook.com
2016-09-12 12:26:40 +01:00
Gareth Rees
e8be3323ff Usability improvements for mmqa:
* -i option (MPS_INCLUDE_DIR) now defaults to the code directory relative to the test harness location.
* -p option (PLATFORM) is now a six-character platform code for consistency with the rest of the MPS.
* New -v option (VARIETY) for specifying cool/hot/rash.
* -l option (MPS_LINK_OBJ) now defaults to the appropriate object file for the platform and variety.
* The object file is built automatically.
* If $Id$ of a test file is longer than 70 characters, cut characters out of the middle rather than off the end.
* Eliminate obsolete option -prod (MPS_PRODUCT).
* Support for FreeBSD.

Copied from Perforce
 Change: 192285
 ServerID: perforce.ravenbrook.com
2016-09-12 11:55:36 +01:00
Gareth Rees
61606942e1 Use area roots (instead of a thread root) to ensure that objects are finalized reliably even in the hot variety.
Copied from Perforce
 Change: 192235
 ServerID: perforce.ravenbrook.com
2016-09-08 10:57:07 +01:00
Gareth Rees
88ad19e91f Change 192148 (the fix for job004017) caused the hot variety to compile out assertions on the critical path in manual-allocation-bound programs, which caused various mmqa test cases to fail in the hot variety. move these failing tests to the coolonly testset.
Copied from Perforce
 Change: 192234
 ServerID: perforce.ravenbrook.com
2016-09-08 10:55:59 +01:00
Gareth Rees
563a07a392 The awl pool contains only weak references to objects that died, so the mps may be able to deduce (via its summary) that it does not need to be condemned, even to collect the world.
Copied from Perforce
 Change: 192226
 ServerID: perforce.ravenbrook.com
2016-09-07 10:20:39 +01:00
Gareth Rees
bdd7fedb8b Job003889 was fixed, so conerr/12.c passes.
Copied from Perforce
 Change: 192207
 ServerID: perforce.ravenbrook.com
2016-09-05 23:45:20 +01:00
Gareth Rees
b7e31828db Memoryerror is only implemented on windows, so test for abort instead.
Copied from Perforce
 Change: 191575
 ServerID: perforce.ravenbrook.com
2016-04-22 17:17:53 +01:00
Gareth Rees
fd3136bb30 Fix mmqa function test cases so that they run on windows. in detail:
1. On w3i6mv, int and long are 32 bits, so these types can't be used to hold a size_t or an mps_word_t. See 26.c, 38.c, 47.c, 66.c, 123.c, 136.c, 164.c, 165.c, 200.c, 203.c, 204.c, 205.c, 206.c, 207.c, 215.c, 223.c.
2. The Windows command line doesn't cope with parentheses. See 170.c.
3. The natural platform alignment is 16 bytes on w3i6mv, so allocations into pools using the default alignment need to be rounded up. See 21.c, 22.c, 203.c, 204.c, 205.c.
4. Microsoft Visual C/C++ is fussy about signed/unsigned comparison. See 226.c.
5. windows.h defines a SIZE macro so you can't use it as a parameter. See 232.c.

Copied from Perforce
 Change: 191569
 ServerID: perforce.ravenbrook.com
2016-04-22 15:44:58 +01:00
Gareth Rees
1d47d8f232 Get the mmqa test system working on windows. in detail:
1. Document how to run it on Windows from a Cygwin shell.
2. Ignore trailing spaces when analyzing test output.
3. Use the directory separator "/" since we're running under Cygwin.
4. No need for cat.exe, strings.exe, or tee.exe (these are supplied by Cygwin).
5. Microsoft Visual C/C++ needs /D_CRT_SECURE_NO_WARNINGS to avoid a warning about scanf.
6. The Microsoft Visual C/C++ linker no longer takes the options /debugtype:both or /debug:full. Replace with /debug.
7. Remove /pdb:none option (we want the PDB so that we can debug the result).
8. windows.h defines an UNALIGNED macro, so need to #undef it.
9. The long int type is 32 bits on 64-bit Windows, so we need size_t instead.
10. The values in the LPEXCEPTION_RECORD structure have type ULONG_PTR.
11. Test cases are expecting access violations to report abort=true, but on Windows they are caught by the exception handler, so report abort=true in this case.
12. mpsw3.h has gone, but we do need mpswin.h.

Fix some of the test cases:
1. Avoid compiler warning about overflowed multiplication in argerr/153.c.
2. In conerr/2.c, conerr/8.c and conerr/13.c, malloc enough space so that the signature check doesn't cause an access violation.
3. In conerr/25.c, allocate an object whose size is aligned to the platform alignment, which is 16 bytes on w3i6mv.
4. In connerr/18.c, conerr/53.c and conerr/54.c, update the location and text of the expected assertions.

Copied from Perforce
 Change: 191564
 ServerID: perforce.ravenbrook.com
2016-04-22 15:00:27 +01:00
Gareth Rees
0616a12652 Arenacompact can be called via tracedestroyinit too.
Copied from Perforce
 Change: 190949
 ServerID: perforce.ravenbrook.com
2016-04-11 19:47:52 +01:00
Gareth Rees
b8ea44a99f Catch-up merge from master sources to branch/2015-08-11/compact.
Copied from Perforce
 Change: 190901
 ServerID: perforce.ravenbrook.com
2016-04-11 14:40:44 +01:00
Richard Brooksby
9583c0f68a Merging branch mps/branch/2016-03-13/without-reservation into master sources.
Copied from Perforce
 Change: 190106
 ServerID: perforce.ravenbrook.com
2016-03-15 13:19:27 +00:00
Richard Brooksby
26da5b46b0 Catch-up merge from master sources to branch/2014-10-13/format.
Copied from Perforce
 Change: 190060
 ServerID: perforce.ravenbrook.com
2016-03-15 10:02:21 +00:00
Gareth Rees
f1fe190638 Remove mmqa test cases for the reservoir.
Copied from Perforce
 Change: 190018
 ServerID: perforce.ravenbrook.com
2016-03-13 22:44:49 +00:00
Gareth Rees
69c312d179 Use a regular expression in case the number of built-in pools changes.
Copied from Perforce
 Change: 190011
 ServerID: perforce.ravenbrook.com
2016-03-13 21:49:36 +00:00
Richard Brooksby
d1dd0c9105 Updating conerr/4 to know the correct number of pools, now that the reservoir is gone.
Copied from Perforce
 Change: 190010
 ServerID: perforce.ravenbrook.com
2016-03-13 21:49:23 +00:00
Gareth Rees
56778dd360 Avoid unused variable warnings.
Copied from Perforce
 Change: 189978
 ServerID: perforce.ravenbrook.com
2016-03-13 14:58:09 +00:00
Gareth Rees
dfa7354873 Avoid warnings when compiling argerr/{146,147,148}.c with gcc.
Test cases conerr/{53,54}.c rely on junk in uninitialized local variables, so ensure that there is some.
Test case function/72.c relies on an object moving, but it might be pinned by an ambiguous reference from the stack, so don't register the stack as a root.

Copied from Perforce
 Change: 189964
 ServerID: perforce.ravenbrook.com
2016-03-13 14:16:39 +00:00
Gareth Rees
e976a17eb8 Regular testing of mmqa: "make test-make-build" at top level now runs mmqa, hence so does "make test" on linux and freebsd. the whole test suite, including testci, testmmqa, testansi, and testpollnone, takes 26 minutes on my laptop.
MMQA "run" and "runset" commands now exit with non-zero status if any of the tests failed, so that test failures can be identifed by the calling program (for example, make).
Add missing license to files that state "See end of file for license."

Copied from Perforce
 Change: 189957
 ServerID: perforce.ravenbrook.com
2016-03-13 12:57:02 +00:00
Gareth Rees
89a83ac39e A few more mmqa speedups.
Copied from Perforce
 Change: 189948
 ServerID: perforce.ravenbrook.com
2016-03-13 11:42:53 +00:00
Gareth Rees
c2e71054c9 Speed up more mmqa test cases. on my laptop, the whole mmqa test suite (or at least the passing subset) now takes 5 minutes in the hot variety and 11 minutes in the cool variety.
Copied from Perforce
 Change: 189947
 ServerID: perforce.ravenbrook.com
2016-03-13 11:42:32 +00:00
Gareth Rees
d8c8e00f3e Speed up mmqa test cases by reducing iterations. additionally:
* Take test options as parameters=.
* Rename BLAH to VERBOSE.
* Clearer reporting of slotHigh, arenaHigh, firstFit options to MVFF.
* Report times in seconds (not centiseconds).
* Reduce the commit limit exponentially and stop when too small.
* Ramp entering/leaving probabilities are scaled by iterations.

Copied from Perforce
 Change: 189899
 ServerID: perforce.ravenbrook.com
2016-03-12 18:27:38 +00:00
Gareth Rees
9ffa6f2740 Add instructions for testing the hot variety.
Copied from Perforce
 Change: 189720
 ServerID: perforce.ravenbrook.com
2016-03-07 19:58:52 +00:00
Gareth Rees
d1973da5f3 Avoid unusued variable warnings from clang 3.4.1.
Copied from Perforce
 Change: 189717
 ServerID: perforce.ravenbrook.com
2016-03-07 18:47:27 +00:00
Gareth Rees
8afda3c709 Move blatting to a function so that its local variables don't remain on the stack and pin down objects.
Copied from Perforce
 Change: 189714
 ServerID: perforce.ravenbrook.com
2016-03-07 17:31:55 +00:00
Gareth Rees
df50cf79ce Some mmqa tests only work in the cool variety. segregate these into the "coolonly" testset.
Copied from Perforce
 Change: 189711
 ServerID: perforce.ravenbrook.com
2016-03-07 17:18:21 +00:00
Gareth Rees
9a7475e4e8 Change 189541 renamed the reg_scan_p parameter to mps_root_create_reg; update test cases accordingly.
Copied from Perforce
 Change: 189673
 ServerID: perforce.ravenbrook.com
2016-03-06 14:07:45 +00:00
Richard Brooksby
080d135eec Catch up merge from master sources.
Copied from Perforce
 Change: 189088
 ServerID: perforce.ravenbrook.com
2016-02-03 16:56:04 +00:00
Richard Brooksby
d4e54ba17e Backing out the introduction of mps_arena_configure. see <https://info.ravenbrook.com/mail/2016/01/15/11-56-45/0>.
Copied from Perforce
 Change: 189081
 ServerID: perforce.ravenbrook.com
2016-02-03 15:52:05 +00:00
Richard Brooksby
5dccd2e006 Catch-up merge from masters.
Copied from Perforce
 Change: 188928
 ServerID: perforce.ravenbrook.com
2016-01-20 11:04:09 +00:00
Richard Brooksby
7f7fd743dd Catch up merge from master sources.
Adding instructions for running tests on OS X.

Copied from Perforce
 Change: 188917
 ServerID: perforce.ravenbrook.com
2016-01-18 15:16:41 +00:00
Gareth Rees
537af4b0dc Rename mps_key_arena_commit_limit and mps_key_arena_spare_commit_limit as mps_key_commit_limit and mps_key_spare_commit_limit respectively, as suggested by nb in review.
Copied from Perforce
 Change: 188286
 ServerID: perforce.ravenbrook.com
2015-09-08 16:21:27 +01:00
Gareth Rees
c2d2eacdb2 Catch-up merge from master sources to branch/2015-08-06/config.
Copied from Perforce
 Change: 188146
 ServerID: perforce.ravenbrook.com
2015-08-14 16:35:07 +01:00
Gareth Rees
365acce878 Merge branch/2015-08-10/arena-create into the master sources.
Copied from Perforce
 Change: 188144
 ServerID: perforce.ravenbrook.com
2015-08-14 10:57:06 +01:00
Gareth Rees
f8a402fa0f New macro arenachunkring encapsulates getting the chunk ring for an arena.
RingLength now returns Count, not Size.
New test case checks that chunks are added and removed from the arena as memory is allocated and freed.

Copied from Perforce
 Change: 188133
 ServerID: perforce.ravenbrook.com
2015-08-11 12:03:45 +01:00
Gareth Rees
510c074051 Make -b ensures that mps.o gets rebuilt.
Copied from Perforce
 Change: 188132
 ServerID: perforce.ravenbrook.com
2015-08-11 12:01:53 +01:00