1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-19 04:21:45 -07:00
Commit graph

133 commits

Author SHA1 Message Date
Gareth Rees
bdf27a99af 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
6590875176 Fix copy-paste error.
Copied from Perforce
 Change: 193880
2018-06-18 13:18:02 +01:00
Gareth Rees
307bc47730 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
9de5c1dfbe 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
8e25464f59 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
7660d06b73 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
072f30009d 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
a8ac974415 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
cc0d5a2b25 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
31db2e055c 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
d44d50dfd0 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
2c5b947f9d 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
3398d94ecf 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
42dbb3bd5a 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
eba3fdff52 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
3f13486e08 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
665d8197f0 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
419ba15d42 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
c2e44cb103 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
e63d701374 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
77882461af 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
7e0675d595 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
a3b9e83fee 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
11a5f2bf29 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
7660e38f3e 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
44f80af1ec 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
339445436b 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
d0bc388308 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
a127feb2d5 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
de2f00c5ab 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
8a43718971 Avoid unused variable warnings.
Copied from Perforce
 Change: 189978
 ServerID: perforce.ravenbrook.com
2016-03-13 14:58:09 +00:00
Gareth Rees
2bdef084ba 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
8aea7df2ee 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
5899074dfb A few more mmqa speedups.
Copied from Perforce
 Change: 189948
 ServerID: perforce.ravenbrook.com
2016-03-13 11:42:53 +00:00
Gareth Rees
37fc360ffe 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
f0eb2eb500 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
7c8ad5a276 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
b313def853 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
aa45b563da 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
4b962a1d33 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
3c4b2ad1a9 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
43741faecf 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
e64e5b2e25 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
1ac6033058 Catch-up merge from masters.
Copied from Perforce
 Change: 188928
 ServerID: perforce.ravenbrook.com
2016-01-20 11:04:09 +00:00
Richard Brooksby
49ef7fe552 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
6ea9bc7894 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
1e2d5dd4d8 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
c8644421da 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
c7a49cf109 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
106b9a1e9e 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