Gareth Rees
47fc093662
Add fork test case (fails on os x if pthread_atfork is not called).
...
pthread_atfork handlers on OS X: in the child, update the mach port for the forking thread and move all other threads to the dead ring.
Copied from Perforce
Change: 193746
2018-06-13 17:09:07 +01:00
Gareth Rees
139611337a
Fix "make testmmqa" on freebsd (the shell doesn't do {a,b,c} expansion).
...
Copied from Perforce
Change: 192545
ServerID: perforce.ravenbrook.com
2016-10-13 19:31:25 +01:00
Gareth Rees
d2f3bc0e36
Fix testmmqa target in the hot variety.
...
Copied from Perforce
Change: 192515
ServerID: perforce.ravenbrook.com
2016-10-13 13:31:58 +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
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
d558f6acb2
Build and test the toy scheme interpreter during continuous integration, to reduce the risk of accidentally breaking it.
...
Copied from Perforce
Change: 192133
ServerID: perforce.ravenbrook.com
2016-09-04 14:47:08 +01:00
Gareth Rees
63b301ca93
New program mpseventpy emits python data structures representing telemetry events.
...
Copied from Perforce
Change: 191895
ServerID: perforce.ravenbrook.com
2016-06-02 15:02:05 +01:00
Gareth Rees
21585896dd
Just report the performance ratio, don't fail if it's too large (to avoid continuous integration failures).
...
Copied from Perforce
Change: 191486
ServerID: perforce.ravenbrook.com
2016-04-21 15:33:08 +01:00
Gareth Rees
5050d53d48
Increase target ratios to reduce false positives.
...
Copied from Perforce
Change: 191420
ServerID: perforce.ravenbrook.com
2016-04-21 09:12:16 +01:00
Gareth Rees
68fd97647f
Pass the -p (posix output) option to /usr/bin/time so that the results are portable between os x and linux.
...
Copied from Perforce
Change: 191378
ServerID: perforce.ravenbrook.com
2016-04-20 16:19:38 +01:00
Gareth Rees
c5456223c1
Performance ratio test uses cpu time (not real time). use awk instead of dc to avoid having to install a package.
...
Copied from Perforce
Change: 191365
ServerID: perforce.ravenbrook.com
2016-04-20 15:07:22 +01:00
Gareth Rees
655e358db4
Add a test checking that the hot variety is not too much slower than the rash variety. turn this on for continuous integration testing via "make test".
...
Copied from Perforce
Change: 191339
ServerID: perforce.ravenbrook.com
2016-04-20 13:15:18 +01:00
Gareth Rees
63b2875a62
Fix call broken by catch-up merge.
...
Copied from Perforce
Change: 191066
ServerID: perforce.ravenbrook.com
2016-04-13 13:13:41 +01:00
Gareth Rees
77b12d3ee7
Catch-up merge from master sources to branch/2014-10-11/snc.
...
Copied from Perforce
Change: 191065
ServerID: perforce.ravenbrook.com
2016-04-13 13:07:19 +01:00
Richard Brooksby
ca7dcd913e
Basic removal of the reservoir pool from code and design.
...
Copied from Perforce
Change: 190000
ServerID: perforce.ravenbrook.com
2016-03-13 20:32:24 +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
c56dd90bbb
Merge poolamsi.c into poolams.c for consistency with other pool class implementations.
...
Copied from Perforce
Change: 189681
ServerID: perforce.ravenbrook.com
2016-03-06 18:49:47 +00:00
Gareth Rees
484941d9a0
Add make target for running the mmqa test suite.
...
Copied from Perforce
Change: 189674
ServerID: perforce.ravenbrook.com
2016-03-06 14:15:37 +00:00
Richard Brooksby
998a11b45a
Catch-up merge from master sources to branch/2015-09-04/stack.
...
Copied from Perforce
Change: 189370
ServerID: perforce.ravenbrook.com
2016-02-27 00:54:00 +00:00
Richard Brooksby
a3fdda4678
Lifting and generalising area scanners to allow flexible tagging schemes.
...
Copied from Perforce
Change: 189189
ServerID: perforce.ravenbrook.com
2016-02-15 15:30:08 +00:00
Gareth Rees
bf57e7bc11
First draft of tagged pointer test case (runs, but doesn't test anything yet).
...
Copied from Perforce
Change: 188244
ServerID: perforce.ravenbrook.com
2015-09-04 16:51:59 +01:00
Gareth Rees
b3056139c8
New module policy.c.
...
Copied from Perforce
Change: 188152
ServerID: perforce.ravenbrook.com
2015-08-19 15:03:47 +01:00
Gareth Rees
1ba6b0814d
Testrun.sh now takes the suite via the -s option. this means that you can run a single test case.
...
testrun.sh now takes a "runner" via the -r option. You can pass something like "noaslr" to run all the test cases with ASLR turned off.
Copied from Perforce
Change: 187496
ServerID: perforce.ravenbrook.com
2014-11-08 10:05:05 +00:00
Gareth Rees
c3ca6e36d1
Remove redundant pfmdefs from windows makefiles.
...
Explain how to write a Windows makefile when porting the MPS.
Copied from Perforce
Change: 187473
ServerID: perforce.ravenbrook.com
2014-11-06 15:28:40 +00:00
Gareth Rees
70f065f187
Rename "testpoll" to "testpollnone" (because the old name was misleading: this tests the configuration *without* polling).
...
Copied from Perforce
Change: 187449
ServerID: perforce.ravenbrook.com
2014-11-02 16:52:52 +00:00
Gareth Rees
44cad37717
New test case sncss.
...
Copied from Perforce
Change: 187217
ServerID: perforce.ravenbrook.com
2014-10-11 21:07:29 +01:00
Gareth Rees
8c3e1f4d6c
Link snc in the file-at-a-time builds, so that they match the mps.c builds.
...
Copied from Perforce
Change: 187208
ServerID: perforce.ravenbrook.com
2014-10-11 12:08:24 +01:00
Gareth Rees
57a0b9a236
Don't compile test cases with -dndebug -- we need assertions to help us find errors!
...
Copied from Perforce
Change: 186804
ServerID: perforce.ravenbrook.com
2014-07-03 15:40:48 +01:00
Gareth Rees
6c07fcbce4
No need for mv2obj and mvffobj.
...
Copied from Perforce
Change: 186791
ServerID: perforce.ravenbrook.com
2014-07-02 17:22:46 +01:00
Gareth Rees
27ef3e0e9e
Catch-up merge from branch/2014-05-28/align to branch/2014-06-14/vm.
...
Copied from Perforce
Change: 186633
ServerID: perforce.ravenbrook.com
2014-06-14 16:20:04 +01:00
Gareth Rees
d7a8949891
Put the portable part of the vm interface in its own module.
...
Copied from Perforce
Change: 186630
ServerID: perforce.ravenbrook.com
2014-06-14 16:09:06 +01:00
Gareth Rees
65243ddfdf
There's nothing special about version.c that requires it to be linked separately.
...
Copied from Perforce
Change: 186627
ServerID: perforce.ravenbrook.com
2014-06-14 15:55:21 +01:00
Gareth Rees
946a50691d
Catch-up merge from master sources @186335 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 186348
ServerID: perforce.ravenbrook.com
2014-05-29 14:58:50 +01:00
Gareth Rees
06288300bf
Don't include pooln.c in mps.c -- only used by test case poolncv.
...
Include dependencies in all varieties, not just in COOL.
Copied from Perforce
Change: 186174
ServerID: perforce.ravenbrook.com
2014-05-19 11:39:05 +01:00
Gareth Rees
2cf1859759
Correct dependencies for benchmarks and event tools.
...
Copied from Perforce
Change: 186171
ServerID: perforce.ravenbrook.com
2014-05-19 10:55:48 +01:00
Gareth Rees
34cc9d49e4
Catch-up merge from master sources @186077 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 186081
ServerID: perforce.ravenbrook.com
2014-05-13 16:21:39 +01:00
Gareth Rees
e332f18190
Only link the testthr* module with test cases that use it.
...
Copied from Perforce
Change: 186055
ServerID: perforce.ravenbrook.com
2014-05-12 21:54:52 +01:00
Gareth Rees
0a4c4fcaa6
Fix problems identified by dl in < https://info.ravenbrook.com/mail/2014/04/30/12-47-23/0/ >.
...
Copied from Perforce
Change: 185897
ServerID: perforce.ravenbrook.com
2014-04-30 15:24:26 +01:00
Gareth Rees
42f18f93af
Catch-up merge from master/...@185556 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 185563
ServerID: perforce.ravenbrook.com
2014-04-15 13:14:50 +01:00
Gareth Rees
a755d16585
Revert hasty merge of branch/2014-04-15/shared -- broke xcode build.
...
Copied from Perforce
Change: 185553
ServerID: perforce.ravenbrook.com
2014-04-15 12:39:51 +01:00
Gareth Rees
fa3e80eb7c
Build and install a shared library on unix platforms.
...
Copied from Perforce
Change: 185543
ServerID: perforce.ravenbrook.com
2014-04-15 11:02:05 +01:00
Gareth Rees
5d25840cd5
Catch-up merge from master sources to branch/2014-03-25/ansi.
...
Copied from Perforce
Change: 185356
ServerID: perforce.ravenbrook.com
2014-04-08 18:07:11 +01:00
Gareth Rees
3f50055416
Fix bugs in exposet0.c and steptest.c on windows.
...
Port djbench and gcbench to Windows.
Run amcssth and awlutth test cases on Windows.
Copied from Perforce
Change: 185354
ServerID: perforce.ravenbrook.com
2014-04-08 16:26:27 +01:00
Gareth Rees
e45793ce57
New header testthr.h provides simple threading interface.
...
Implementations testthrix.c for Unix and testthrw3.c for Windows.
Multi-threaded test cases use the new interface.
Rename lockutw3 to lockut (no longer Windows-specific).
Run multi-threaded test cases on Windows and lockut elsewhere.
Copied from Perforce
Change: 185350
ServerID: perforce.ravenbrook.com
2014-04-08 15:14:32 +01:00
Gareth Rees
a76ab7ce6b
Catch-up merge from master sources to branch/2014-03-25/ansi.
...
Copied from Perforce
Change: 185305
ServerID: perforce.ravenbrook.com
2014-04-07 16:04:58 +01:00
Gareth Rees
4b5d396792
Catch-up merge from master sources to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 185288
ServerID: perforce.ravenbrook.com
2014-04-07 15:02:09 +01:00
Gareth Rees
642050880d
Compile cool before hot because the former doesn't need to optimize and so detects errors more quickly; and because the former uses file-at-a-time compilation and so can pick up where it left off instead of having to start from the beginning of mps.c.
...
Copied from Perforce
Change: 185211
ServerID: perforce.ravenbrook.com
2014-04-03 15:02:20 +01:00
Gareth Rees
0b159dc650
New module failover implements a fail-over allocator as a land class.
...
Use Failover in MVT and MVFF.
Test Failover in landtest.
Implementation of LandFindInZones for Freelist (untested).
Remove signature from RangeStruct so we can embed it without a space cost.
Copied from Perforce
Change: 185196
ServerID: perforce.ravenbrook.com
2014-04-03 12:52:23 +01:00
Gareth Rees
b409ae89f6
Turn freelist into a land class.
...
Copied from Perforce
Change: 185155
ServerID: perforce.ravenbrook.com
2014-04-02 14:01:18 +01:00
Gareth Rees
a929adf067
Add land.c to list of modules, and missing header range.h.
...
Copied from Perforce
Change: 185134
ServerID: perforce.ravenbrook.com
2014-04-01 21:26:07 +01:00