Last login: Fri Feb 18 05:19:32 on ttyp1 Welcome to Darwin! duck:~ richardk$ man gdb duck:~ richardk$ man gdb duck:~ richardk$ man info duck:~ richardk$ info gdb duck:~ richardk$ info info duck:~ richardk$ cd u/sc3 duck:~/u/sc3 richardk$ cat 1.sc cat: 1.sc: No such file or directory duck:~/u/sc3 richardk$ cat >1.sc (define foo 1) duck:~/u/sc3 richardk$ duck:~/u/sc3 richardk$ duck:~/u/sc3 richardk$ cd duck:~ richardk$ cd p4 duck:~/p4 richardk$ cd project/mps/master/test/ duck:~/p4/project/mps/master/test richardk$ ls argerr function test conerr misc testsets duck:~/p4/project/mps/master/test richardk$ cd test duck:~/p4/project/mps/master/test/test richardk$ ls README qa script testlib duck:~/p4/project/mps/master/test/test richardk$ perl qa You must specify a command -- try 'qa help' for details. duck:~/p4/project/mps/master/test/test richardk$ perl qa help Help topics: clib compile test libraries index list tests in a directory install installing and invoking the MMQA test harness naming Numbering of test programs options display options and their current values output Conventions for test output problems known problems and how to report others you may find run run tests, reporting results and verdict runset run tests from a test-set For help on a topic, type 'qa help '. For general instructions on how to run tests, see guide.mmqa in the MM Information database. duck:~/p4/project/mps/master/test/test richardk$ which perl /usr/bin/perl duck:~/p4/project/mps/master/test/test richardk$ perl -? Unrecognized switch: -? (-h will show valid options). duck:~/p4/project/mps/master/test/test richardk$ perl -h Usage: perl [switches] [--] [programfile] [arguments] -0[octal] specify record separator (\0, if no argument) -a autosplit mode with -n or -p (splits $_ into @F) -C enable native wide character system interfaces -c check syntax only (runs BEGIN and CHECK blocks) -d[:debugger] run program under debugger -D[number/list] set debugging flags (argument is a bit mask or alphabets) -e 'command' one line of program (several -e's allowed, omit programfile) -F/pattern/ split() pattern for -a switch (//'s are optional) -i[extension] edit <> files in place (makes backup if extension supplied) -Idirectory specify @INC/#include directory (several -I's allowed) -l[octal] enable line ending processing, specifies line terminator -[mM][-]module execute `use/no module...' before executing program -n assume 'while (<>) { ... }' loop around program -p assume loop like -n but print line also, like sed -P run program through C preprocessor before compilation -s enable rudimentary parsing for switches after programfile -S look for programfile using PATH environment variable -T enable tainting checks -t enable tainting warnings -u dump core after parsing program -U allow unsafe operations -v print version, subversion (includes VERY IMPORTANT perl info) -V[:variable] print configuration summary (or a single Config.pm variable) -w enable many useful warnings (RECOMMENDED) -W enable all warnings -X disable all warnings -x[directory] strip off text before #!perl line and perhaps cd to directory duck:~/p4/project/mps/master/test/test richardk$ perl -e 'echo $]' Can't call method "echo" without a package or object reference at -e line 1. duck:~/p4/project/mps/master/test/test richardk$ perl -e 'print $]' 5.008001duck:~/p4/project/mps/master/test/test richardk$ perl -e 'print $]; print "\n"'' > > duck:~/p4/project/mps/master/test/test richardk$ duck:~/p4/project/mps/master/test/test richardk$ perl qa help Help topics: clib compile test libraries index list tests in a directory install installing and invoking the MMQA test harness naming Numbering of test programs options display options and their current values output Conventions for test output problems known problems and how to report others you may find run run tests, reporting results and verdict runset run tests from a test-set For help on a topic, type 'qa help '. For general instructions on how to run tests, see guide.mmqa in the MM Information database. duck:~/p4/project/mps/master/test/test richardk$ perl qa help install % $HopeName: MMQA_harness!script:help:problems(trunk.2) $ The MMQA test system consists of the test harness (in hope as MMQA_harness!), suites of individual tests (MMQA_test_function!, MMQA_test_argerr!, MMQA_test_conerr!, MMQA_test_misc!), data files (MMQA_data!) and a number of test sets (MMQA_testsets!). To run tests, you need at least the test harness and the individual tests you want to run. To checkout everything, use the hope command: checkout -recursive -missing-dir create MMQA!(.) (There are no useful checkpoints or branches on the MMQA compound.) This will give you a directory structure as follows: mmqa -- MMQA top-level directory, i.e. MMQA! test -- test harness, i.e. MMQA_harness! qa -- perl script for compiling and running test &c script -- perl programs and other files used by 'qa' testlibs -- test libraries (.c and .h files) obj -- compiled tests and libraries go in here report -- test reports (unused) function -- mps functional tests, i.e. MMQA_test_function! conerr -- context error tests, i.e. MMQA_test_conerr! argerr -- argument error tests, i.e. MMQA_test_argerr! misc -- miscellaneous tests, i.e. MMQA_test_misc! data -- data files, i.e. MMQA_data! testsets -- test sets, i.e. MMQA_testsets! Actually, it doesn't matter where you put the directories of individual tests (function, conerr, argerr, misc), but it will be simplest if you use the structure above. All qa commands are invoked by running the perl script in the mmqa/test directory, as follows: perl mmqa/test/qa Perl is required: if the above fails, try perl5 mmqa/test/qa You will probably find it useful to set up an alias, batch file or similar so that you can just type "qa " to invoke qa commands. duck:~/p4/project/mps/master/test/test richardk$ alias qa 'perl qa' -bash: alias: qa: not found -bash: alias: perl qa: not found duck:~/p4/project/mps/master/test/test richardk$ qa help install % $HopeName: MMQA_harness!script:help:problems(trunk.2) $ The MMQA test system consists of the test harness (in hope as MMQA_harness!), suites of individual tests (MMQA_test_function!, MMQA_test_argerr!, MMQA_test_conerr!, MMQA_test_misc!), data files (MMQA_data!) and a number of test sets (MMQA_testsets!). To run tests, you need at least the test harness and the individual tests you want to run. To checkout everything, use the hope command: checkout -recursive -missing-dir create MMQA!(.) (There are no useful checkpoints or branches on the MMQA compound.) This will give you a directory structure as follows: mmqa -- MMQA top-level directory, i.e. MMQA! test -- test harness, i.e. MMQA_harness! qa -- perl script for compiling and running test &c script -- perl programs and other files used by 'qa' testlibs -- test libraries (.c and .h files) obj -- compiled tests and libraries go in here report -- test reports (unused) function -- mps functional tests, i.e. MMQA_test_function! conerr -- context error tests, i.e. MMQA_test_conerr! argerr -- argument error tests, i.e. MMQA_test_argerr! misc -- miscellaneous tests, i.e. MMQA_test_misc! data -- data files, i.e. MMQA_data! testsets -- test sets, i.e. MMQA_testsets! Actually, it doesn't matter where you put the directories of individual tests (function, conerr, argerr, misc), but it will be simplest if you use the structure above. All qa commands are invoked by running the perl script in the mmqa/test directory, as follows: perl mmqa/test/qa Perl is required: if the above fails, try perl5 mmqa/test/qa You will probably find it useful to set up an alias, batch file or similar so that you can just type "qa " to invoke qa commands. duck:~/p4/project/mps/master/test/test richardk$ script Script started, output file is typescript duck:~/p4/project/mps/master/test/test richardk$ ls -al total 16 drwxr-xr-x 9 richardk admin 306 23 Feb 11:09 . drwxr-xr-x 9 richardk admin 306 16 Feb 11:45 .. -r--r--r-- 1 richardk admin 382 2 Feb 17:43 README drwxr-xr-x 2 richardk admin 68 23 Feb 10:32 log drwxr-xr-x 3 richardk admin 102 23 Feb 10:32 obj -r--r--r-- 1 richardk admin 1916 2 Feb 17:43 qa drwxr-xr-x 20 richardk admin 680 29 Nov 13:14 script drwxr-xr-x 33 richardk admin 1122 29 Nov 13:14 testlib -rw-r--r-- 1 richardk admin 0 23 Feb 11:09 typescript duck:~/p4/project/mps/master/test/test richardk$ ls -al total 24 drwxr-xr-x 9 richardk admin 306 23 Feb 11:09 . drwxr-xr-x 9 richardk admin 306 16 Feb 11:45 .. -r--r--r-- 1 richardk admin 382 2 Feb 17:43 README drwxr-xr-x 2 richardk admin 68 23 Feb 10:32 log drwxr-xr-x 3 richardk admin 102 23 Feb 10:32 obj -r--r--r-- 1 richardk admin 1916 2 Feb 17:43 qa drwxr-xr-x 20 richardk admin 680 29 Nov 13:14 script drwxr-xr-x 33 richardk admin 1122 29 Nov 13:14 testlib -rw-r--r-- 1 richardk admin 683 23 Feb 11:10 typescript duck:~/p4/project/mps/master/test/test richardk$ which qa /Users/richardk/bin/qa duck:~/p4/project/mps/master/test/test richardk$ cat `which qa` #!/bin/sh perl qa "$@" duck:~/p4/project/mps/master/test/test richardk$ qa help Help topics: clib compile test libraries index list tests in a directory install installing and invoking the MMQA test harness naming Numbering of test programs options display options and their current values output Conventions for test output problems known problems and how to report others you may find run run tests, reporting results and verdict runset run tests from a test-set For help on a topic, type 'qa help '. For general instructions on how to run tests, see guide.mmqa in the MM Information database. duck:~/p4/project/mps/master/test/test richardk$ cd ../.. duck:~/p4/project/mps/master richardk$ qa Can't open perl script "qa": No such file or directory duck:~/p4/project/mps/master richardk$ vi /Users/richardk/bin/qa duck:~/p4/project/mps/master richardk$ qa help\ > Help topics: clib compile test libraries index list tests in a directory install installing and invoking the MMQA test harness naming Numbering of test programs options display options and their current values output Conventions for test output problems known problems and how to report others you may find run run tests, reporting results and verdict runset run tests from a test-set For help on a topic, type 'qa help '. For general instructions on how to run tests, see guide.mmqa in the MM Information database. duck:~/p4/project/mps/master richardk$ qa help install % $HopeName: MMQA_harness!script:help:problems(trunk.2) $ The MMQA test system consists of the test harness (in hope as MMQA_harness!), suites of individual tests (MMQA_test_function!, MMQA_test_argerr!, MMQA_test_conerr!, MMQA_test_misc!), data files (MMQA_data!) and a number of test sets (MMQA_testsets!). To run tests, you need at least the test harness and the individual tests you want to run. To checkout everything, use the hope command: checkout -recursive -missing-dir create MMQA!(.) (There are no useful checkpoints or branches on the MMQA compound.) This will give you a directory structure as follows: mmqa -- MMQA top-level directory, i.e. MMQA! test -- test harness, i.e. MMQA_harness! qa -- perl script for compiling and running test &c script -- perl programs and other files used by 'qa' testlibs -- test libraries (.c and .h files) obj -- compiled tests and libraries go in here report -- test reports (unused) function -- mps functional tests, i.e. MMQA_test_function! conerr -- context error tests, i.e. MMQA_test_conerr! argerr -- argument error tests, i.e. MMQA_test_argerr! misc -- miscellaneous tests, i.e. MMQA_test_misc! data -- data files, i.e. MMQA_data! testsets -- test sets, i.e. MMQA_testsets! Actually, it doesn't matter where you put the directories of individual tests (function, conerr, argerr, misc), but it will be simplest if you use the structure above. All qa commands are invoked by running the perl script in the mmqa/test directory, as follows: perl mmqa/test/qa Perl is required: if the above fails, try perl5 mmqa/test/qa You will probably find it useful to set up an alias, batch file or similar so that you can just type "qa " to invoke qa commands. duck:~/p4/project/mps/master richardk$ qa help options % $HopeName: MMQA_harness!script:help:options(trunk.6) $ Usage: qa options [] 'options' prints out a table of all options and flags used by the qa harness. Each may be specified by setting an environment variable (to "on" or "off" in the case of a flag) or as a command line option. The current values (i.e. resulting from defaults, environment variables and any options given to the 'options' command) are also shown. You can use command- line options with the 'options' command to check that you're specifying them correctly, but of course they won't remain set for future commands. In general, if you specify a command-line option or flag, it will override whatever setting was made with environment variables. If the option is _cumulative_, however, both will apply. What the options mean: MMQA_MPS_INCLUDE_DIR / -i a directory where the MM header files may be found. No default. MMQA_MPS_LINK_OBJ / -l the MM libraries and plinth to link with. Separate multiple files with spaces. (Spaces in the paths will make the test harness go wrong, unfortunately.) No default. MMQA_MPS_PRODUCT / -prod You won't normally need to (and shouldn't) set this option, which will default to "epcore" or "dylan", whichever is appropriate to the memory manager specified in MMQA_MPS_LINK_OBJ. If however you want to test a memory manager which predates MPS version identification, then you must set it manually. MMQA_LOG_DIR / -g the directory in which log files should be saved. Default is 'log' directory inside the MMQA 'test' directory. MMQA_DATA_DIR / -data the diretory in which MMQA data files may be found. Default is '../data' from the MMQA 'test' directory. This is used when tests specify a particular file as their standard input. If you specify the standard input with MMQA_STDIN, the current directory is used. MMQA_PLATFORM / -p the platform you are running on. This is determined automatically, and used to specify compiler options and command-line syntax for running tests. Setting it to a value not appropriate to the machine you are using will make the test system go wrong. MMQA_PARAMETERS / -a (cumulative) parameter settings to use for a test. These override any parameter settings specified in the test header. Examples (all equivalent): 1) qa run test.c -a DEPTH=10 -a WIDTH=5 2) qa run test.c -a "WIDTH=5 DEPTH=10" 3) MMQA_PARAMETERS='DEPTH=10 WIDTH=5' qa run test.c 4) MMQA_PARAMETERS='DEPTH=10' qa run test.c -a WIDTH=5 Parameters may also be specified individually: 5) MMQA_PARAM_DEPTH=10 MMQA_PARAM_WIDTH=5 qa run test.c All these kinds of parameter settings may be combined. In the case of a clash, the command-line setting takes precedence, then the setting via MMQA_PARAMETERS. I recommend using command-line settings only, otherwise there's a risk you'll leave the parameters set and end up using them by mistake with other tests. MMQA_STDIN / -s allows you to specify what a test will use for its standard input. If unset, the file specified by the test itself will be used (from the MMQA_DATA_DIR directory). By setting MMQA_STDIN, you can use a file of your choosing, or specify "STDIN" if you want to force input from whatever is the qa harness's standard input (usually the keyboard). MMQA_DEBUG_INFO / -[no]debug default is 'off'. If you turn this on, qa commands will output various diagnostic messages, which may or may not be useful in the event of a problem with the test system. Not recommended. MMQA_DANGEROUS / -[no]danger default is 'off'. With default setting, the harness will refuse to run a test if it believes the test libraries may not be compatible with the current settings. Normally you will want to "qa clib" when this happens, but to force the harness to run the test with the old libraries (and symbol lists), turn this option on. MMQA_MAIL_RESULTS / -[no]mail If MAIL_RESULTS is on, then MAIL_SUBJECT will be put at the beginning of the subject header when test logs are mailed out. Default is "MMQA-log". Don't change this unless you are going to change MMQA_MAIL_TO, in which case you might want to use it to help you filter your mail automatically. MMQA_MAIL_TO / -m If MAIL_RESULTS is on, then MAIL_TO is who to mail test logs to. The default is mm-qa-test-log, which get archived in the "MM QA Test Log" Notes database. Leave this unchanged, unless for example you want to mail results (which are more detailed than those displayed on screen) to yourself. MMQA_MAIL_SUBJECT / -subj If MAIL_RESULTS is on, then MAIL_SUBJECT will be put at the beginning of the subject header when test logs are mailed out. Default is "MMQA-log". Don't change this unless you are going to change MMQA_MAIL_TO, in which case you might want to use it to help you filter your mail automatically. duck:~/p4/project/mps/master richardk$ qa options ------------------------------------------------------------------------ MMQA harness version 3.5 OPTION CODE CURRENT DANGEROUS -[no]danger off DATA_DIR -data test/test/../data DEBUG_INFO -[no]debug off LOG_DIR -g test/test/log MAIL_RESULTS -[no]mail on MAIL_SUBJECT -subj MMQA-log MAIL_TO -m mm-qa-test-log MPS_INCLUDE_DIR -i MPS_LINK_OBJ -l MPS_PRODUCT -prod PARAMETERS -a PLATFORM -p Darwin_7.8.0_powerpc__unix STDIN -s (Add MMQA_ to start of option to give environment variable) ------------------------------------------------------------------------ duck:~/p4/project/mps/master richardk$ cd .. duck:~/p4/project/mps richardk$ cd release/ duck:~/p4/project/mps/release richardk$ ls 1.100.0 MMconfigura-1.104-64985 1.100.1 MMconfigura-ams-auto 1.102.0 MMconfigura-awl 1.103.0 MMconfigura-awl-auto 1.104.0 MMconfigura-in-arena 1.105.0 MMconfigura-incremental-step MMconfigura-1.100-30880 MMconfigura-shield-fix MMconfigura-1.102-63088 index.html MMconfigura-1.103-64245 duck:~/p4/project/mps/release richardk$ find 1.105.0 1.105.0 1.105.0/MMconfigura-1.105-144830.tar.gz duck:~/p4/project/mps/release richardk$ cd 1.105.0 duck:~/p4/project/mps/release/1.105.0 richardk$ ls MMconfigura-1.105-144830.tar.gz duck:~/p4/project/mps/release/1.105.0 richardk$ zcat * | tar xvf - release/ release/include/ release/include/mps.h release/include/mpsacl.h release/include/mpsavm.h release/include/mpscamc.h release/include/mpscams.h release/include/mpscawl.h release/include/mpsclo.h release/include/mpscmv.h release/include/mpscmvff.h release/include/mpscsnc.h release/include/mpsio.h release/include/mpslib.h release/include/mpslibcb.h release/include/mpstd.h release/include/mpsw3.h release/include/mpswin.h release/lib/ release/lib/w3i3/ release/lib/w3i3/ce/ release/lib/w3i3/ce/mps.lib release/lib/w3i3/ce/mpsdy.dll release/lib/w3i3/ce/mpsdy.lib release/lib/w3i3/ce/mpsplan.lib release/lib/w3i3/ce/mpsplcb.lib release/lib/w3i3/ci/ release/lib/w3i3/ci/mps.lib release/lib/w3i3/ci/mpsdy.dll release/lib/w3i3/ci/mpsdy.lib release/lib/w3i3/ci/mpsplan.lib release/lib/w3i3/ci/mpsplcb.lib release/lib/w3i3/we/ release/lib/w3i3/we/mps.lib release/lib/w3i3/we/mpsdy.dll release/lib/w3i3/we/mpsdy.lib release/lib/w3i3/we/mpsplan.lib release/lib/w3i3/we/mpsplcb.lib release/lib/w3i3/wi/ release/lib/w3i3/wi/mps.lib release/lib/w3i3/wi/mpsdy.dll release/lib/w3i3/wi/mpsdy.lib release/lib/w3i3/wi/mpsplan.lib release/lib/w3i3/wi/mpsplcb.lib release/src/ release/src/mpsioan.c release/src/mpsliban.c duck:~/p4/project/mps/release/1.105.0 richardk$ pwd /Users/richardk/p4/project/mps/release/1.105.0 duck:~/p4/project/mps/release/1.105.0 richardk$ ls -la total 3552 drwxr-xr-x 4 richardk admin 136 23 Feb 11:22 . drwxr-xr-x 20 richardk admin 680 22 Feb 16:40 .. -r--r--r-- 1 richardk admin 1816571 22 Feb 16:40 MMconfigura-1.105-144830.tar.gz drwxr-xr-x 5 richardk admin 170 16 Feb 13:30 release duck:~/p4/project/mps/release/1.105.0 richardk$ rm -fr release duck:~/p4/project/mps/release/1.105.0 richardk$ cd ../../master duck:~/p4/project/mps/master richardk$ ls code index.html manual readme.txt tool design license.txt procedure test duck:~/p4/project/mps/master richardk$ cd code duck:~/p4/project/mps/master/code richardk$ ls abq.c eventrep.c mpm.h poolmvff.c splay.h abq.h eventrep.h mpmss.c pooln.c ss.h abqtest.c expgen.sh mpmst.h pooln.h ssan.c amcss.c exposet0.c mpmtypes.h poolncv.c ssfri3.c amcsshe.c expt825.c mps.h poolsnc.c sslii3.c amcssth.c finalcv.c mps.xcode prmcan.c sso1al.s amsss.c finaltest.c mpsacl.h prmcfr.h sssos8.s amssshe.c fmtdy.c mpsavm.h prmci3.h sssus8.c apss.c fmtdy.h mpscamc.h prmci3li.c sssus8.s arena.c fmtdytst.c mpscams.h prmci3w3.c ssw3i3.c arenacl.c fmtdytst.h mpscawl.h prmcli.h steptest.c arenacv.c fmthe.c mpsclo.h prmcw3.h sus8gc.gmk arenavm.c fmthe.h mpscmv.h protan.c table.c awlut.c fmtno.c mpscmv2.h protfr.c table.h awluthe.c fmtno.h mpscmvff.h protfri3.c teletest.c awlutth.c format.c mpscsnc.h proti3.c testlib.c boot.c fri4gc.gmk mpsi.c protli.c testlib.h boot.h gc.gmk mpsicv.c protlii3.c th.h bt.c global.c mpsio.h proto1.c than.c bt.h gp.gmk mpsioan.c protocol.c thfri4.c btcv.c i6cc.gmk mpsiw3.c protocol.h thlii4.c bttest.c iam4cc.gmk mpslib.h protso.c thw3i3.c buffer.c ic.gmk mpsliban.c protsu.c trace.c build idlench.awk mpslibcb.c protw3.c tract.c cbs.c lc.gmk mpslibcb.h pthrdext.c tract.h cbs.h ld.c mpstd.h pthrdext.h untitled cbstest.c libcbt.c mpsw3.h qs.c version.c chain.h lii3eg.gmk mpswin.h ref.c vman.c check.h lii4gc.gmk mv2test.c replay.c vmfr.c comm.gmk lippgc.gmk o1alcc.gmk reserv.c vmi5.c commpost.nmk lo.h o1algc.gmk ring.c vmli.c commpre.nmk locbwcss.c ossu.h ring.h vmo1.c config.h lock.h osxc.h root.c vmso.c cx.gmk lockan.c pool.c s7ppac vmsu.c dbgpool.c lockcov.c poolabs.c s7ppmw.sit vmw3.c dbgpool.h lockfr.c poolamc.c sac.c vmxc.c dbgpooli.c lockli.c poolams.c sac.h w3almv.nmk dc.gmk lockutw3.c poolams.h sacss.c w3build.bat dumper.c lockw3.c poolamsi.c sc.gmk w3gen.def eg.gmk locus.c poolawl.c seg.c w3i3mv.nmk event.c locusss.c poollo.c segsmss.c w3ppmv.nmk event.h locv.c poolmfs.c shield.c walk.c eventcnv.c main.c poolmfs.h sos8cx.gmk walkt0.c eventcom.h message.c poolmrg.c sos8gc.gmk xcppgc eventdef.h messtest.c poolmrg.h sos8gp.gmk xcppgc.gmk eventgen.h meter.c poolmv.c sos9sc.gmk eventgen.pl meter.h poolmv.h span.c eventpro.c misc.h poolmv2.c spi3.c eventpro.h mpm.c poolmv2.h splay.c duck:~/p4/project/mps/master/code richardk$ make -r -f xcppgc.gmk mps.a xcppgc: xcppgc/hi/table.d xcppgc: xcppgc/hi/eventpro.d xcppgc: xcppgc/hi/eventcnv.d xcppgc: xcppgc/hi/mpsioan.d xcppgc: xcppgc/hi/fmtdytst.d xcppgc: xcppgc/hi/fmtno.d xcppgc: xcppgc/hi/fmtdy.d xcppgc: xcppgc/hi/fmthe.d xcppgc: xcppgc/hi/testlib.d xcppgc: xcppgc/hi/pooln.d xcppgc: xcppgc/hi/poolawl.d xcppgc: xcppgc/hi/poollo.d xcppgc: xcppgc/hi/poolamc.d xcppgc: xcppgc/hi/poolamsi.d xcppgc: xcppgc/hi/poolams.d xcppgc: xcppgc/hi/ssan.d xcppgc: xcppgc/hi/span.d xcppgc: xcppgc/hi/prmcan.d xcppgc: xcppgc/hi/protan.d xcppgc: xcppgc/hi/vmxc.d xcppgc: xcppgc/hi/than.d xcppgc: xcppgc/hi/lockan.d xcppgc: xcppgc/hi/version.d xcppgc: xcppgc/hi/cbs.d xcppgc: xcppgc/hi/splay.d xcppgc: xcppgc/hi/meter.d xcppgc: xcppgc/hi/boot.d xcppgc: xcppgc/hi/dbgpooli.d xcppgc: xcppgc/hi/dbgpool.d xcppgc: xcppgc/hi/poolmv.d xcppgc: xcppgc/hi/poolmfs.d xcppgc: xcppgc/hi/poolmrg.d xcppgc: xcppgc/hi/message.d xcppgc: xcppgc/hi/sac.d xcppgc: xcppgc/hi/event.d xcppgc: xcppgc/hi/ld.d xcppgc: xcppgc/hi/shield.d xcppgc: xcppgc/hi/ring.d xcppgc: xcppgc/hi/bt.d xcppgc: xcppgc/hi/ref.d xcppgc: xcppgc/hi/buffer.d xcppgc: xcppgc/hi/format.d xcppgc: xcppgc/hi/seg.d xcppgc: xcppgc/hi/root.d xcppgc: xcppgc/hi/trace.d xcppgc: xcppgc/hi/poolabs.d xcppgc: xcppgc/hi/pool.d xcppgc: xcppgc/hi/protocol.d xcppgc: xcppgc/hi/reserv.d xcppgc: xcppgc/hi/walk.d xcppgc: xcppgc/hi/tract.d xcppgc: xcppgc/hi/locus.d xcppgc: xcppgc/hi/global.d xcppgc: xcppgc/hi/arena.d xcppgc: xcppgc/hi/arenacl.d xcppgc: xcppgc/hi/arenavm.d xcppgc: xcppgc/hi/mpm.d xcppgc: xcppgc/hi/mpsi.d xcppgc: xcppgc/hi/mpsi.o xcppgc: xcppgc/hi/mpm.o xcppgc: xcppgc/hi/arenavm.o xcppgc: xcppgc/hi/arenacl.o xcppgc: xcppgc/hi/arena.o xcppgc: xcppgc/hi/global.o xcppgc: xcppgc/hi/locus.o xcppgc: xcppgc/hi/tract.o xcppgc: xcppgc/hi/walk.o xcppgc: xcppgc/hi/reserv.o xcppgc: xcppgc/hi/protocol.o xcppgc: xcppgc/hi/pool.o xcppgc: xcppgc/hi/poolabs.o xcppgc: xcppgc/hi/trace.o xcppgc: xcppgc/hi/root.o xcppgc: xcppgc/hi/seg.o xcppgc: xcppgc/hi/format.o xcppgc: xcppgc/hi/buffer.o xcppgc: xcppgc/hi/ref.o xcppgc: xcppgc/hi/bt.o xcppgc: xcppgc/hi/ring.o xcppgc: xcppgc/hi/shield.o xcppgc: xcppgc/hi/ld.o xcppgc: xcppgc/hi/event.o xcppgc: xcppgc/hi/sac.o xcppgc: xcppgc/hi/message.o xcppgc: xcppgc/hi/poolmrg.o xcppgc: xcppgc/hi/poolmfs.o xcppgc: xcppgc/hi/poolmv.o xcppgc: xcppgc/hi/dbgpool.o xcppgc: xcppgc/hi/dbgpooli.o xcppgc: xcppgc/hi/boot.o xcppgc: xcppgc/hi/meter.o xcppgc: xcppgc/hi/splay.o xcppgc: xcppgc/hi/cbs.o xcppgc: xcppgc/hi/version.o xcppgc: xcppgc/hi/lockan.o xcppgc: xcppgc/hi/than.o xcppgc: xcppgc/hi/vmxc.o xcppgc: xcppgc/hi/protan.o xcppgc: xcppgc/hi/prmcan.o xcppgc: xcppgc/hi/span.o xcppgc: xcppgc/hi/ssan.o xcppgc: xcppgc/hi/poolamc.o xcppgc: xcppgc/hi/mps.a xcppgc: xcppgc/ci/table.d xcppgc: xcppgc/ci/eventpro.d xcppgc: xcppgc/ci/eventcnv.d xcppgc: xcppgc/ci/mpsioan.d xcppgc: xcppgc/ci/fmtdytst.d xcppgc: xcppgc/ci/fmtno.d xcppgc: xcppgc/ci/fmtdy.d xcppgc: xcppgc/ci/fmthe.d xcppgc: xcppgc/ci/testlib.d xcppgc: xcppgc/ci/pooln.d xcppgc: xcppgc/ci/poolawl.d xcppgc: xcppgc/ci/poollo.d xcppgc: xcppgc/ci/poolamc.d xcppgc: xcppgc/ci/poolamsi.d xcppgc: xcppgc/ci/poolams.d xcppgc: xcppgc/ci/ssan.d xcppgc: xcppgc/ci/span.d xcppgc: xcppgc/ci/prmcan.d xcppgc: xcppgc/ci/protan.d xcppgc: xcppgc/ci/vmxc.d xcppgc: xcppgc/ci/than.d xcppgc: xcppgc/ci/lockan.d xcppgc: xcppgc/ci/version.d xcppgc: xcppgc/ci/cbs.d xcppgc: xcppgc/ci/splay.d xcppgc: xcppgc/ci/meter.d xcppgc: xcppgc/ci/boot.d xcppgc: xcppgc/ci/dbgpooli.d xcppgc: xcppgc/ci/dbgpool.d xcppgc: xcppgc/ci/poolmv.d xcppgc: xcppgc/ci/poolmfs.d xcppgc: xcppgc/ci/poolmrg.d xcppgc: xcppgc/ci/message.d xcppgc: xcppgc/ci/sac.d xcppgc: xcppgc/ci/event.d xcppgc: xcppgc/ci/ld.d xcppgc: xcppgc/ci/shield.d xcppgc: xcppgc/ci/ring.d xcppgc: xcppgc/ci/bt.d xcppgc: xcppgc/ci/ref.d xcppgc: xcppgc/ci/buffer.d xcppgc: xcppgc/ci/format.d xcppgc: xcppgc/ci/seg.d xcppgc: xcppgc/ci/root.d xcppgc: xcppgc/ci/trace.d xcppgc: xcppgc/ci/poolabs.d xcppgc: xcppgc/ci/pool.d xcppgc: xcppgc/ci/protocol.d xcppgc: xcppgc/ci/reserv.d xcppgc: xcppgc/ci/walk.d xcppgc: xcppgc/ci/tract.d xcppgc: xcppgc/ci/locus.d xcppgc: xcppgc/ci/global.d xcppgc: xcppgc/ci/arena.d xcppgc: xcppgc/ci/arenacl.d xcppgc: xcppgc/ci/arenavm.d xcppgc: xcppgc/ci/mpm.d xcppgc: xcppgc/ci/mpsi.d xcppgc: xcppgc/ci/mpsi.o xcppgc: xcppgc/ci/mpm.o xcppgc: xcppgc/ci/arenavm.o xcppgc: xcppgc/ci/arenacl.o xcppgc: xcppgc/ci/arena.o xcppgc: xcppgc/ci/global.o xcppgc: xcppgc/ci/locus.o xcppgc: xcppgc/ci/tract.o xcppgc: xcppgc/ci/walk.o xcppgc: xcppgc/ci/reserv.o xcppgc: xcppgc/ci/protocol.o xcppgc: xcppgc/ci/pool.o xcppgc: xcppgc/ci/poolabs.o xcppgc: xcppgc/ci/trace.o xcppgc: xcppgc/ci/root.o xcppgc: xcppgc/ci/seg.o xcppgc: xcppgc/ci/format.o xcppgc: xcppgc/ci/buffer.o xcppgc: xcppgc/ci/ref.o xcppgc: xcppgc/ci/bt.o xcppgc: xcppgc/ci/ring.o xcppgc: xcppgc/ci/shield.o xcppgc: xcppgc/ci/ld.o xcppgc: xcppgc/ci/event.o xcppgc: xcppgc/ci/sac.o xcppgc: xcppgc/ci/message.o xcppgc: xcppgc/ci/poolmrg.o xcppgc: xcppgc/ci/poolmfs.o xcppgc: xcppgc/ci/poolmv.o xcppgc: xcppgc/ci/dbgpool.o xcppgc: xcppgc/ci/dbgpooli.o xcppgc: xcppgc/ci/boot.o xcppgc: xcppgc/ci/meter.o xcppgc: xcppgc/ci/splay.o xcppgc: xcppgc/ci/cbs.o xcppgc: xcppgc/ci/version.o xcppgc: xcppgc/ci/lockan.o xcppgc: xcppgc/ci/than.o xcppgc: xcppgc/ci/vmxc.o xcppgc: xcppgc/ci/protan.o xcppgc: xcppgc/ci/prmcan.o xcppgc: xcppgc/ci/span.o xcppgc: xcppgc/ci/ssan.o xcppgc: xcppgc/ci/poolamc.o xcppgc: xcppgc/ci/mps.a xcppgc: xcppgc/ti/table.d xcppgc: xcppgc/ti/eventpro.d xcppgc: xcppgc/ti/eventcnv.d xcppgc: xcppgc/ti/mpsioan.d xcppgc: xcppgc/ti/fmtdytst.d xcppgc: xcppgc/ti/fmtno.d xcppgc: xcppgc/ti/fmtdy.d xcppgc: xcppgc/ti/fmthe.d xcppgc: xcppgc/ti/testlib.d xcppgc: xcppgc/ti/pooln.d xcppgc: xcppgc/ti/poolawl.d xcppgc: xcppgc/ti/poollo.d xcppgc: xcppgc/ti/poolamc.d xcppgc: xcppgc/ti/poolamsi.d xcppgc: xcppgc/ti/poolams.d xcppgc: xcppgc/ti/ssan.d xcppgc: xcppgc/ti/span.d xcppgc: xcppgc/ti/prmcan.d xcppgc: xcppgc/ti/protan.d xcppgc: xcppgc/ti/vmxc.d xcppgc: xcppgc/ti/than.d xcppgc: xcppgc/ti/lockan.d xcppgc: xcppgc/ti/version.d xcppgc: xcppgc/ti/cbs.d xcppgc: xcppgc/ti/splay.d xcppgc: xcppgc/ti/meter.d xcppgc: xcppgc/ti/boot.d xcppgc: xcppgc/ti/dbgpooli.d xcppgc: xcppgc/ti/dbgpool.d xcppgc: xcppgc/ti/poolmv.d xcppgc: xcppgc/ti/poolmfs.d xcppgc: xcppgc/ti/poolmrg.d xcppgc: xcppgc/ti/message.d xcppgc: xcppgc/ti/sac.d xcppgc: xcppgc/ti/event.d xcppgc: xcppgc/ti/ld.d xcppgc: xcppgc/ti/shield.d xcppgc: xcppgc/ti/ring.d xcppgc: xcppgc/ti/bt.d xcppgc: xcppgc/ti/ref.d xcppgc: xcppgc/ti/buffer.d xcppgc: xcppgc/ti/format.d xcppgc: xcppgc/ti/seg.d xcppgc: xcppgc/ti/root.d xcppgc: xcppgc/ti/trace.d xcppgc: xcppgc/ti/poolabs.d xcppgc: xcppgc/ti/pool.d xcppgc: xcppgc/ti/protocol.d xcppgc: xcppgc/ti/reserv.d xcppgc: xcppgc/ti/walk.d xcppgc: xcppgc/ti/tract.d xcppgc: xcppgc/ti/locus.d xcppgc: xcppgc/ti/global.d xcppgc: xcppgc/ti/arena.d xcppgc: xcppgc/ti/arenacl.d xcppgc: xcppgc/ti/arenavm.d xcppgc: xcppgc/ti/mpm.d xcppgc: xcppgc/ti/mpsi.d xcppgc: xcppgc/ti/mpsi.o xcppgc: xcppgc/ti/mpm.o xcppgc: xcppgc/ti/arenavm.o xcppgc: xcppgc/ti/arenacl.o xcppgc: xcppgc/ti/arena.o xcppgc: xcppgc/ti/global.o xcppgc: xcppgc/ti/locus.o xcppgc: xcppgc/ti/tract.o xcppgc: xcppgc/ti/walk.o xcppgc: xcppgc/ti/reserv.o xcppgc: xcppgc/ti/protocol.o xcppgc: xcppgc/ti/pool.o xcppgc: xcppgc/ti/poolabs.o xcppgc: xcppgc/ti/trace.o xcppgc: xcppgc/ti/root.o xcppgc: xcppgc/ti/seg.o xcppgc: xcppgc/ti/format.o ^Cmake[2]: *** [xcppgc/ti/format.o] Interrupt make[1]: *** [target] Interrupt make: *** [mps.a] Interrupt duck:~/p4/project/mps/master/code richardk$ make -r -f xcppgc.gmk VARIETY=ci mps.a xcppgc: xcppgc/ci/version.o xcppgc: xcppgc/ci/mps.a duck:~/p4/project/mps/master/code richardk$ cd ../.. duck:~/p4/project/mps richardk$ cd master duck:~/p4/project/mps/master richardk$ qa help options % $HopeName: MMQA_harness!script:help:options(trunk.6) $ Usage: qa options [] 'options' prints out a table of all options and flags used by the qa harness. Each may be specified by setting an environment variable (to "on" or "off" in the case of a flag) or as a command line option. The current values (i.e. resulting from defaults, environment variables and any options given to the 'options' command) are also shown. You can use command- line options with the 'options' command to check that you're specifying them correctly, but of course they won't remain set for future commands. In general, if you specify a command-line option or flag, it will override whatever setting was made with environment variables. If the option is _cumulative_, however, both will apply. What the options mean: MMQA_MPS_INCLUDE_DIR / -i a directory where the MM header files may be found. No default. MMQA_MPS_LINK_OBJ / -l the MM libraries and plinth to link with. Separate multiple files with spaces. (Spaces in the paths will make the test harness go wrong, unfortunately.) No default. MMQA_MPS_PRODUCT / -prod You won't normally need to (and shouldn't) set this option, which will default to "epcore" or "dylan", whichever is appropriate to the memory manager specified in MMQA_MPS_LINK_OBJ. If however you want to test a memory manager which predates MPS version identification, then you must set it manually. MMQA_LOG_DIR / -g the directory in which log files should be saved. Default is 'log' directory inside the MMQA 'test' directory. MMQA_DATA_DIR / -data the diretory in which MMQA data files may be found. Default is '../data' from the MMQA 'test' directory. This is used when tests specify a particular file as their standard input. If you specify the standard input with MMQA_STDIN, the current directory is used. MMQA_PLATFORM / -p the platform you are running on. This is determined automatically, and used to specify compiler options and command-line syntax for running tests. Setting it to a value not appropriate to the machine you are using will make the test system go wrong. MMQA_PARAMETERS / -a (cumulative) parameter settings to use for a test. These override any parameter settings specified in the test header. Examples (all equivalent): 1) qa run test.c -a DEPTH=10 -a WIDTH=5 2) qa run test.c -a "WIDTH=5 DEPTH=10" 3) MMQA_PARAMETERS='DEPTH=10 WIDTH=5' qa run test.c 4) MMQA_PARAMETERS='DEPTH=10' qa run test.c -a WIDTH=5 Parameters may also be specified individually: 5) MMQA_PARAM_DEPTH=10 MMQA_PARAM_WIDTH=5 qa run test.c All these kinds of parameter settings may be combined. In the case of a clash, the command-line setting takes precedence, then the setting via MMQA_PARAMETERS. I recommend using command-line settings only, otherwise there's a risk you'll leave the parameters set and end up using them by mistake with other tests. MMQA_STDIN / -s allows you to specify what a test will use for its standard input. If unset, the file specified by the test itself will be used (from the MMQA_DATA_DIR directory). By setting MMQA_STDIN, you can use a file of your choosing, or specify "STDIN" if you want to force input from whatever is the qa harness's standard input (usually the keyboard). MMQA_DEBUG_INFO / -[no]debug default is 'off'. If you turn this on, qa commands will output various diagnostic messages, which may or may not be useful in the event of a problem with the test system. Not recommended. MMQA_DANGEROUS / -[no]danger default is 'off'. With default setting, the harness will refuse to run a test if it believes the test libraries may not be compatible with the current settings. Normally you will want to "qa clib" when this happens, but to force the harness to run the test with the old libraries (and symbol lists), turn this option on. MMQA_MAIL_RESULTS / -[no]mail If MAIL_RESULTS is on, then MAIL_SUBJECT will be put at the beginning of the subject header when test logs are mailed out. Default is "MMQA-log". Don't change this unless you are going to change MMQA_MAIL_TO, in which case you might want to use it to help you filter your mail automatically. MMQA_MAIL_TO / -m If MAIL_RESULTS is on, then MAIL_TO is who to mail test logs to. The default is mm-qa-test-log, which get archived in the "MM QA Test Log" Notes database. Leave this unchanged, unless for example you want to mail results (which are more detailed than those displayed on screen) to yourself. MMQA_MAIL_SUBJECT / -subj If MAIL_RESULTS is on, then MAIL_SUBJECT will be put at the beginning of the subject header when test logs are mailed out. Default is "MMQA-log". Don't change this unless you are going to change MMQA_MAIL_TO, in which case you might want to use it to help you filter your mail automatically. duck:~/p4/project/mps/master richardk$ qa options ------------------------------------------------------------------------ MMQA harness version 3.5 OPTION CODE CURRENT DANGEROUS -[no]danger off DATA_DIR -data test/test/../data DEBUG_INFO -[no]debug off LOG_DIR -g test/test/log MAIL_RESULTS -[no]mail on MAIL_SUBJECT -subj MMQA-log MAIL_TO -m mm-qa-test-log MPS_INCLUDE_DIR -i MPS_LINK_OBJ -l MPS_PRODUCT -prod PARAMETERS -a PLATFORM -p Darwin_7.8.0_powerpc__unix STDIN -s (Add MMQA_ to start of option to give environment variable) ------------------------------------------------------------------------ duck:~/p4/project/mps/master richardk$ echo either set options using an environment variable like MMQA_MPS_LINK_OBJ or using a command line option either set options using an environment variable like MMQA_MPS_LINK_OBJ or using a command line option duck:~/p4/project/mps/master richardk$ echo "see page 3 (at 120%) of .options.set of guide.mmqa" see page 3 (at 120%) of .options.set of guide.mmqa duck:~/p4/project/mps/master richardk$ export MMQA_MPS_INCLUDE_DIR=code duck:~/p4/project/mps/master richardk$ echo building plinthbuilding plinth duck:~/p4/project/mps/master richardk$ cd code duck:~/p4/project/mps/master/code richardk$ make -r -f xcppgc.gmk VARIETY=ci mps.a mpsplan.a xcppgc: xcppgc/ci/version.o xcppgc: xcppgc/ci/mps.a xcppgc: xcppgc/ci/mpsioan.o xcppgc: xcppgc/ci/mpsplan.a duck:~/p4/project/mps/master/code richardk$ cd .. duck:~/p4/project/mps/master richardk$ export MMQA_MPS_LINK_OBJ=code/xcppgc/ci/mps mps.a mpsi.o mpsicv.o mpsioan.o mpsliban.o mpsi.d mpsicv mpsioan.d mpsliban.d mpsplan.a duck:~/p4/project/mps/master richardk$ export MMQA_MPS_LINK_OBJ="code/xcppgc/ci/mps.a code/xcppgc/ci/mpsplan.a" duck:~/p4/project/mps/master richardk$ qa options ------------------------------------------------------------------------ MMQA harness version 3.5 OPTION CODE CURRENT DANGEROUS -[no]danger off DATA_DIR -data test/test/../data DEBUG_INFO -[no]debug off LOG_DIR -g test/test/log MAIL_RESULTS -[no]mail on MAIL_SUBJECT -subj MMQA-log MAIL_TO -m mm-qa-test-log MPS_INCLUDE_DIR -i code MPS_LINK_OBJ -l code/xcppgc/ci/mps.a code/ xcppgc/ci/mpsplan.a MPS_PRODUCT -prod PARAMETERS -a PLATFORM -p Darwin_7.8.0_powerpc__unix STDIN -s (Add MMQA_ to start of option to give environment variable) ------------------------------------------------------------------------ duck:~/p4/project/mps/master richardk$ ls code index.html manual readme.txt tool design license.txt procedure test duck:~/p4/project/mps/master richardk$ qa run Error: run requires the following option: OPTION CODE CURRENT MPS_PRODUCT -prod duck:~/p4/project/mps/master richardk$ ls code index.html manual readme.txt tool design license.txt procedure test duck:~/p4/project/mps/master richardk$ pwd /Users/richardk/p4/project/mps/master duck:~/p4/project/mps/master richardk$ echo In test/script/platform, maybe reinstate strict-prototypes in macosx settings In test/script/platform, maybe reinstate strict-prototypes in macosx settings duck:~/p4/project/mps/master richardk$ echo also check stdboth_red definition -- does it incorrectly assume csh? also check stdboth_red definition -- does it incorrectly assume csh? duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ strings code/xcppgc/ci/mps.a | grep HQNMPS duck:~/p4/project/mps/master richardk$ vi code/version.c duck:~/p4/project/mps/master richardk$ qa options ------------------------------------------------------------------------ MMQA harness version 3.5 OPTION CODE CURRENT DANGEROUS -[no]danger off DATA_DIR -data test/test/../data DEBUG_INFO -[no]debug off LOG_DIR -g test/test/log MAIL_RESULTS -[no]mail on MAIL_SUBJECT -subj MMQA-log MAIL_TO -m mm-qa-test-log MPS_INCLUDE_DIR -i code MPS_LINK_OBJ -l code/xcppgc/ci/mps.a code/ xcppgc/ci/mpsplan.a MPS_PRODUCT -prod mps PARAMETERS -a PLATFORM -p Darwin_7.8.0_powerpc__unix STDIN -s (Add MMQA_ to start of option to give environment variable) ------------------------------------------------------------------------ duck:~/p4/project/mps/master richardk$ p4 opened ... //info.ravenbrook.com/project/mps/master/test/test/script/runtest#1 - edit default change (text) duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpsw3.h:14:59: windows.h: No such file or directory code/mpswin.h:19:21: windows.h: No such file or directory Compiling test libraries. test/test/testlib/rankfmt.c:102: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/rankfmt.c:102: error: initializer element is not constant test/test/testlib/rankfmt.c:102: error: (near initialization for `fmtA.align') test/test/testlib/rankfmt.c: In function `allocrdumb': test/test/testlib/rankfmt.c:126: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/rankfmt.c:126: error: (Each undeclared identifier is reported only once test/test/testlib/rankfmt.c:126: error: for each function it appears in.) test/test/testlib/rankfmt.c: In function `allocrone': test/test/testlib/rankfmt.c:176: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/rankfmt.c: In function `reservoir_allocrdumb': test/test/testlib/rankfmt.c:232: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/rankfmt.c: In function `reservoir_allocrone': test/test/testlib/rankfmt.c:283: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/rankfmt.c: In function `mypad': test/test/testlib/rankfmt.c:475: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/rankfmt.c. test/test/testlib/fastfmt.c:48: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/fastfmt.c:48: error: initializer element is not constant test/test/testlib/fastfmt.c:48: error: (near initialization for `fmtA.align') test/test/testlib/fastfmt.c: In function `allocdumb': test/test/testlib/fastfmt.c:69: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/fastfmt.c:69: error: (Each undeclared identifier is reported only once test/test/testlib/fastfmt.c:69: error: for each function it appears in.) test/test/testlib/fastfmt.c: In function `allocone': test/test/testlib/fastfmt.c:102: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/fastfmt.c. test/test/testlib/awlfmt.c:108: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/awlfmt.c:108: error: initializer element is not constant test/test/testlib/awlfmt.c:108: error: (near initialization for `fmtA.align') test/test/testlib/awlfmt.c: In function `allocdumb': test/test/testlib/awlfmt.c:130: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/awlfmt.c:130: error: (Each undeclared identifier is reported only once test/test/testlib/awlfmt.c:130: error: for each function it appears in.) test/test/testlib/awlfmt.c: In function `allocone': test/test/testlib/awlfmt.c:167: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/awlfmt.c: In function `mypad': test/test/testlib/awlfmt.c:329: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/awlfmt.c. test/test/testlib/exfmt.c:97: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/exfmt.c:97: error: initializer element is not constant test/test/testlib/exfmt.c:97: error: (near initialization for `fmtA.align') test/test/testlib/exfmt.c: In function `allocdumb': test/test/testlib/exfmt.c:118: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/exfmt.c:118: error: (Each undeclared identifier is reported only once test/test/testlib/exfmt.c:118: error: for each function it appears in.) test/test/testlib/exfmt.c: In function `allocone': test/test/testlib/exfmt.c:154: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/exfmt.c: In function `mypad': test/test/testlib/exfmt.c:316: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/exfmt.c. test/test/testlib/lofmt.c:40: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/lofmt.c:40: error: initializer element is not constant test/test/testlib/lofmt.c:40: error: (near initialization for `fmtLO.align') test/test/testlib/lofmt.c: In function `alloclo': test/test/testlib/lofmt.c:63: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/lofmt.c:63: error: (Each undeclared identifier is reported only once test/test/testlib/lofmt.c:63: error: for each function it appears in.) test/test/testlib/lofmt.c: In function `myskip': test/test/testlib/lofmt.c:94: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/lofmt.c: In function `mypad': test/test/testlib/lofmt.c:127: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/lofmt.c. test/test/testlib/myfmt.c:42: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/myfmt.c:42: error: initializer element is not constant test/test/testlib/myfmt.c:42: error: (near initialization for `fmtA.align') test/test/testlib/myfmt.c: In function `allocone': test/test/testlib/myfmt.c:58: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/myfmt.c:58: error: (Each undeclared identifier is reported only once test/test/testlib/myfmt.c:58: error: for each function it appears in.) test/test/testlib/myfmt.c: In function `myscan': test/test/testlib/myfmt.c:95: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/myfmt.c: In function `myskip': test/test/testlib/myfmt.c:140: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/myfmt.c: In function `mypad': test/test/testlib/myfmt.c:186: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/myfmt.c. test/test/testlib/newfmt.c:86: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/newfmt.c:86: error: initializer element is not constant test/test/testlib/newfmt.c:86: error: (near initialization for `fmtA.align') test/test/testlib/newfmt.c: In function `allocdumb': test/test/testlib/newfmt.c:108: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/newfmt.c:108: error: (Each undeclared identifier is reported only once test/test/testlib/newfmt.c:108: error: for each function it appears in.) test/test/testlib/newfmt.c: In function `allocone': test/test/testlib/newfmt.c:143: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/newfmt.c: In function `myscan': test/test/testlib/newfmt.c:191: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/newfmt.c: In function `myskip': test/test/testlib/newfmt.c:241: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/newfmt.c: In function `mypad': test/test/testlib/newfmt.c:287: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/newfmt.c. test/test/testlib/testlib.c: In function `call_f': test/test/testlib/testlib.c:286: warning: implicit declaration of function `mps_assert_install' duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ qa options ------------------------------------------------------------------------ MMQA harness version 3.5 OPTION CODE CURRENT DANGEROUS -[no]danger off DATA_DIR -data test/test/../data DEBUG_INFO -[no]debug off LOG_DIR -g test/test/log MAIL_RESULTS -[no]mail on MAIL_SUBJECT -subj MMQA-log MAIL_TO -m mm-qa-test-log MPS_INCLUDE_DIR -i code MPS_LINK_OBJ -l code/xcppgc/ci/mps.a code/ xcppgc/ci/mpsplan.a MPS_PRODUCT -prod mps PARAMETERS -a PLATFORM -p Darwin_7.8.0_powerpc__unix STDIN -s (Add MMQA_ to start of option to give environment variable) ------------------------------------------------------------------------ duck:~/p4/project/mps/master richardk$ qa -debug clib OPEN >>strings code/xcppgc/ci/mps.a code/xcppgc/ci/mpsplan.a|<< Cleaning out old object files. Checking settings. Scrutinizing MPS header files. OPEN >>cc -E code/mpscams.h |<< OPEN >>cc -E code/mpsavm.h |<< OPEN >>cc -E code/mpslibcb.h |<< OPEN >>cc -E code/mpsio.h |<< OPEN >>cc -E code/mpscmv2.h |<< OPEN >>cc -E code/mpsw3.h |<< code/mpsw3.h:14:59: windows.h: No such file or directory OPEN >>cc -E code/mps.h |<< OPEN >>cc -E code/mpscmvff.h |<< OPEN >>cc -E code/mpsclo.h |<< OPEN >>cc -E code/mpswin.h |<< code/mpswin.h:19:21: windows.h: No such file or directory OPEN >>cc -E code/mpstd.h |<< OPEN >>cc -E code/mpslib.h |<< OPEN >>cc -E code/mpscamc.h |<< OPEN >>cc -E code/mpsacl.h |<< OPEN >>cc -E code/mpscawl.h |<< OPEN >>cc -E code/mpscsnc.h |<< OPEN >>cc -E code/mpscmv.h |<< SYSTEM >>cc -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/symtest test/test/obj/Darwin_7.8.0_powerpc__unix/symtest.c code/xcppgc/ci/mps.a code/xcppgc/ci/mpsplan.a -Xlinker -m >&test/test/obj/Darwin_7.8.0_powerpc__unix/symtest.out<< Filtering out MPS_ARCH_60. Filtering out MPS_ARCH_AL. Filtering out MPS_ARCH_I3. Filtering out MPS_ARCH_I4. Filtering out MPS_ARCH_M2. Filtering out MPS_ARCH_M4. Filtering out MPS_ARCH_PP. Filtering out MPS_ARCH_S8. Filtering out MPS_ARCH_S9. Filtering out MPS_BEGIN. Filtering out MPS_BUILD_AC. Filtering out MPS_BUILD_CC. Filtering out MPS_BUILD_GC. Filtering out MPS_BUILD_LC. Filtering out MPS_BUILD_MV. Filtering out MPS_BUILD_MW. Filtering out MPS_BUILD_SC. Filtering out MPS_END. Filtering out MPS_FIX. Filtering out MPS_FIX1. Filtering out MPS_FIX12. Filtering out MPS_FIX2. Filtering out MPS_FIX_CALL. Filtering out MPS_MESSAGE_TYPE_FINALIZATION. Filtering out MPS_MESSAGE_TYPE_GC. Filtering out MPS_MMQA_DUMMY_SYMBOL. Filtering out MPS_OS_FR. Filtering out MPS_OS_I5. Filtering out MPS_OS_IA. Filtering out MPS_OS_LI. Filtering out MPS_OS_O1. Filtering out MPS_OS_S7. Filtering out MPS_OS_SO. Filtering out MPS_OS_SU. Filtering out MPS_OS_W3. Filtering out MPS_OS_XC. Filtering out MPS_PF_ALIGN. Filtering out MPS_PF_FRI4GC. Filtering out MPS_PF_I5M2CC. Filtering out MPS_PF_IAM4CC. Filtering out MPS_PF_LII4GC. Filtering out MPS_PF_LIPPGC. Filtering out MPS_PF_O1ALCC. Filtering out MPS_PF_O1ALGC. Filtering out MPS_PF_S760AC. Filtering out MPS_PF_S760MW. Filtering out MPS_PF_S7PPAC. Filtering out MPS_PF_S7PPMW. Filtering out MPS_PF_SOS8GC. Filtering out MPS_PF_SOS9SC. Filtering out MPS_PF_STRING. Filtering out MPS_PF_SUS8GC. Filtering out MPS_PF_SUS8LC. Filtering out MPS_PF_W3ALMV. Filtering out MPS_PF_W3I3MV. Filtering out MPS_PF_W3PPMV. Filtering out MPS_PF_XCPPGC. Filtering out MPS_RANK_AMBIG. Filtering out MPS_RANK_EXACT. Filtering out MPS_RANK_WEAK. Filtering out MPS_RESERVE_BLOCK. Filtering out MPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK. Filtering out MPS_RES_COMMIT_LIMIT. Filtering out MPS_RES_FAIL. Filtering out MPS_RES_IO. Filtering out MPS_RES_LIMIT. Filtering out MPS_RES_MEMORY. Filtering out MPS_RES_OK. Filtering out MPS_RES_PARAM. Filtering out MPS_RES_RESOURCE. Filtering out MPS_RES_UNIMPL. Filtering out MPS_RM_CONST. Filtering out MPS_RM_PROT. Filtering out MPS_SAC_ALLOC. Filtering out MPS_SAC_ALLOC_FAST. Filtering out MPS_SAC_CLASS_LIMIT. Filtering out MPS_SAC_FREE. Filtering out MPS_SAC_FREE_FAST. Filtering out MPS_SCAN_BEGIN. Filtering out MPS_SCAN_END. Filtering out MPS_T_WORD. Filtering out MPS_WORD_SHIFT. Filtering out MPS_WORD_WIDTH. Filtering out mps_SEH_filter. Filtering out mps_SEH_handler. Filtering out mps_addr_t. Filtering out mps_align_t. Filtering out mps_alloc_pattern_s. Filtering out mps_alloc_pattern_t. Filtering out mps_ap_s. Filtering out mps_ap_t. Filtering out mps_arena_class_s. Filtering out mps_arena_class_t. Filtering out mps_arena_s. Filtering out mps_arena_t. Filtering out mps_block_size. Filtering out mps_blocks. Filtering out mps_bool_t. Filtering out mps_cached_count. Filtering out mps_capacity. Filtering out mps_chain_s. Filtering out mps_chain_t. Filtering out mps_class. Filtering out mps_class_ams. Filtering out mps_class_ams_debug. Filtering out mps_class_awl. Filtering out mps_class_lo. Filtering out mps_class_mvt. Filtering out mps_class_s. Filtering out mps_class_t. Filtering out mps_clock_t. Filtering out mps_count. Filtering out mps_count_max. Filtering out mps_fmt_A_s. Filtering out mps_fmt_A_t. Filtering out mps_fmt_B_s. Filtering out mps_fmt_B_t. Filtering out mps_fmt_auto_header_s. Filtering out mps_fmt_class_t. Filtering out mps_fmt_copy_t. Filtering out mps_fmt_fixed_s. Filtering out mps_fmt_fwd_t. Filtering out mps_fmt_isfwd_t. Filtering out mps_fmt_pad_t. Filtering out mps_fmt_s. Filtering out mps_fmt_scan_t. Filtering out mps_fmt_skip_t. Filtering out mps_fmt_t. Filtering out mps_formatted_objects_stepper_t. Filtering out mps_frame_s. Filtering out mps_frame_t. Filtering out mps_freelists. Filtering out mps_frequency. Filtering out mps_gen_param_s. Filtering out mps_h. Filtering out mps_headerSize. Filtering out mps_io_s. Filtering out mps_io_t. Filtering out mps_ld_s. Filtering out mps_ld_t. Filtering out mps_lib_EOF. Filtering out mps_lib_FILE. Filtering out mps_lib_callback_register. Filtering out mps_lib_function_t. Filtering out mps_lib_stderr. Filtering out mps_lib_stdout. Filtering out mps_lib_stream_s. Filtering out mps_message_s. Filtering out mps_message_t. Filtering out mps_message_type_finalization. Filtering out mps_message_type_gc. Filtering out mps_message_type_t. Filtering out mps_middle. Filtering out mps_mortality. Filtering out mps_mvt_free_size. Filtering out mps_mvt_size. Filtering out mps_pool. Filtering out mps_pool_debug_option_s. Filtering out mps_pool_s. Filtering out mps_pool_t. Filtering out mps_rank_t. Filtering out mps_reg_scan_t. Filtering out mps_res_t. Filtering out mps_rm_t. Filtering out mps_root_s. Filtering out mps_root_scan_t. Filtering out mps_root_t. Filtering out mps_roots_stepper_t. Filtering out mps_sac_class_s. Filtering out mps_sac_classes_s. Filtering out mps_sac_freelist_block_s. Filtering out mps_sac_s. Filtering out mps_sac_t. Filtering out mps_shift_t. Filtering out mps_size. Filtering out mps_space_t. Filtering out mps_ss_s. Filtering out mps_ss_t. Filtering out mps_thr_s. Filtering out mps_thr_t. Filtering out mps_tramp_t. Filtering out mps_trapped. Filtering out mps_word_t. Compiling test libraries. SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/rankfmt.o test/test/testlib/rankfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< test/test/testlib/rankfmt.c:102: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/rankfmt.c:102: error: initializer element is not constant test/test/testlib/rankfmt.c:102: error: (near initialization for `fmtA.align') test/test/testlib/rankfmt.c: In function `allocrdumb': test/test/testlib/rankfmt.c:126: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/rankfmt.c:126: error: (Each undeclared identifier is reported only once test/test/testlib/rankfmt.c:126: error: for each function it appears in.) test/test/testlib/rankfmt.c: In function `allocrone': test/test/testlib/rankfmt.c:176: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/rankfmt.c: In function `reservoir_allocrdumb': test/test/testlib/rankfmt.c:232: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/rankfmt.c: In function `reservoir_allocrone': test/test/testlib/rankfmt.c:283: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/rankfmt.c: In function `mypad': test/test/testlib/rankfmt.c:475: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/rankfmt.c. SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/fastfmt.o test/test/testlib/fastfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< test/test/testlib/fastfmt.c:48: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/fastfmt.c:48: error: initializer element is not constant test/test/testlib/fastfmt.c:48: error: (near initialization for `fmtA.align') test/test/testlib/fastfmt.c: In function `allocdumb': test/test/testlib/fastfmt.c:69: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/fastfmt.c:69: error: (Each undeclared identifier is reported only once test/test/testlib/fastfmt.c:69: error: for each function it appears in.) test/test/testlib/fastfmt.c: In function `allocone': test/test/testlib/fastfmt.c:102: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/fastfmt.c. SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/awlfmt.o test/test/testlib/awlfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< test/test/testlib/awlfmt.c:108: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/awlfmt.c:108: error: initializer element is not constant test/test/testlib/awlfmt.c:108: error: (near initialization for `fmtA.align') test/test/testlib/awlfmt.c: In function `allocdumb': test/test/testlib/awlfmt.c:130: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/awlfmt.c:130: error: (Each undeclared identifier is reported only once test/test/testlib/awlfmt.c:130: error: for each function it appears in.) test/test/testlib/awlfmt.c: In function `allocone': test/test/testlib/awlfmt.c:167: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/awlfmt.c: In function `mypad': test/test/testlib/awlfmt.c:329: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/awlfmt.c. SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/exfmt.o test/test/testlib/exfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< test/test/testlib/exfmt.c:97: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/exfmt.c:97: error: initializer element is not constant test/test/testlib/exfmt.c:97: error: (near initialization for `fmtA.align') test/test/testlib/exfmt.c: In function `allocdumb': test/test/testlib/exfmt.c:118: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/exfmt.c:118: error: (Each undeclared identifier is reported only once test/test/testlib/exfmt.c:118: error: for each function it appears in.) test/test/testlib/exfmt.c: In function `allocone': test/test/testlib/exfmt.c:154: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/exfmt.c: In function `mypad': test/test/testlib/exfmt.c:316: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/exfmt.c. SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/lofmt.o test/test/testlib/lofmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< test/test/testlib/lofmt.c:40: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/lofmt.c:40: error: initializer element is not constant test/test/testlib/lofmt.c:40: error: (near initialization for `fmtLO.align') test/test/testlib/lofmt.c: In function `alloclo': test/test/testlib/lofmt.c:63: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/lofmt.c:63: error: (Each undeclared identifier is reported only once test/test/testlib/lofmt.c:63: error: for each function it appears in.) test/test/testlib/lofmt.c: In function `myskip': test/test/testlib/lofmt.c:94: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/lofmt.c: In function `mypad': test/test/testlib/lofmt.c:127: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/lofmt.c. SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/myfmt.o test/test/testlib/myfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< test/test/testlib/myfmt.c:42: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/myfmt.c:42: error: initializer element is not constant test/test/testlib/myfmt.c:42: error: (near initialization for `fmtA.align') test/test/testlib/myfmt.c: In function `allocone': test/test/testlib/myfmt.c:58: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/myfmt.c:58: error: (Each undeclared identifier is reported only once test/test/testlib/myfmt.c:58: error: for each function it appears in.) test/test/testlib/myfmt.c: In function `myscan': test/test/testlib/myfmt.c:95: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/myfmt.c: In function `myskip': test/test/testlib/myfmt.c:140: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/myfmt.c: In function `mypad': test/test/testlib/myfmt.c:186: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/myfmt.c. SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/newfmt.o test/test/testlib/newfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< test/test/testlib/newfmt.c:86: error: `MPS_PF_ALIGN' undeclared here (not in a function) test/test/testlib/newfmt.c:86: error: initializer element is not constant test/test/testlib/newfmt.c:86: error: (near initialization for `fmtA.align') test/test/testlib/newfmt.c: In function `allocdumb': test/test/testlib/newfmt.c:108: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/newfmt.c:108: error: (Each undeclared identifier is reported only once test/test/testlib/newfmt.c:108: error: for each function it appears in.) test/test/testlib/newfmt.c: In function `allocone': test/test/testlib/newfmt.c:143: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/newfmt.c: In function `myscan': test/test/testlib/newfmt.c:191: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/newfmt.c: In function `myskip': test/test/testlib/newfmt.c:241: error: `MPS_PF_ALIGN' undeclared (first use in this function) test/test/testlib/newfmt.c: In function `mypad': test/test/testlib/newfmt.c:287: error: `MPS_PF_ALIGN' undeclared (first use in this function) failed on test/test/testlib/newfmt.c. SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/platform.o test/test/testlib/platform.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/testlib.o test/test/testlib/testlib.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< test/test/testlib/testlib.c: In function `call_f': test/test/testlib/testlib.c:286: warning: implicit declaration of function `mps_assert_install' duck:~/p4/project/mps/master richardk$ grep _PF_ALIGN code/*.h code/lock.h:#define LockSize() MPS_PF_ALIGN code/mpstd.h:#define MPS_PF_ALIGN 8 code/mpstd.h:#define MPS_PF_ALIGN 8 code/mpstd.h:#define MPS_PF_ALIGN 4 code/mpstd.h:#define MPS_PF_ALIGN 4 code/mpstd.h:#define MPS_PF_ALIGN 8 code/mpstd.h:#define MPS_PF_ALIGN 1 code/mpstd.h:#define MPS_PF_ALIGN 8 /* .macos.ppc.align */ code/mpstd.h:#define MPS_PF_ALIGN 1 code/mpstd.h:#define MPS_PF_ALIGN 8 /* .macos.ppc.align */ code/mpstd.h:#define MPS_PF_ALIGN 8 /* .macos.ppc.align */ code/mpstd.h:#define MPS_PF_ALIGN 8 code/mpstd.h:#define MPS_PF_ALIGN 8 code/mpstd.h:#define MPS_PF_ALIGN 8 code/mpstd.h:#define MPS_PF_ALIGN 8 code/mpstd.h:#define MPS_PF_ALIGN 8 code/mpstd.h:#define MPS_PF_ALIGN 8 code/mpstd.h:#define MPS_PF_ALIGN 4 code/mpstd.h:#define MPS_PF_ALIGN 8 /* @@@@ not tested */ code/mpstd.h:#define MPS_PF_ALIGN 4 duck:~/p4/project/mps/master richardk$ grep mpstd.h code/*.h code/config.h:#include "mpstd.h" code/mpstd.h:/* mpstd.h: RAVENBROOK MEMORY POOL SYSTEM TARGET DETECTION code/mpstd.h: * $Id: //info.ravenbrook.com/project/mps/master/code/mpstd.h#12 $ code/mpstd.h:#ifndef mpstd_h code/mpstd.h:#define mpstd_h code/mpstd.h:#endif /* mpstd_h */ code/testlib.h:#include "mpstd.h" duck:~/p4/project/mps/master richardk$ grep config.h code/*.h code/check.h:#include "config.h" code/config.h:/* config.h: MPS CONFIGURATION code/config.h: * $Id: //info.ravenbrook.com/project/mps/master/code/config.h#14 $ code/config.h:#ifndef config_h code/config.h:#define config_h code/config.h:#endif /* config_h */ code/eventpro.h:#include "config.h" code/eventrep.h:#include "config.h" code/meter.h:#include "config.h" code/mpm.h:#include "config.h" code/mpmst.h:#include "config.h" code/mpmtypes.h:#include "config.h" /* this must come first: it defines target options */ code/protocol.h:#include "config.h" code/testlib.h:/* Essentially the same settings are done in config.h. */ duck:~/p4/project/mps/master richardk$ vi code/mpstd.h duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ qa options ------------------------------------------------------------------------ MMQA harness version 3.5 OPTION CODE CURRENT DANGEROUS -[no]danger off DATA_DIR -data test/test/../data DEBUG_INFO -[no]debug off LOG_DIR -g test/test/log MAIL_RESULTS -[no]mail on MAIL_SUBJECT -subj MMQA-log MAIL_TO -m mm-qa-test-log MPS_INCLUDE_DIR -i code MPS_LINK_OBJ -l code/xcppgc/ci/mps.a code/ xcppgc/ci/mpsplan.a MPS_PRODUCT -prod mps PARAMETERS -a PLATFORM -p Darwin_7.8.0_powerpc__unix STDIN -s (Add MMQA_ to start of option to give environment variable) ------------------------------------------------------------------------ duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpsw3.h:14:59: windows.h: No such file or directory code/mpswin.h:19:21: windows.h: No such file or directory Failed to determine symbols defined in MPS libraries -- exiting. [Complain to mm-qa about this.] duck:~/p4/project/mps/master richardk$ qa -debug clib OPEN >>strings code/xcppgc/ci/mps.a code/xcppgc/ci/mpsplan.a|<< Cleaning out old object files. Checking settings. Scrutinizing MPS header files. OPEN >>cc -E code/mpsw3.h |<< code/mpsw3.h:14:59: windows.h: No such file or directory OPEN >>cc -E code/mpstd.h |<< OPEN >>cc -E code/mpscsnc.h |<< OPEN >>cc -E code/mpsacl.h |<< OPEN >>cc -E code/mpswin.h |<< code/mpswin.h:19:21: windows.h: No such file or directory OPEN >>cc -E code/mpscams.h |<< OPEN >>cc -E code/mpscmv2.h |<< OPEN >>cc -E code/mpscmv.h |<< OPEN >>cc -E code/mpsavm.h |<< OPEN >>cc -E code/mps.h |<< OPEN >>cc -E code/mpslibcb.h |<< OPEN >>cc -E code/mpsio.h |<< OPEN >>cc -E code/mpscamc.h |<< OPEN >>cc -E code/mpscmvff.h |<< OPEN >>cc -E code/mpslib.h |<< OPEN >>cc -E code/mpscawl.h |<< OPEN >>cc -E code/mpsclo.h |<< SYSTEM >>cc -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -DMPS_PF_ALIGN=8 -o test/test/obj/Darwin_7.8.0_powerpc__unix/symtest test/test/obj/Darwin_7.8.0_powerpc__unix/symtest.c code/xcppgc/ci/mps.a code/xcppgc/ci/mpsplan.a -Xlinker -m >&test/test/obj/Darwin_7.8.0_powerpc__unix/symtest.out<< Failed to determine symbols defined in MPS libraries -- exiting. [Complain to mm-qa about this.] duck:~/p4/project/mps/master richardk$ qa -debug clib OPEN >>strings code/xcppgc/ci/mps.a code/xcppgc/ci/mpsplan.a|<< Cleaning out old object files. Checking settings. Scrutinizing MPS header files. OPEN >>cc -E code/mpstd.h |<< OPEN >>cc -E code/mpslib.h |<< OPEN >>cc -E code/mpscmv.h |<< OPEN >>cc -E code/mps.h |<< OPEN >>cc -E code/mpsacl.h |<< OPEN >>cc -E code/mpswin.h |<< code/mpswin.h:19:21: windows.h: No such file or directory OPEN >>cc -E code/mpscmvff.h |<< OPEN >>cc -E code/mpsclo.h |<< OPEN >>cc -E code/mpscsnc.h |<< OPEN >>cc -E code/mpscmv2.h |<< OPEN >>cc -E code/mpsavm.h |<< OPEN >>cc -E code/mpsio.h |<< OPEN >>cc -E code/mpscams.h |<< OPEN >>cc -E code/mpscamc.h |<< OPEN >>cc -E code/mpsw3.h |<< code/mpsw3.h:14:59: windows.h: No such file or directory OPEN >>cc -E code/mpslibcb.h |<< OPEN >>cc -E code/mpscawl.h |<< SYSTEM >>cc -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/symtest test/test/obj/Darwin_7.8.0_powerpc__unix/symtest.c code/xcppgc/ci/mps.a code/xcppgc/ci/mpsplan.a -Xlinker -m >&test/test/obj/Darwin_7.8.0_powerpc__unix/symtest.out<< Filtering out MPS_ARCH_60. Filtering out MPS_ARCH_AL. Filtering out MPS_ARCH_I3. Filtering out MPS_ARCH_I4. Filtering out MPS_ARCH_M2. Filtering out MPS_ARCH_M4. Filtering out MPS_ARCH_PP. Filtering out MPS_ARCH_S8. Filtering out MPS_ARCH_S9. Filtering out MPS_BEGIN. Filtering out MPS_BUILD_AC. Filtering out MPS_BUILD_CC. Filtering out MPS_BUILD_GC. Filtering out MPS_BUILD_LC. Filtering out MPS_BUILD_MV. Filtering out MPS_BUILD_MW. Filtering out MPS_BUILD_SC. Filtering out MPS_END. Filtering out MPS_FIX. Filtering out MPS_FIX1. Filtering out MPS_FIX12. Filtering out MPS_FIX2. Filtering out MPS_FIX_CALL. Filtering out MPS_MESSAGE_TYPE_FINALIZATION. Filtering out MPS_MESSAGE_TYPE_GC. Filtering out MPS_MMQA_DUMMY_SYMBOL. Filtering out MPS_OS_FR. Filtering out MPS_OS_I5. Filtering out MPS_OS_IA. Filtering out MPS_OS_LI. Filtering out MPS_OS_O1. Filtering out MPS_OS_S7. Filtering out MPS_OS_SO. Filtering out MPS_OS_SU. Filtering out MPS_OS_W3. Filtering out MPS_OS_XC. Filtering out MPS_PF_ALIGN. Filtering out MPS_PF_FRI4GC. Filtering out MPS_PF_I5M2CC. Filtering out MPS_PF_IAM4CC. Filtering out MPS_PF_LII4GC. Filtering out MPS_PF_LIPPGC. Filtering out MPS_PF_O1ALCC. Filtering out MPS_PF_O1ALGC. Filtering out MPS_PF_S760AC. Filtering out MPS_PF_S760MW. Filtering out MPS_PF_S7PPAC. Filtering out MPS_PF_S7PPMW. Filtering out MPS_PF_SOS8GC. Filtering out MPS_PF_SOS9SC. Filtering out MPS_PF_STRING. Filtering out MPS_PF_SUS8GC. Filtering out MPS_PF_SUS8LC. Filtering out MPS_PF_W3ALMV. Filtering out MPS_PF_W3I3MV. Filtering out MPS_PF_W3PPMV. Filtering out MPS_PF_XCPPGC. Filtering out MPS_RANK_AMBIG. Filtering out MPS_RANK_EXACT. Filtering out MPS_RANK_WEAK. Filtering out MPS_RESERVE_BLOCK. Filtering out MPS_RESERVE_WITH_RESERVOIR_PERMIT_BLOCK. Filtering out MPS_RES_COMMIT_LIMIT. Filtering out MPS_RES_FAIL. Filtering out MPS_RES_IO. Filtering out MPS_RES_LIMIT. Filtering out MPS_RES_MEMORY. Filtering out MPS_RES_OK. Filtering out MPS_RES_PARAM. Filtering out MPS_RES_RESOURCE. Filtering out MPS_RES_UNIMPL. Filtering out MPS_RM_CONST. Filtering out MPS_RM_PROT. Filtering out MPS_SAC_ALLOC. Filtering out MPS_SAC_ALLOC_FAST. Filtering out MPS_SAC_CLASS_LIMIT. Filtering out MPS_SAC_FREE. Filtering out MPS_SAC_FREE_FAST. Filtering out MPS_SCAN_BEGIN. Filtering out MPS_SCAN_END. Filtering out MPS_T_WORD. Filtering out MPS_WORD_SHIFT. Filtering out MPS_WORD_WIDTH. Filtering out mps_SEH_filter. Filtering out mps_SEH_handler. Filtering out mps_addr_t. Filtering out mps_align_t. Filtering out mps_alloc_pattern_s. Filtering out mps_alloc_pattern_t. Filtering out mps_ap_s. Filtering out mps_ap_t. Filtering out mps_arena_class_s. Filtering out mps_arena_class_t. Filtering out mps_arena_s. Filtering out mps_arena_t. Filtering out mps_block_size. Filtering out mps_blocks. Filtering out mps_bool_t. Filtering out mps_cached_count. Filtering out mps_capacity. Filtering out mps_chain_s. Filtering out mps_chain_t. Filtering out mps_class. Filtering out mps_class_ams. Filtering out mps_class_ams_debug. Filtering out mps_class_awl. Filtering out mps_class_lo. Filtering out mps_class_mvt. Filtering out mps_class_s. Filtering out mps_class_t. Filtering out mps_clock_t. Filtering out mps_count. Filtering out mps_count_max. Filtering out mps_fmt_A_s. Filtering out mps_fmt_A_t. Filtering out mps_fmt_B_s. Filtering out mps_fmt_B_t. Filtering out mps_fmt_auto_header_s. Filtering out mps_fmt_class_t. Filtering out mps_fmt_copy_t. Filtering out mps_fmt_fixed_s. Filtering out mps_fmt_fwd_t. Filtering out mps_fmt_isfwd_t. Filtering out mps_fmt_pad_t. Filtering out mps_fmt_s. Filtering out mps_fmt_scan_t. Filtering out mps_fmt_skip_t. Filtering out mps_fmt_t. Filtering out mps_formatted_objects_stepper_t. Filtering out mps_frame_s. Filtering out mps_frame_t. Filtering out mps_freelists. Filtering out mps_frequency. Filtering out mps_gen_param_s. Filtering out mps_h. Filtering out mps_headerSize. Filtering out mps_io_s. Filtering out mps_io_t. Filtering out mps_ld_s. Filtering out mps_ld_t. Filtering out mps_lib_EOF. Filtering out mps_lib_FILE. Filtering out mps_lib_callback_register. Filtering out mps_lib_function_t. Filtering out mps_lib_stderr. Filtering out mps_lib_stdout. Filtering out mps_lib_stream_s. Filtering out mps_message_s. Filtering out mps_message_t. Filtering out mps_message_type_finalization. Filtering out mps_message_type_gc. Filtering out mps_message_type_t. Filtering out mps_middle. Filtering out mps_mortality. Filtering out mps_mvt_free_size. Filtering out mps_mvt_size. Filtering out mps_pool. Filtering out mps_pool_debug_option_s. Filtering out mps_pool_s. Filtering out mps_pool_t. Filtering out mps_rank_t. Filtering out mps_reg_scan_t. Filtering out mps_res_t. Filtering out mps_rm_t. Filtering out mps_root_s. Filtering out mps_root_scan_t. Filtering out mps_root_t. Filtering out mps_roots_stepper_t. Filtering out mps_sac_class_s. Filtering out mps_sac_classes_s. Filtering out mps_sac_freelist_block_s. Filtering out mps_sac_s. Filtering out mps_sac_t. Filtering out mps_shift_t. Filtering out mps_size. Filtering out mps_space_t. Filtering out mps_ss_s. Filtering out mps_ss_t. Filtering out mps_thr_s. Filtering out mps_thr_t. Filtering out mps_tramp_t. Filtering out mps_trapped. Filtering out mps_word_t. Compiling test libraries. SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/rankfmt.o test/test/testlib/rankfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/fastfmt.o test/test/testlib/fastfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/awlfmt.o test/test/testlib/awlfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/exfmt.o test/test/testlib/exfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/lofmt.o test/test/testlib/lofmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/myfmt.o test/test/testlib/myfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/newfmt.o test/test/testlib/newfmt.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/platform.o test/test/testlib/platform.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< SYSTEM >>cc -c -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/testlib.o test/test/testlib/testlib.c -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix<< test/test/testlib/testlib.c: In function `call_f': test/test/testlib/testlib.c:286: warning: implicit declaration of function `mps_assert_install' duck:~/p4/project/mps/master richardk$ grep "Filtering out" ./test/test/script/* ./test/test/script/clib: &debug("Filtering out $1."); grep: ./test/test/script/commands: Operation not permitted grep: ./test/test/script/help: Operation not permitted grep: ./test/test/script/ntx86bin: Operation not permitted duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpsw3.h:14:59: windows.h: No such file or directory code/mpswin.h:19:21: windows.h: No such file or directory Compiling test libraries. test/test/testlib/testlib.c: In function `call_f': test/test/testlib/testlib.c:286: warning: implicit declaration of function `mps_assert_install' duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpsw3.h:14:59: windows.h: No such file or directory code/mpswin.h:19:21: windows.h: No such file or directory Compiling test libraries. test/test/testlib/plinth.c:23:34: warning: "/*" within comment test/test/testlib/plinth.c:24: error: parse error before '}' token test/test/testlib/plinth.c:27: warning: return type defaults to `int' test/test/testlib/plinth.c:27: warning: no previous prototype for `mps_lib_get_stdout' test/test/testlib/plinth.c: In function `mps_lib_get_stdout': test/test/testlib/plinth.c:28: error: `mps_lib_FILE' undeclared (first use in this function) test/test/testlib/plinth.c:28: error: (Each undeclared identifier is reported only once test/test/testlib/plinth.c:28: error: for each function it appears in.) test/test/testlib/plinth.c:28: error: parse error before ')' token test/test/testlib/plinth.c: At top level: test/test/testlib/plinth.c:31: error: parse error before "mps_lib_FILE" test/test/testlib/plinth.c:32: warning: no previous prototype for `mps_lib_fputc' test/test/testlib/plinth.c: In function `mps_lib_fputc': test/test/testlib/plinth.c:33: error: `c' undeclared (first use in this function) test/test/testlib/plinth.c:33: error: `stream' undeclared (first use in this function) test/test/testlib/plinth.c: At top level: test/test/testlib/plinth.c:36: error: parse error before "mps_lib_FILE" test/test/testlib/plinth.c:37: warning: no previous prototype for `mps_lib_fputs' test/test/testlib/plinth.c: In function `mps_lib_fputs': test/test/testlib/plinth.c:38: error: `s' undeclared (first use in this function) test/test/testlib/plinth.c:38: error: `stream' undeclared (first use in this function) test/test/testlib/plinth.c: At top level: test/test/testlib/plinth.c:42: warning: no previous prototype for `mps_lib_memset' test/test/testlib/plinth.c: In function `mps_lib_memset': test/test/testlib/plinth.c:43: warning: implicit declaration of function `memset' test/test/testlib/plinth.c: At top level: test/test/testlib/plinth.c:47: warning: no previous prototype for `mps_lib_memcpy' test/test/testlib/plinth.c: In function `mps_lib_memcpy': test/test/testlib/plinth.c:48: warning: implicit declaration of function `memcpy' test/test/testlib/plinth.c: At top level: test/test/testlib/plinth.c:52: warning: no previous prototype for `mps_lib_memcmp' test/test/testlib/plinth.c: In function `mps_lib_memcmp': test/test/testlib/plinth.c:53: warning: implicit declaration of function `memcmp' test/test/testlib/plinth.c: At top level: test/test/testlib/plinth.c:58: error: parse error before "mps_clock" test/test/testlib/plinth.c:59: warning: return type defaults to `int' test/test/testlib/plinth.c:59: warning: no previous prototype for `mps_clock' test/test/testlib/plinth.c:63: error: parse error before "mps_clocks_per_sec" test/test/testlib/plinth.c:64: warning: return type defaults to `int' test/test/testlib/plinth.c:64: warning: no previous prototype for `mps_clocks_per_sec' test/test/testlib/plinth.c:69: warning: no previous prototype for `mps_lib_telemetry_control' test/test/testlib/plinth.c:83: warning: no previous prototype for `mps_lib_assert_fail' failed on test/test/testlib/plinth.c. duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpswin.h:19:21: windows.h: No such file or directory code/mpsw3.h:14:59: windows.h: No such file or directory Compiling test libraries. test/test/testlib/plinth.c: In function `mps_lib_memset': test/test/testlib/plinth.c:43: warning: implicit declaration of function `memset' test/test/testlib/plinth.c: In function `mps_lib_memcpy': test/test/testlib/plinth.c:48: warning: implicit declaration of function `memcpy' test/test/testlib/plinth.c: In function `mps_lib_memcmp': test/test/testlib/plinth.c:53: warning: implicit declaration of function `memcmp' duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpswin.h:19:21: windows.h: No such file or directory code/mpsw3.h:14:59: windows.h: No such file or directory Compiling test libraries. duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ qa index function/1-20 duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ cd test duck:~/p4/project/mps/master/test richardk$ cd test duck:~/p4/project/mps/master/test/test richardk$ qa index function/1-20 Can't open perl script "test/test/qa": No such file or directory duck:~/p4/project/mps/master/test/test richardk$ cd .. duck:~/p4/project/mps/master/test richardk$ cd .. duck:~/p4/project/mps/master richardk$ qa index test/function/1-20 1.c: create a space and then destroy it 2.c: test my format for format_a 3.c: allocate 100 items, throw away and repeat 4.c: allocate 100 items, throw away and repeat 5.c: (regression test) have an ambiguous reference to a reserved but not committed object, and then allocate lots more with another AP, to make it collect 6.c: (regression test ) Keep resetting lds in managed memory while doing allocation. The idea is to force a collection so that the ld will be protected when you try to reset it. 7.c: create 1000 spaces and destroy each one just after the next is created 8.c: create arenas until an error results, see if it leaks at failure 9.c: (regression test) Allocate a big object (>64M, perhaps up to 1G) in an AMC pool 10.c: Allocate but never look at objects 11.c: lots of allocation to provoke mmap error in sunos 12.c: lots of APs with interleaved reserve and 2-stage commit 12p.c: lots of APs with interleaved reserve and 2-stage commit 13.c: interleaved APs (like 12, but produce comments for debugging) 14.c: regression test for bug when commit fails 15.c: destroy AMC pool in mid-collection 16.c: regression test for scan of invalid obj after I=A 17.c: create and destroy lots of pools (interleaved) 18.c: create lots of pools at once (and cause to run out of memory) 19.c: create lots of aps at once (and cause to run out of memory) 20.c: create lots of formats at once (and cause to run out of memory) duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ qa run test/function/5.c % create arena: OK % register thread: OK % create root: OK % create format: OK % chain_create: OK % create pool: OK % create apA: OK % create apB: OK MPS ASSERTION FAILURE: ResIsAllocFailure(res) trace.c 511 Unexpected line in output: MPS ASSERTION FAILURE: ResIsAllocFailure(res) duck:~/p4/project/mps/master richardk$ qa run test/function/1.c % create space: OK !completed=yes ----------------------------------------------------------------------------- PASSED TEST test/function/1.c * harness = 1.0 id = $HopeName$ language = c link = testlib.o summary = create a space and then destroy it SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a code/xcppgc/ci/mpsplan.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS completed = yes seconds = 1 CONCLUSION PASS sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ vi test/function/1.c duck:~/p4/project/mps/master richardk$ vi test/function/1.c duck:~/p4/project/mps/master richardk$ qa index test/function/1-20 1.c: create a space and then destroy it 2.c: test my format for format_a 3.c: allocate 100 items, throw away and repeat 4.c: allocate 100 items, throw away and repeat 5.c: (regression test) have an ambiguous reference to a reserved but not committed object, and then allocate lots more with another AP, to make it collect 6.c: (regression test ) Keep resetting lds in managed memory while doing allocation. The idea is to force a collection so that the ld will be protected when you try to reset it. 7.c: create 1000 spaces and destroy each one just after the next is created 8.c: create arenas until an error results, see if it leaks at failure 9.c: (regression test) Allocate a big object (>64M, perhaps up to 1G) in an AMC pool 10.c: Allocate but never look at objects 11.c: lots of allocation to provoke mmap error in sunos 12.c: lots of APs with interleaved reserve and 2-stage commit 12p.c: lots of APs with interleaved reserve and 2-stage commit 13.c: interleaved APs (like 12, but produce comments for debugging) 14.c: regression test for bug when commit fails 15.c: destroy AMC pool in mid-collection 16.c: regression test for scan of invalid obj after I=A 17.c: create and destroy lots of pools (interleaved) 18.c: create lots of pools at once (and cause to run out of memory) 19.c: create lots of aps at once (and cause to run out of memory) 20.c: create lots of formats at once (and cause to run out of memory) duck:~/p4/project/mps/master richardk$ qa index test/argerr/1-20 1.c: create a space with an unaligned space_t 2.c: destroy a space with an null space_t 3.c: destroy a space with an unaligned space_t 4.c: NULL 1st arg to fmt_create_A 5.c: UNALIGNED 1st arg to fmt_create_A 6.c: NULL 2nd arg to fmt_create_A 7.c: UNALIGNED 2nd arg to fmt_create_A 8.c: NULL arg to fmt_destroy 9.c: UNALIGNED arg to fmt_destroy 10.c: null 1st arg to pool_create 11.c: UNALIGNED 1st arg to pool_create 12.c: null 2nd arg to pool_create 13.c: UNALIGNED 2nd arg to pool_create 14.c: NULL 3rd arg to pool_create 15.c: UNALIGNED 3rd arg to pool_create 16.c: NULL 4th arg to pool_create 17.c: UNALIGNED 4th arg to pool_create 18.c: NULL arg to pool_destroy 19.c: UNALIGNED arg to pool_destroy 20.c: NULL 1st arg to mps_alloc duck:~/p4/project/mps/master richardk$ vi test/argerr/1.c duck:~/p4/project/mps/master richardk$ qa run test/argerr/1.c ----------------------------------------------------------------------------- FAILED TEST test/argerr/1.c harness = 1.0 id = $HopeName$ language = c link = testlib.o summary = create a space with an unaligned space_t SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a code/xcppgc/ci/mpsplan.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS seconds = 0 CONCLUSION FAIL failed on completed: wanted = yes, was absent sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ qa run test/argerr/10.c % create space: OK % register thread: OK % create root: OK % create format: OK MPS ASSERTION FAILURE: mps_pool_o != NULL mpsi.c 672 Unexpected line in output: MPS ASSERTION FAILURE: mps_pool_o != NULL duck:~/p4/project/mps/master richardk$ qa options ------------------------------------------------------------------------ MMQA harness version 3.5 OPTION CODE CURRENT DANGEROUS -[no]danger off DATA_DIR -data test/test/../data DEBUG_INFO -[no]debug off LOG_DIR -g test/test/log MAIL_RESULTS -[no]mail on MAIL_SUBJECT -subj MMQA-log MAIL_TO -m mm-qa-test-log MPS_INCLUDE_DIR -i code MPS_LINK_OBJ -l code/xcppgc/ci/mps.a code/ xcppgc/ci/mpsplan.a MPS_PRODUCT -prod mps PARAMETERS -a PLATFORM -p Darwin_7.8.0_powerpc__unix STDIN -s (Add MMQA_ to start of option to give environment variable) ------------------------------------------------------------------------ duck:~/p4/project/mps/master richardk$ export MMQA_MPS_LINK_OBJ=code/xcppgc/ci/mps.a duck:~/p4/project/mps/master richardk$ qa options ------------------------------------------------------------------------ MMQA harness version 3.5 OPTION CODE CURRENT DANGEROUS -[no]danger off DATA_DIR -data test/test/../data DEBUG_INFO -[no]debug off LOG_DIR -g test/test/log MAIL_RESULTS -[no]mail on MAIL_SUBJECT -subj MMQA-log MAIL_TO -m mm-qa-test-log MPS_INCLUDE_DIR -i code MPS_LINK_OBJ -l code/xcppgc/ci/mps.a MPS_PRODUCT -prod mps PARAMETERS -a PLATFORM -p Darwin_7.8.0_powerpc__unix STDIN -s (Add MMQA_ to start of option to give environment variable) ------------------------------------------------------------------------ duck:~/p4/project/mps/master richardk$ qa run test/argerr/10.cWarning: MPS_LINK_OBJ has changed -- recompile test libraries ("qa clib") before running tests. duck:~/p4/project/mps/master richardk$ qa -danger run test/argerr/10.c ld: Undefined symbols: _mps_lib_assert_fail _mps_lib_memcpy _mps_clock _mps_clocks_per_sec _mps_lib_fputc _mps_lib_fputs _mps_lib_get_EOF _mps_lib_memcmp ----------------------------------------------------------------------------- FAILED TEST test/argerr/10.c * harness = 1.0 id = $HopeName$ language = c link = testlib.o newfmt.o summary = null 1st arg to pool_create SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS cl_out = ld: Undefined symbols: _mps_lib_assert_fail _mps_lib_memcpy _mps_clock _mps_clocks_per_sec _mps_lib_fputc _mps_lib_fputs _mps_lib_get_EOF _mps_lib_memcmp error = true errtext = compilation failed seconds = 0 CONCLUSION FAIL compilation failed sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpsw3.h:14:59: windows.h: No such file or directory code/mpswin.h:19:21: windows.h: No such file or directory Compiling test libraries. duck:~/p4/project/mps/master richardk$ qa run test/argerr/10.c ld: Undefined symbols: _mps_lib_assert_fail _mps_lib_memcpy _mps_clock _mps_clocks_per_sec _mps_lib_fputc _mps_lib_fputs _mps_lib_get_EOF _mps_lib_memcmp ----------------------------------------------------------------------------- FAILED TEST test/argerr/10.c * harness = 1.0 id = $HopeName$ language = c link = testlib.o newfmt.o summary = null 1st arg to pool_create SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS cl_out = ld: Undefined symbols: _mps_lib_assert_fail _mps_lib_memcpy _mps_clock _mps_clocks_per_sec _mps_lib_fputc _mps_lib_fputs _mps_lib_get_EOF _mps_lib_memcmp error = true errtext = compilation failed seconds = 0 CONCLUSION FAIL compilation failed sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpsw3.h:14:59: windows.h: No such file or directory code/mpswin.h:19:21: windows.h: No such file or directory Compiling test libraries. test/test/testlib/testlib.c:236: warning: no previous prototype for `mmqa_assert_handler' test/test/testlib/testlib.c: In function `mps_lib_memset': test/test/testlib/testlib.c:611: warning: implicit declaration of function `memset' test/test/testlib/testlib.c: In function `mps_lib_memcpy': test/test/testlib/testlib.c:616: warning: implicit declaration of function `memcpy' test/test/testlib/testlib.c: In function `mps_lib_memcmp': test/test/testlib/testlib.c:621: warning: implicit declaration of function `memcmp' duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpsw3.h:14:59: windows.h: No such file or directory code/mpswin.h:19:21: windows.h: No such file or directory Compiling test libraries. test/test/testlib/testlib.c:237: warning: no previous prototype for `mmqa_assert_handler' duck:~/p4/project/mps/master richardk$ qa clib Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpswin.h:19:21: windows.h: No such file or directory code/mpsw3.h:14:59: windows.h: No such file or directory Compiling test libraries. duck:~/p4/project/mps/master richardk$ qa run test/argerr/10.c % create space: OK % register thread: OK % create root: OK % create format: OK % MPS ASSERTION FAILURE !assert=true !assertid= !assertcond=mps_pool_o != NULL !assertfile=mpsi.c !assertline=672 ----------------------------------------------------------------------------- FAILED TEST test/argerr/10.c harness = 1.0 id = $HopeName$ language = c link = testlib.o newfmt.o summary = null 1st arg to pool_create SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS assert = true assertcond = mps_pool_o != NULL assertfile = mpsi.c assertid = assertline = 672 seconds = 0 CONCLUSION FAIL failed on completed: wanted = yes, was absent sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ vi 10.c duck:~/p4/project/mps/master richardk$ vi test/argerr/10.c duck:~/p4/project/mps/master richardk$ grep SPEC test/argerr/* duck:~/p4/project/mps/master richardk$ grep RESU test/argerr/* duck:~/p4/project/mps/master richardk$ grep -i spec test/argerr/* duck:~/p4/project/mps/master richardk$ grep -i requi test/argerr/* test/argerr/146.c: pre-processor, but that would require recompilation... test/argerr/147.c: pre-processor, but that would require recompilation... test/argerr/148.c: pre-processor, but that would require recompilation... test/argerr/149.c: pre-processor, but that would require recompilation... test/argerr/150.c: pre-processor, but that would require recompilation... test/argerr/151.c: pre-processor, but that would require recompilation... duck:~/p4/project/mps/master richardk$ grep -i SPEC test/argerr/* duck:~/p4/project/mps/master richardk$ grep -i SPEC test/*/* test/function/110.c:OUTPUT_SPEC test/function/111.c:OUTPUT_SPEC test/function/117.c:OUTPUT_SPEC test/function/120.c:OUTPUT_SPEC test/function/121.c:OUTPUT_SPEC test/function/122.c:OUTPUT_SPEC test/function/122.c: countspec > 0 test/function/122.c:long int speccount; test/function/122.c: mycell *spec; test/function/122.c: spec = (mycell *) V; test/function/122.c: if (spec == a) { test/function/122.c: speccount++; test/function/122.c: speccount = 0; test/function/122.c: report("countspec", "%ld", speccount); test/function/124.c:OUTPUT_SPEC test/function/127.c:OUTPUT_SPEC test/function/128.c:OUTPUT_SPEC test/function/129.c:OUTPUT_SPEC test/function/131.c:OUTPUT_SPEC test/function/132.c:OUTPUT_SPEC test/function/133.c:OUTPUT_SPEC test/function/134.c:OUTPUT_SPEC test/function/135.c:OUTPUT_SPEC test/function/144.c:OUTPUT_SPEC test/function/148.c:OUTPUT_SPEC test/function/149.c:OUTPUT_SPEC test/function/150.c:OUTPUT_SPEC test/function/152.c:OUTPUT_SPEC test/function/158.c:OUTPUT_SPEC test/function/159.c:OUTPUT_SPEC test/function/160.c:OUTPUT_SPEC test/function/161.c:OUTPUT_SPEC test/function/162.c:OUTPUT_SPEC test/function/165.c:OUTPUT_SPEC test/function/167.c:OUTPUT_SPEC test/function/170.c:OUTPUT_SPEC test/function/171.c:OUTPUT_SPEC test/function/18.c:OUTPUT_SPEC test/function/19.c:OUTPUT_SPEC test/function/20.c:OUTPUT_SPEC test/function/215.c:OUTPUT_SPEC test/function/223.c:OUTPUT_SPEC test/function/227.c:OUTPUT_SPEC test/function/23.c:OUTPUT_SPEC test/function/26.c:OUTPUT_SPEC test/function/44.c:OUTPUT_SPEC test/function/50.c:OUTPUT_SPEC test/function/51.c:OUTPUT_SPEC test/function/65.c:OUTPUT_SPEC test/function/72.c:OUTPUT_SPEC test/function/8.c:OUTPUT_SPEC test/function/98.c:OUTPUT_SPEC test/misc/0.c:OUTPUT_SPEC test/misc/1.c:OUTPUT_SPEC test/misc/2.c:OUTPUT_SPEC grep: test/test/log: Operation not permitted grep: test/test/obj: Operation not permitted test/test/qa: die "You must specify a command -- try 'qa help' for details.\n"; grep: test/test/script: Operation not permitted grep: test/test/testlib: Operation not permitted test/test/typescript:by the qa harness. Each may be specified by setting an test/test/typescript:specifying them correctly, but of course they won't remain test/test/typescript:In general, if you specify a command-line option or flag, it test/test/typescript: the memory manager specified in MMQA_MPS_LINK_OBJ. If however you test/test/typescript: specify a particular file as their standard input. If you specify test/test/typescript: and used to specify compiler options and command-line syntax for test/test/typescript: settings specified in the test header. Examples (all equivalent): test/test/typescript: Parameters may also be specified individually: test/test/typescript: allows you to specify what a test will use for its standard test/test/typescript: input. If unset, the file specified by the test itself will test/test/typescript: you can use a file of your choosing, or specify "STDIN" if you want test/test/typescript:by the qa harness. Each may be specified by setting an test/test/typescript:specifying them correctly, but of course they won't remain test/test/typescript:In general, if you specify a command-line option or flag, it test/test/typescript: the memory manager specified in MMQA_MPS_LINK_OBJ. If however you test/test/typescript: specify a particular file as their standard input. If you specify test/test/typescript: and used to specify compiler options and command-line syntax for test/test/typescript: settings specified in the test header. Examples (all equivalent): test/test/typescript: Parameters may also be specified individually: test/test/typescript: allows you to specify what a test will use for its standard test/test/typescript: input. If unset, the file specified by the test itself will test/test/typescript: you can use a file of your choosing, or specify "STDIN" if you want test/test/typescript:duck:~/p4/project/mps/master richardk$ grep SPEC test/argerr/* test/test/typescript:duck:~/p4/project/mps/master richardk$ grep RESU test/argerr/test/test/typescript:duck:~/p4/project/mps/master richardk$ grep -i requi test/argtest/test/typescript:duck:~/p4/project/mps/master richardk$ grep -i spe test/arge^[[?1;2cduck:~/p4/project/mps/master richardk$ grep SPEC test/*/* test/function/110.c:OUTPUT_SPEC test/function/111.c:OUTPUT_SPEC test/function/117.c:OUTPUT_SPEC test/function/120.c:OUTPUT_SPEC test/function/121.c:OUTPUT_SPEC test/function/122.c:OUTPUT_SPEC test/function/124.c:OUTPUT_SPEC test/function/127.c:OUTPUT_SPEC test/function/128.c:OUTPUT_SPEC test/function/129.c:OUTPUT_SPEC test/function/131.c:OUTPUT_SPEC test/function/132.c:OUTPUT_SPEC test/function/133.c:OUTPUT_SPEC test/function/134.c:OUTPUT_SPEC test/function/135.c:OUTPUT_SPEC test/function/144.c:OUTPUT_SPEC test/function/148.c:OUTPUT_SPEC test/function/149.c:OUTPUT_SPEC test/function/150.c:OUTPUT_SPEC test/function/152.c:OUTPUT_SPEC test/function/158.c:OUTPUT_SPEC test/function/159.c:OUTPUT_SPEC test/function/160.c:OUTPUT_SPEC test/function/161.c:OUTPUT_SPEC test/function/162.c:OUTPUT_SPEC test/function/165.c:OUTPUT_SPEC test/function/167.c:OUTPUT_SPEC test/function/170.c:OUTPUT_SPEC test/function/171.c:OUTPUT_SPEC test/function/18.c:OUTPUT_SPEC test/function/19.c:OUTPUT_SPEC test/function/20.c:OUTPUT_SPEC test/function/215.c:OUTPUT_SPEC test/function/223.c:OUTPUT_SPEC test/function/227.c:OUTPUT_SPEC test/function/23.c:OUTPUT_SPEC test/function/26.c:OUTPUT_SPEC test/function/44.c:OUTPUT_SPEC test/function/50.c:OUTPUT_SPEC test/function/51.c:OUTPUT_SPEC test/function/65.c:OUTPUT_SPEC test/function/72.c:OUTPUT_SPEC test/function/8.c:OUTPUT_SPEC test/function/98.c:OUTPUT_SPEC test/misc/0.c:OUTPUT_SPEC test/misc/1.c:OUTPUT_SPEC test/misc/2.c:OUTPUT_SPEC grep: test/test/log: Operation not permitted grep: test/test/obj: Operation not permitted grep: test/test/script: Operation not permitted grep: test/test/testlib: Operation not permitted test/test/typescript:duck:~/p4/project/mps/master richardk$ grep SPEC test/argerr/* test/test/typescript:duck:~/p4/project/mps/master richardk$ grep RESU test/argerr/test/test/typescript:duck:~/p4/project/mps/master richardk$ grep -i SPEC test/*test/test/typescript:test/function/110.c:OUTPUT_SPEC test/test/typescript:test/function/111.c:OUTPUT_SPEC test/test/typescript:test/function/117.c:OUTPUT_SPEC test/test/typescript:test/function/120.c:OUTPUT_SPEC test/test/typescript:test/function/121.c:OUTPUT_SPEC test/test/typescript:test/function/122.c:OUTPUT_SPEC test/test/typescript:test/function/124.c:OUTPUT_SPEC ... [self-engulfing grep removed - RHSK] ... duck:~/p4/project/mps/master richardk$ vi test/function/161.c duck:~/p4/project/mps/master richardk$ qa run test/function/161.c % create arena: OK % register thread: OK % MPS ASSERTION FAILURE !assert=true !assertid= !assertcond=fencepost check on free !assertfile=dbgpool.c !assertline=404 ----------------------------------------------------------------------------- PASSED TEST test/function/161.c harness = 1.0 id = $HopeName: MMQA_test_function!161.c(trunk.2) $ language = c link = testlib.o summary = MV fenceposting check: subfree SPECIFIED RESULTS assert = true assertcond = fencepost check on free assertfile P= dbgpool.c MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS assert = true assertcond = fencepost check on free assertfile = dbgpool.c assertid = assertline = 404 seconds = 0 CONCLUSION PASS sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ qa run test/function/5.c % create arena: OK % register thread: OK % create root: OK % create format: OK % chain_create: OK % create pool: OK % create apA: OK % create apB: OK % MPS ASSERTION FAILURE !assert=true !assertid= !assertcond=ResIsAllocFailure(res) !assertfile=trace.c !assertline=511 ----------------------------------------------------------------------------- FAILED TEST test/function/5.c ********** harness = 1.0 id = $HopeName: MMQA_test_function!5.c(trunk.6) $ language = c link = testlib.o newfmt.o summary = (regression test) have an ambiguous reference to a reserved but not committed object, and then allocate lots more with another AP, to make it collect SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS assert = true assertcond = ResIsAllocFailure(res) assertfile = trace.c assertid = assertline = 511 seconds = 10 CONCLUSION FAIL failed on completed: wanted = yes, was absent sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ vi test/function/5.c duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ qa run test/argerr/10.c % create space: OK % register thread: OK % create root: OK % create format: OK % MPS ASSERTION FAILURE !assert=true !assertid= !assertcond=mps_pool_o != NULL !assertfile=mpsi.c !assertline=672 ----------------------------------------------------------------------------- FAILED TEST test/argerr/10.c harness = 1.0 id = $HopeName$ language = c link = testlib.o newfmt.o summary = null 1st arg to pool_create SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS assert = true assertcond = mps_pool_o != NULL assertfile = mpsi.c assertid = assertline = 672 seconds = 0 CONCLUSION FAIL failed on completed: wanted = yes, was absent sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ qa index text/conerr/1-10 duck:~/p4/project/mps/master richardk$ qa index test/conerr/1-20 1.c: destroy a space without creating it 2.c: destroy a space which isn't a space 3.c: destroy a space which isn't a space, with a pointer in 4.c: destroy a space which contains a pool 5.c: destroy a space which contains a format 6.c: destroy a space which contains a root 7.c: destroy a space which contains a thread 8.c: create a format in an uncreated space 9.c: create a format in a destroyed space 10.c: destroy a format though uncreated 11.c: destroy a format twice 12.c: destroy a format though attached to a pool 13.c: create a pool in an uncreated space 14.c: create a pool in a destroyed space 15.c: destroy an uncreated pool 16.c: destroy a pool twice 17.c: destroy a pool though containining an AP 18.c: create a pool with a format in the wrong space 19.c: alloc in an uncreated pool 20.c: alloc in an destroyed pool duck:~/p4/project/mps/master richardk$ qa run test/conerr/10.c test/conerr/10.c: In function `test': test/conerr/10.c:33: warning: assignment from incompatible pointer type test/conerr/10.c:35: warning: assignment from incompatible pointer type test/conerr/10.c:36: warning: assignment from incompatible pointer type test/conerr/10.c:37: warning: assignment from incompatible pointer type test/conerr/10.c:38: warning: assignment from incompatible pointer type test/conerr/10.c:26: warning: `format' might be used uninitialized in this function % create space: OK % MPS ASSERTION FAILURE !assert=true !assertid= !assertcond=CHECKT(Format, format) !assertfile=mpsi.c !assertline=640 ----------------------------------------------------------------------------- FAILED TEST test/conerr/10.c harness = 1.0 id = $HopeName$ language = c link = testlib.o summary = destroy a format though uncreated SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS assert = true assertcond = CHECKT(Format, format) assertfile = mpsi.c assertid = assertline = 640 seconds = 0 CONCLUSION FAIL failed on completed: wanted = yes, was absent sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ qa index test/conerr/1-20 1.c: destroy a space without creating it 2.c: destroy a space which isn't a space 3.c: destroy a space which isn't a space, with a pointer in 4.c: destroy a space which contains a pool 5.c: destroy a space which contains a format 6.c: destroy a space which contains a root 7.c: destroy a space which contains a thread 8.c: create a format in an uncreated space 9.c: create a format in a destroyed space 10.c: destroy a format though uncreated 11.c: destroy a format twice 12.c: destroy a format though attached to a pool 13.c: create a pool in an uncreated space 14.c: create a pool in a destroyed space 15.c: destroy an uncreated pool 16.c: destroy a pool twice 17.c: destroy a pool though containining an AP 18.c: create a pool with a format in the wrong space 19.c: alloc in an uncreated pool 20.c: alloc in an destroyed pool duck:~/p4/project/mps/master richardk$ qa run test/conerr/4.c % create space: OK % create pool: OK ----------------------------------------------------------------------------- FAILED TEST test/conerr/4.c * harness = 1.0 id = $HopeName$ language = c link = testlib.o summary = destroy a space which contains a pool SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS seconds = 1 CONCLUSION FAIL failed on completed: wanted = yes, was absent sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ qa -debug run test/conerr/4.c OPEN >>strings code/xcppgc/ci/mps.a|<< No output specification -- assuming completed=yes required. OPEN >>cc -ansi -pedantic -Wall -Winline -Waggregate-return -Wnested-externs -Wcast-qual -Wshadow -Wmissing-prototypes -Wcast-align -O -g -ggdb3 -DMMQA_PROD_mps -Wno-unused -Wno-long-long -D__inline__= -o test/test/obj/Darwin_7.8.0_powerpc__unix/tmp_test test/conerr/4.c test/test/obj/Darwin_7.8.0_powerpc__unix/testlib.o code/xcppgc/ci/mps.a test/test/obj/Darwin_7.8.0_powerpc__unix/platform.o -Itest/test/testlib -Icode -Itest/test/obj/Darwin_7.8.0_powerpc__unix -Xlinker -m|<< OPEN >>strings test/test/obj/Darwin_7.8.0_powerpc__unix/tmp_test|<< LOG SYSTEM: c>test/test/obj/Darwin_7.8.0_powerpc__unix/tmp_test iyes l>test/test/obj/Darwin_7.8.0_powerpc__unix/tmp_log.log SYSTEM >>sh -c "ulimit -c 0; test/test/obj/Darwin_7.8.0_powerpc__unix/tmp_test" | tee test/test/obj/Darwin_7.8.0_powerpc__unix/std_log.log<< % create space: OK % create pool: OK SYSTEM >>cat test/test/obj/Darwin_7.8.0_powerpc__unix/err_log.log<< SYSTEM >>cat test/test/obj/Darwin_7.8.0_powerpc__unix/std_log.log test/test/obj/Darwin_7.8.0_powerpc__unix/err_log.log > test/test/obj/Darwin_7.8.0_powerpc__unix/tmp_log.log<< read_results >test/test/obj/Darwin_7.8.0_powerpc__unix/tmp_log.log< time line: 0, 0, 9 % create space: OK % create pool: OK ----------------------------------------------------------------------------- FAILED TEST test/conerr/4.c harness = 1.0 id = $HopeName$ language = c link = testlib.o summary = destroy a space which contains a pool SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS seconds = 0 CONCLUSION FAIL failed on completed: wanted = yes, was absent SYSTEM >>{ echo 'To: mm-qa-test-log'; echo 'Subject: MMQA-log $HopeName$ FAIL'; cat test/test/log/last.log; } | /usr/lib/sendmail -t<< sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ vi test/conerr/4.c duck:~/p4/project/mps/master richardk$ qa index test/conerr/1-20 1.c: destroy a space without creating it 2.c: destroy a space which isn't a space 3.c: destroy a space which isn't a space, with a pointer in 4.c: destroy a space which contains a pool 5.c: destroy a space which contains a format 6.c: destroy a space which contains a root 7.c: destroy a space which contains a thread 8.c: create a format in an uncreated space 9.c: create a format in a destroyed space 10.c: destroy a format though uncreated 11.c: destroy a format twice 12.c: destroy a format though attached to a pool 13.c: create a pool in an uncreated space 14.c: create a pool in a destroyed space 15.c: destroy an uncreated pool 16.c: destroy a pool twice 17.c: destroy a pool though containining an AP 18.c: create a pool with a format in the wrong space 19.c: alloc in an uncreated pool 20.c: alloc in an destroyed pool duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ vi test/conerr/17.c duck:~/p4/project/mps/master richardk$ qa -debug test/conerr/17.c OPEN >>strings code/xcppgc/ci/mps.a|<< Unknown command 'test/conerr/17.c' -- 'qa help' for info. duck:~/p4/project/mps/master richardk$ qa -debug test/conerr/17.c OPEN >>strings code/xcppgc/ci/mps.a|<< Unknown command 'test/conerr/17.c' -- 'qa help' for info. duck:~/p4/project/mps/master richardk$ qa run test/conerr/17.c test/conerr/17.c: In function `test': test/conerr/17.c:36: warning: assignment from incompatible pointer type test/conerr/17.c:38: warning: assignment from incompatible pointer type test/conerr/17.c:39: warning: assignment from incompatible pointer type test/conerr/17.c:40: warning: assignment from incompatible pointer type test/conerr/17.c:41: warning: assignment from incompatible pointer type ld: Undefined symbols: _mps_class_lo ----------------------------------------------------------------------------- FAILED TEST test/conerr/17.c * harness = 1.0 id = $HopeName$ language = c link = testlib.o summary = destroy a pool though containining an AP SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS cl_out = ld: Undefined symbols: _mps_class_lo error = true errtext = compilation failed seconds = 0 CONCLUSION FAIL compilation failed sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ qa run test/conerr/4.c % create space: OK % create pool: OK ----------------------------------------------------------------------------- FAILED TEST test/conerr/4.c harness = 1.0 id = $HopeName$ language = c link = testlib.o summary = destroy a space which contains a pool SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS seconds = 0 CONCLUSION FAIL failed on completed: wanted = yes, was absent sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ test/test test/test test/testsets duck:~/p4/project/mps/master richardk$ test/test/obj/Darwin_7.8.0_powerpc__unix/tmp_test % create space: OK % create pool: OK Segmentation fault duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ ls code index.html manual readme.txt tool design license.txt procedure test duck:~/p4/project/mps/master richardk$ ls test argerr function test conerr misc testsets duck:~/p4/project/mps/master richardk$ ls test/testsets daily dailydw dylan1 duck:~/p4/project/mps/master richardk$ vi test/testsets/daily duck:~/p4/project/mps/master richardk$ qa help Help topics: clib compile test libraries index list tests in a directory install installing and invoking the MMQA test harness naming Numbering of test programs options display options and their current values output Conventions for test output problems known problems and how to report others you may find run run tests, reporting results and verdict runset run tests from a test-set For help on a topic, type 'qa help '. For general instructions on how to run tests, see guide.mmqa in the MM Information database. duck:~/p4/project/mps/master richardk$ qa help runset % $HopeName: MMQA_harness!script:help:runset(trunk.2) $ Usage: qa runset [] 'runset' compiles the test libraries and then runs all the tests in a test-set. A test-set is a file containing a list of tests, one test per line. Blank lines or those beginning with % are ignored. Tests can be specified as absolute files, or relative to the current directory. 'runset' runs all the tests, and saves three log files in the logs directory (see 'qa help options'): summ.log -- summary log: one line per test, PASS or FAIL res.log -- results log: test specifications, results and verdict full.log -- full log: specifications, results, verdict and transcript To run tests individually, use the 'run' command. duck:~/p4/project/mps/master richardk$ cd test duck:~/p4/project/mps/master/test richardk$ qa runset testsets/daily Can't open perl script "test/test/qa": No such file or directory duck:~/p4/project/mps/master/test richardk$ cd .. duck:~/p4/project/mps/master richardk$ qa runset test/testsets/daily Test set test/testsets/daily Cleaning out old object files. Checking settings. Scrutinizing MPS header files. code/mpsw3.h:14:59: windows.h: No such file or directory code/mpswin.h:19:21: windows.h: No such file or directory Compiling test libraries. File function/0.c not found. at test/test/script/headread line 40, line 4. duck:~/p4/project/mps/master richardk$ qa run test/function/1.c% create space: OK !completed=yes ----------------------------------------------------------------------------- PASSED TEST test/function/1.c harness = 1.0 id = $HopeName$ language = c link = testlib.o summary = create a space and then destroy it SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS completed = yes seconds = 0 CONCLUSION PASS sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ qa run test/function/2.c test/function/2.c: In function `test': test/function/2.c:53: warning: implicit declaration of function `scanf' test/function/2.c: In function `main': test/function/2.c:102: warning: control reaches end of non-void function % create space: OK % register thread: OK % create root: OK % create format: OK ----------------------------------------------------------------------------- FAILED TEST test/function/2.c harness = 1.0 id = $HopeName$ language = c link = myfmt.o testlib.o manual = true summary = test my format for format_a SPECIFIED RESULTS completed = yes MMQA OPTIONS MPS_INCLUDE_DIR = code MPS_LINK_OBJ = code/xcppgc/ci/mps.a MPS_PRODUCT = mps PLATFORM = Darwin_7.8.0_powerpc__unix RESULTS seconds = 0 CONCLUSION FAIL failed on completed: wanted = yes, was absent sh: line 1: /usr/lib/sendmail: No such file or directory duck:~/p4/project/mps/master richardk$ which qa /Users/richardk/bin/qa duck:~/p4/project/mps/master richardk$ vi /Users/richardk/bin/qa duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ duck:~/p4/project/mps/master richardk$ cd test duck:~/p4/project/mps/master/test richardk$ ls argerr function test conerr misc testsets duck:~/p4/project/mps/master/test richardk$ qa runset testsets/daily strings: can't open file: code/xcppgc/ci/mps.a (No such file or directory) Error: runset requires the following option: OPTION CODE CURRENT MPS_PRODUCT -prod duck:~/p4/project/mps/master/test richardk$ echo duck:~/p4/project/mps/master/test richardk$ set BASH=/bin/bash BASH_VERSINFO=([0]="2" [1]="05b" [2]="0" [3]="1" [4]="release" [5]="powerpc-apple-darwin7.0") BASH_VERSION='2.05b.0(1)-release' COLUMNS=82 DIRSTACK=() EDITOR='see -w' EUID=501 GROUPS=() HISTFILE=/Users/richardk/.bash_history HISTFILESIZE=500 HISTSIZE=500 HOME=/Users/richardk HOSTNAME=duck.ravenbrook.com HOSTTYPE=powerpc IFS=$' \t\n' LINES=51 LOGNAME=richardk MACHTYPE=powerpc-apple-darwin7.0 MAILCHECK=60 MMQA_MPS_INCLUDE_DIR=code MMQA_MPS_LINK_OBJ=code/xcppgc/ci/mps.a OLDPWD=/Users/richardk/p4/project/mps/master OPTERR=1 OPTIND=1 OSTYPE=darwin7.0 P4CONFIG=.p4config PATH=/Users/richardk/bin:/usr/local/bin:/usr/bin:/bin PIPESTATUS=([0]="0") PPID=2081 PS1='\h:\w \u\$ ' PS2='> ' PS4='+ ' PWD=/Users/richardk/p4/project/mps/master/test SECURITYSESSIONID=211a50 SHELL=/bin/bash SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor SHLVL=2 TERM=xterm-color TERM_PROGRAM=Apple_Terminal TERM_PROGRAM_VERSION=100.1.4 UID=501 USER=richardk _=echo __CF_USER_TEXT_ENCODING=0x1F5:0:0 duck:~/p4/project/mps/master/test richardk$ MMQS_MPS_INCLUDE_DIR=../code duck:~/p4/project/mps/master/test richardk$ MMQS_MPS_LINK_OBJ=../code/xcppgc/ci/mps.a duck:~/p4/project/mps/master/test richardk$ duck:~/p4/project/mps/master/test richardk$ duck:~/p4/project/mps/master/test richardk$ qa runset testsets/dailystrings: can't open file: code/xcppgc/ci/mps.a (No such file or directory) Error: runset requires the following option: OPTION CODE CURRENT MPS_PRODUCT -prod duck:~/p4/project/mps/master/test richardk$ qa options strings: can't open file: code/xcppgc/ci/mps.a (No such file or directory) ------------------------------------------------------------------------ MMQA harness version 3.5 OPTION CODE CURRENT DANGEROUS -[no]danger off DATA_DIR -data /Users/richardk/p4/project/mps/ master/test/test/../data DEBUG_INFO -[no]debug off LOG_DIR -g /Users/richardk/p4/project/mps/ master/test/test/log MAIL_RESULTS -[no]mail on MAIL_SUBJECT -subj MMQA-log MAIL_TO -m mm-qa-test-log MPS_INCLUDE_DIR -i code MPS_LINK_OBJ -l code/xcppgc/ci/mps.a MPS_PRODUCT -prod PARAMETERS -a PLATFORM -p Darwin_7.8.0_powerpc__unix STDIN -s (Add MMQA_ to start of option to give environment variable) ------------------------------------------------------------------------ duck:~/p4/project/mps/master/test richardk$ MMQA_MPS_LINK_OBJ=../code/xcppgc/ci/mps.a duck:~/p4/project/mps/master/test richardk$ MMQA_MPS_INCLUDE_DIR=../codeduck:~/p4/project/mps/master/test richardk$ qa runset testsets/dailyTest set testsets/daily Cleaning out old object files. Checking settings. Scrutinizing MPS header files. ../code/mpsw3.h:14:59: windows.h: No such file or directory ../code/mpswin.h:19:21: windows.h: No such file or directory Compiling test libraries. PASS $HopeName$ sh: line 1: /usr/lib/sendmail: No such file or directory PASS $HopeName$ sh: line 1: /usr/lib/sendmail: No such file or directory X FAIL $HopeName: MMQA_test_function!5.c(trunk.6) $ sh: line 1: /usr/lib/sendmail: No such file or directory X FAIL $HopeName: MMQA_test_function!6.c(trunk.5) $ sh: line 1: /usr/lib/sendmail: No such file or directory PASS $HopeName: MMQA_test_function!9.c(trunk.4) $ sh: line 1: /usr/lib/sendmail: No such file or directory X FAIL $HopeName: MMQA_test_function!11.c(trunk.7) $ sh: line 1: /usr/lib/sendmail: No such file or directory PASS $HopeName: MMQA_test_function!12.c(trunk.8) $ sh: line 1: /usr/lib/sendmail: No such file or directory X FAIL $HopeName: MMQA_test_function!14.c(trunk.5) $ sh: line 1: /usr/lib/sendmail: No such file or directory X FAIL $HopeName: MMQA_test_function!15.c(trunk.5) $ sh: line 1: /usr/lib/sendmail: No such file or directory X FAIL $HopeName: MMQA_test_function!16.c(trunk.5) $ sh: line 1: /usr/lib/sendmail: No such file or directory ^CX FAIL $HopeName: MMQA_test_function!17.c(trunk.6) $ sh: line 1: /usr/lib/sendmail: No such file or directory ^CX FAIL $HopeName: MMQA_test_function!18.c(trunk.6) $ sh: line 1: /usr/lib/sendmail: No such file or directory ^C duck:~/p4/project/mps/master/test richardk$ duck:~/p4/project/mps/master/test richardk$ qa -nomail runset testsets/daily Test set testsets/daily Cleaning out old object files. Checking settings. Scrutinizing MPS header files. ../code/mpswin.h:19:21: windows.h: No such file or directory ../code/mpsw3.h:14:59: windows.h: No such file or directory Compiling test libraries. PASS $HopeName$ PASS $HopeName$ X FAIL $HopeName: MMQA_test_function!5.c(trunk.6) $ X FAIL $HopeName: MMQA_test_function!6.c(trunk.5) $ PASS $HopeName: MMQA_test_function!9.c(trunk.4) $ X FAIL $HopeName: MMQA_test_function!11.c(trunk.7) $ PASS $HopeName: MMQA_test_function!12.c(trunk.8) $ X FAIL $HopeName: MMQA_test_function!14.c(trunk.5) $ X FAIL $HopeName: MMQA_test_function!15.c(trunk.5) $ X FAIL $HopeName: MMQA_test_function!16.c(trunk.5) $ PASS $HopeName: MMQA_test_function!17.c(trunk.6) $ ^CX FAIL $HopeName: MMQA_test_function!18.c(trunk.6) $ ^CX FAIL $HopeName: MMQA_test_function!19.c(trunk.5) $ ^CX FAIL $HopeName$ ^C duck:~/p4/project/mps/master/test richardk$ duck:~/p4/project/mps/master/test richardk$ duck:~/p4/project/mps/master/test richardk$ duck:~/p4/project/mps/master/test richardk$ duck:~/p4/project/mps/master/test richardk$