CM3 Package Status for Target Platform SOLsun

report generated at Fri Aug 20 20:21:55 PDT 2010 on ssol

Package Status Errors Tests
m3-win/import-libs build OK
  
no tests
m3-sys/m3cc build OK
  
no tests
m3-libs/m3core build failed
"/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-
libs/m3core/SOLsun/.M3SHIP", line 4: quake runtime error: 
unable to copy "libm3core.so.5" to 
"/home/hudson/work/cm3-inst/ssol-sun/last-ok/lib/libm3core.so.5"
: errno=2
  libm3core.so.5  Fatal Error: package build failed
  
not tried
m3-libs/libm3 build OK
  
test result details for m3-libs/libm3
m3-sys/windowsResources build OK
  
no tests
m3-libs/parseparams build OK
  
no tests
m3-libs/patternmatching build OK
  
test result details for m3-libs/patternmatching
m3-libs/sysutils build OK
  
no tests
m3-libs/unittest build OK
  
no tests
m3-sys/m3middle build OK
  
no tests
m3-sys/m3objfile build OK
  
no tests
m3-sys/m3linker build OK
  
no tests
m3-sys/m3back build OK
  
no tests
m3-sys/m3staloneback build OK
  
no tests
m3-sys/m3front build OK
  
no tests
m3-sys/m3quake build OK
  
test result details for m3-sys/m3quake
m3-sys/cm3 build OK
  
test result details for m3-sys/cm3
m3-sys/m3scanner build OK
  
no tests
m3-sys/m3tools build OK
  
no tests
m3-sys/m3cgcat build OK
  
no tests
m3-sys/m3cggen build OK
  
no tests
m3-sys/m3gdb build OK
checking command to parse nm output... failed
checking command to parse nm output... failed
  
no tests
m3-tools/m3bundle build OK
  
no tests
m3-sys/mklib build OK
  
no tests
m3-sys/fix_nl build OK
  
no tests
m3-sys/libdump build OK
  
no tests
m3-libs/tempfiles build OK
  
no tests
m3-libs/arithmetic build OK
  
test result details for m3-libs/arithmetic
m3-libs/unittest-numeric build OK
  
no tests
m3-libs/bitvector build OK
  
test result details for m3-libs/bitvector
m3-libs/digraph build OK
  
no tests
m3-libs/realgeometry build OK
  
no tests
m3-libs/set build OK
  
no tests
m3-libs/slisp build OK
  
test result details for m3-libs/slisp
m3-libs/sortedtableextras build OK
  
no src/m3makefile
m3-libs/table-list build OK
  
no tests
m3-libs/tcl not supported on SOLsun
  
not supported on SOLsun
m3-comm/tcp build OK
  
no tests
m3-sys/cm3ide build OK
  
no tests
m3-comm/udp build OK
  
test result details for m3-comm/udp
m3-libs/libsio build OK
  
no tests
m3-libs/libbuf build OK
  
no tests
m3-libs/debug build OK
  
no tests
m3-libs/listfuncs build OK
  
no tests
m3-libs/embutils build OK
  
no tests
m3-libs/m3tk-misc build OK
  
no tests
m3-www/http build OK
  
no tests
m3-libs/binIO build OK
  
test result details for m3-libs/binIO
m3-libs/commandrw build OK
  
no tests
m3-comm/tapi not supported on SOLsun
  
not supported on SOLsun
m3-comm/serial not supported on SOLsun
  
not supported on SOLsun
m3-tools/m3tk build OK
  
no tests
m3-tools/mtex build OK
  
no tests
m3-tools/m3totex build OK
  
no tests
m3-tools/m3tohtml build OK
  
no tests
m3-tools/m3scan build OK
  
no tests
m3-tools/m3markup build OK
  
no tests
m3-tools/m3browser build OK
  
no tests
m3-tools/cmpdir build OK
  
no tests
m3-tools/cmpfp build OK
  
no tests
m3-tools/dirfp build OK
  
no tests
m3-tools/uniq build OK
  
no tests
m3-comm/netobj build OK
  
no src/m3makefile
m3-comm/netobjd build OK
  
no tests
m3-comm/stubgen build OK
  
no tests
m3-comm/events build OK
  
no src/m3makefile
m3-comm/rdwr build OK
  
no src/m3makefile
m3-comm/sharedobj build OK
  
no src/m3makefile
m3-comm/sharedobjgen build OK
  
no src/m3makefile
m3-db/odbc build OK
  
test result details for m3-db/odbc
m3-db/postgres95 build OK
  
test result details for m3-db/postgres95
m3-db/db build OK
  
test result details for m3-db/db
m3-db/smalldb build OK
  
no tests
m3-db/stablegen build OK
  
no tests
m3-db/stable build OK
  
test result details for m3-db/stable
m3-ui/X11R4 build OK
  
no tests
m3-ui/ui build OK
  
no src/m3makefile
m3-ui/PEX build OK
  
no tests
m3-ui/vbtkit build OK
  
no tests
m3-ui/cmvbt build OK
  
no tests
m3-ui/jvideo build OK
  
no tests
m3-ui/videovbt build OK
  
no tests
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-www/web build OK
  
no tests
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-www/proxy build OK
  
no tests
m3-ui/formsvbtpixmaps build OK
  
no tests
m3-ui/formsvbt build OK
  
no tests
m3-ui/formsview build OK
  
no tests
m3-ui/formsedit build OK
  
no tests
m3-ui/codeview build OK
  
no tests
m3-tools/cvsup/suplib build OK
  
no tests
m3-tools/cvsup/client build OK
  
no tests
m3-tools/cvsup/server build OK
  
no tests
m3-tools/cvsup/cvpasswd build OK
  
no tests
m3-ui/mg build OK
  
no tests
m3-ui/mgkit build OK
  
no tests
m3-ui/opengl build OK
  
no tests
m3-ui/anim3D build OK
  
no tests
m3-ui/zeus build OK
  
no tests
m3-ui/m3zume build OK
  
no tests
m3-obliq/synloc build OK
  
no tests
m3-obliq/synex build OK
  
no tests
m3-obliq/metasyn build OK
  
no tests
m3-obliq/obliqrt build OK
  
no tests
m3-obliq/obliqparse build OK
  
no tests
m3-obliq/obliqprint build OK
  
no tests
m3-obliq/obliq build OK
  
no tests
m3-obliq/obliqlibemb build OK
  
no tests
m3-obliq/obliqlibm3 build OK
  
no tests
m3-obliq/obliqlibui build OK
  
no tests
m3-obliq/obliqlibanim build OK
  
no tests
m3-obliq/obliqsrvstd build OK
  
no tests
m3-obliq/obliqsrvui build OK
  
no tests
m3-obliq/obliqbinmin build OK
  
no tests
m3-obliq/obliqbinstd build OK
  
no tests
m3-obliq/obliqbinui build OK
  
no tests
m3-obliq/obliqbinanim build OK
  
no tests
m3-obliq/obliqlib3D build OK
  
no tests
m3-obliq/visualobliq build OK
  
no tests
m3-obliq/vocgi build OK
  
no tests
m3-obliq/voquery build OK
  
no tests
m3-obliq/vorun build OK
  
no tests
m3-ui/webvbt build OK
  
no tests
m3-tools/recordheap build OK
  
no tests
m3-tools/rehearsecode build OK
  
no tests
m3-tools/replayheap build OK
  
no tests
m3-tools/showheap build OK
  
no tests
m3-tools/shownew build OK
  
no tests
m3-tools/showthread build OK
  
no tests
m3-ui/juno-2/juno-app/pkl-fonts build OK
  
no tests
m3-ui/juno-2/juno-machine build OK
unsupported m3_option value: "-O"
  
no tests
m3-ui/juno-2/juno-compiler build OK
unsupported m3_option value: "-O"
  
no src/m3makefile
m3-ui/juno-2/juno-app build OK
unsupported m3_option value: "-O"
  
no tests
m3-demo/cube build OK
  
no tests
m3-demo/calculator build OK
  
no tests
m3-demo/fisheye build OK
  
no tests
m3-demo/mentor build OK
  
no tests
caltech-parser/cit_common build OK
  
no tests
caltech-parser/m3tmplhack build OK
  
no src/m3makefile
caltech-parser/cit_util build OK
  
no tests
caltech-parser/term build OK
  
no tests
m3-libs/deepcopy build OK
  
no src/m3makefile
caltech-parser/paneman build OK
  
no tests
caltech-parser/paneman/kemacs build OK
  
no tests
caltech-parser/drawcontext build OK
  
test result details for caltech-parser/drawcontext
caltech-parser/drawcontext/dcpane build OK
  
no tests
caltech-parser/drawcontext/kgv build OK
  
no tests
caltech-parser/hack build OK
  
no tests
caltech-parser/m3browserhack build OK
  
no tests
caltech-parser/parserlib/ktoklib build OK
  
no tests
caltech-parser/parserlib/klexlib build OK
  
no tests
caltech-parser/parserlib/kyacclib build OK
  
no tests
caltech-parser/parserlib/ktok build OK
  
no tests
caltech-parser/parserlib/klex build OK
  
no tests
caltech-parser/parserlib/kyacc build OK
  
no tests
caltech-parser/parserlib/kext build OK
  
no tests
caltech-parser/parserlib/parserlib build OK
  
test result details for caltech-parser/parserlib/parserlib
caltech-parser/parserlib/parserlib/test build OK
  
no tests
m3-tools/pp build OK
  
no tests
m3-tools/kate build OK
  
no tests
m3-libs/sgml build OK
  
no tests
m3-www/deckscape build OK
  
no tests
m3-www/webscape build OK
  
no tests
m3-www/webcat build OK
  
no tests
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-ui/bicycle build OK
  
no tests
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-games/badbricks build OK
  
no tests
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-games/columns build OK
  
no tests
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-games/fours build OK
  
no tests
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-games/maze build OK
  
no tests
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-games/solitaire build OK
  
no tests
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-games/tetris build OK
  
no tests

Package Test Result Details

Test Result Details for m3-libs/libm3

--- building in SOLsun ---


=== performing tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/os ===
cm3 -build -override -DROOT=/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3 -DRUN -DTEST
--- building in SOLsun ---


--- tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/os/SOLsun---
performing pathname-tests...
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/os/SOLsun
pathname-tests OK
performing process-tests...
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/os/SOLsun
a b c
process-tests OK
performing filesystem-tests...
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/os/SOLsun
filesystem-tests differences:
--- ../src/filesystem-tests-output	Sat Jul 25 05:25:49 2009
+++ ./filesystem-tests-output	Fri Aug 20 20:22:41 2010
@@ -1,6 +1,6 @@
 OS test shell
-("m3make.args" ".M3SHIP" ".M3EXPORTS" "OSTest.mx" "Subr.io" "PathnameTests.io" "PathnameTests.mo" ".M3WEB" "TextSubrTbl.io" "TextSubrTbl.mo" "OSTest.mo" "_m3main.mc" "OSTest" "_m3main.o" "pathname-tests-output" "process-tests-output" "filesystem-tests-output")
-(("m3make.args" RegularFile) (".M3SHIP" RegularFile) (".M3EXPORTS" RegularFile) ("OSTest.mx" RegularFile) ("Subr.io" RegularFile) ("PathnameTests.io" RegularFile) ("PathnameTests.mo" RegularFile) (".M3WEB" RegularFile) ("TextSubrTbl.io" RegularFile) ("TextSubrTbl.mo" RegularFile) ("OSTest.mo" RegularFile) ("_m3main.mc" RegularFile) ("OSTest" RegularFile) ("_m3main.o" RegularFile) ("pathname-tests-output" RegularFile) ("process-tests-output" RegularFile) ("filesystem-tests-output" RegularFile))
+(".M3EXPORTS" "OSTest.mx" "OSTest" "m3make.args" "Subr.io" "PathnameTests.io" "TextSubrTbl.io" "_m3main.c" "OSTest.mo" ".M3WEB" "filesystem-tests-output" ".M3SHIP" "_m3main.o" "PathnameTests.mo" "pathname-tests-output" "process-tests-output" "TextSubrTbl.mo")
+((".M3EXPORTS" RegularFile) ("OSTest.mx" RegularFile) ("OSTest" RegularFile) ("m3make.args" RegularFile) ("Subr.io" RegularFile) ("PathnameTests.io" RegularFile) ("TextSubrTbl.io" RegularFile) ("_m3main.c" RegularFile) ("OSTest.mo" RegularFile) (".M3WEB" RegularFile) ("filesystem-tests-output" RegularFile) (".M3SHIP" RegularFile) ("_m3main.o" RegularFile) ("PathnameTests.mo" RegularFile) ("pathname-tests-output" RegularFile) ("process-tests-output" RegularFile) ("TextSubrTbl.mo" RegularFile))
 (file 3)
 
 (file 4)

cm3 returned 0


=== performing tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/pqueue/fromtty ===
cm3 -build -override -DROOT=/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3 -DRUN -DTEST
--- building in SOLsun ---

performing pqueue-change...
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/pqueue/fromtty/SOLsun
change differences:
--- ../src/change.txt.out	Wed Jan 24 04:24:20 2001
+++ ./change.txt.out	Fri Aug 20 20:22:42 2010
@@ -1,99 +1,0 @@
-> fromelts e d c b a t r s u    
-"e" => 1
-"d" => 2
-"c" => 3
-"b" => 4
-"a" => 5
-"t" => 6
-"r" => 7
-"s" => 8
-"u" => 9
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "a", "b", "c", "e", "d", "t", "r", "s", "u"}
-> c 5 x
-"x" => 5
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "b", "d", "c", "e", "x", "t", "r", "s", "u"}
-> c 4 x
-"x" => 4
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "c", "d", "r", "e", "x", "t", "x", "s", "u"}
-> c 3 x
-"x" => 3
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "d", "e", "r", "s", "x", "t", "x", "x", "u"}
-> c 7 x
-"x" => 7
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "d", "e", "t", "s", "x", "x", "x", "x", "u"}
-> c 2 x
-"x" => 2
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "e", "s", "t", "u", "x", "x", "x", "x", "x"}
-> c 1 x
-"x" => 1
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "s", "u", "t", "x", "x", "x", "x", "x", "x"}
-> c 8 x
-"x" => 8
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "t", "u", "x", "x", "x", "x", "x", "x", "x"}
-> c 6 x
-"x" => 6
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "u", "x", "x", "x", "x", "x", "x", "x", "x"}
-> c 9 x
-"x" => 9
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "x", "x", "x", "x", "x", "x", "x", "x", "x"}
-> showelts
-  1 "x"
-  2 "x"
-  3 "x"
-  4 "x"
-  5 "x"
-  6 "x"
-  7 "x"
-  8 "x"
-  9 "x"
-> c 5 z
-"z" => 5
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "x", "x", "x", "x", "z", "x", "x", "x", "x"}
-> c 8 y
-"y" => 8
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "x", "x", "x", "x", "z", "y", "x", "x", "x"}
-> dmin
-"x"
-> dmin
-"x"
-> dmin
-"x"
-> dmin
-"x"
-> dmin
-"x"
-> dmin
-"x"
-> dmin
-"x"
-> dmin
-"y"
-> dmin
-"z"
-> dmin
-Queue is empty
-> ^D
performing pqueue-delete...
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/pqueue/fromtty/SOLsun
delete differences:
--- ../src/delete.txt.out	Wed Jan 24 04:24:20 2001
+++ ./delete.txt.out	Fri Aug 20 20:22:45 2010
@@ -1,59 +1,0 @@
-> fromelts e d c b a z y x w
-"e" => 1
-"d" => 2
-"c" => 3
-"b" => 4
-"a" => 5
-"z" => 6
-"y" => 7
-"x" => 8
-"w" => 9
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "a", "b", "c", "e", "d", "z", "y", "x", "w"}
-> d 5
-"a" => deleted
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 8
-pq.heap = Elts{NIL, "b", "d", "c", "e", "w", "z", "y", "x", NIL}
-> d 1
-"e" => deleted
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 7
-pq.heap = Elts{NIL, "b", "d", "c", "x", "w", "z", "y", NIL (X2)}
-> d 2
-"d" => deleted
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 6
-pq.heap = Elts{NIL, "b", "w", "c", "x", "y", "z", NIL (X3)}
-> d 3
-"c" => deleted
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 5
-pq.heap = Elts{NIL, "b", "w", "z", "x", "y", NIL (X4)}
-> d 9
-"w" => deleted
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 4
-pq.heap = Elts{NIL, "b", "x", "z", "y", NIL (X5)}
-> d 8
-"x" => deleted
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 3
-pq.heap = Elts{NIL, "b", "y", "z", NIL (X6)}
-> d 7
-"y" => deleted
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 2
-pq.heap = Elts{NIL, "b", "z", NIL (X7)}
-> d 4 
-"b" => deleted
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 1
-pq.heap = Elts{NIL, "z", NIL (X8)}
-> d 6
-"z" => deleted
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 0
-pq.heap = Elts{NIL (X10)}
-> ^D
performing pqueue-dmin...
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/pqueue/fromtty/SOLsun
dmin differences:
--- ../src/dmin.txt.out	Wed Jan 24 04:24:20 2001
+++ ./dmin.txt.out	Fri Aug 20 20:22:47 2010
@@ -1,36 +1,0 @@
-> fromelts e d c b a z y x w
-"e" => 1
-"d" => 2
-"c" => 3
-"b" => 4
-"a" => 5
-"z" => 6
-"y" => 7
-"x" => 8
-"w" => 9
-> dmin
-"a"
-> dmin
-"b"
-> dmin
-"c"
-> dmin
-"d"
-> dmin
-"e"
-> dmin
-"w"
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 3
-pq.heap = Elts{NIL, "x", "y", "z", NIL (X6)}
-> dmin
-"x"
-> dmin
-"y"
-> dmin
-"z"
-> dmin
-Queue is empty
-> dmin
-Queue is empty
-> ^D
performing pqueue-fromelts...
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/pqueue/fromtty/SOLsun
fromelts differences:
--- ../src/fromelts.txt.out	Wed Jan 24 04:24:20 2001
+++ ./fromelts.txt.out	Fri Aug 20 20:22:49 2010
@@ -1,25 +1,0 @@
-> fromelts
-> showheap
-LAST(pq.heap^) = 0; pq.sz = 0
-pq.heap = Elts{NIL}
-> fromelts e d c b a z y x w
-"e" => 1
-"d" => 2
-"c" => 3
-"b" => 4
-"a" => 5
-"z" => 6
-"y" => 7
-"x" => 8
-"w" => 9
-> showheap
-LAST(pq.heap^) = 9; pq.sz = 9
-pq.heap = Elts{NIL, "a", "b", "c", "e", "d", "z", "y", "x", "w"}
-> fromelts i h g
-"i" => 10
-"h" => 11
-"g" => 12
-> showheap  
-LAST(pq.heap^) = 9; pq.sz = 3
-pq.heap = Elts{NIL, "g", "h", "i", NIL (X6)}
-> ^D
performing pqueue-heapgrow...
/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/pqueue/fromtty/SOLsun
heapgrow differences:
--- ../src/heapgrow.txt.out	Wed Jan 24 04:24:20 2001
+++ ./heapgrow.txt.out	Fri Aug 20 20:22:51 2010
@@ -1,49 +1,0 @@
-> showheap
-LAST(pq.heap^) = 0; pq.sz = 0
-pq.heap = Elts{NIL}
-> i z
-"z" => 1
-> showheap
-LAST(pq.heap^) = 1; pq.sz = 1
-pq.heap = Elts{NIL, "z"}
-> i y
-"y" => 2
-> showheap
-LAST(pq.heap^) = 3; pq.sz = 2
-pq.heap = Elts{NIL, "y", "z", NIL}
-> i w
-"w" => 3
-> showheap
-LAST(pq.heap^) = 3; pq.sz = 3
-pq.heap = Elts{NIL, "w", "z", "y"}
-> i x
-"x" => 4
-> showheap
-LAST(pq.heap^) = 7; pq.sz = 4
-pq.heap = Elts{NIL, "w", "x", "y", "z", NIL (X3)}
-> i g
-"g" => 5
-> showheap
-LAST(pq.heap^) = 7; pq.sz = 5
-pq.heap = Elts{NIL, "g", "w", "y", "z", "x", NIL (X2)}
-> i f
-"f" => 6
-> showheap
-LAST(pq.heap^) = 7; pq.sz = 6
-pq.heap = Elts{NIL, "f", "w", "g", "z", "x", "y", NIL}
-> i e
-"e" => 7
-> showheap
-LAST(pq.heap^) = 7; pq.sz = 7
-pq.heap = Elts{NIL, "e", "w", "f", "z", "x", "y", "g"}
-> i d
-"d" => 8
-> showheap
-LAST(pq.heap^) = 15; pq.sz = 8
-pq.heap = Elts{NIL, "d", "e", "f", "w", "x", "y", "g", "z", NIL (X7)}
-> i c
-"c" => 9
-> showheap
-LAST(pq.heap^) = 15; pq.sz = 9
-pq.heap = Elts{NIL, "c", "d", "f", "e", "x", "y", "g", "z", "w", NIL (X6)}
-> ^D

cm3 returned 0


=== performing tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/pqueue/heapsort1 ===
cm3 -build -override -DROOT=/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3 -DRUN -DTEST
--- building in SOLsun ---


performing pqueue-heapsort1...

program returned 34304

cm3 returned 0


=== performing tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/pqueue/heapsort2 ===
cm3 -build -override -DROOT=/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3 -DRUN -DTEST
--- building in SOLsun ---


performing pqueue-heapsort2...

program returned 34304

cm3 returned 0


=== performing tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/rw/autotest ===
cm3 -build -override -DROOT=/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3 -DRUN -DTEST
--- building in SOLsun ---


performing rw-autotest...

program returned 34304

FAILED
stderr: 

***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



cm3 returned 0


=== performing tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/rw/copy ===
cm3 -build -override -DROOT=/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3 -DRUN -DTEST
--- building in SOLsun ---


performing rw-copy...

program returned 34304
rw-copy differences:
--- ../src/COPYRIGHT	Wed Jan 24 04:24:20 2001
+++ y	Fri Aug 20 20:23:11 2010
@@ -1,93 +1,0 @@
-
-                     Digital License Agreement
-
-                          SRC Modula-3
-
- 1. Grant Of License.  Digital Equipment Corporation, having a principal
-    office at 146 Main Street, Maynard, MA 01754 ("DIGITAL") grants to
-    you ("LICENSEE") the non-exclusive, non-transferable, royalty free
-    right to use, modify, reproduce and distribute SRC Modula-3 ("SOFTWARE")
-    subject to the terms set forth herein.  Any distribution of SOFTWARE
-    shall include this Digital License Agreement in human readable form.
-
- 2. Title to Intellectual Property and Software.  Subject to the limited
-    rights and licenses granted under this License Agreement, all rights,
-    title and interests including patent, copyright, and trademark rights
-    in SOFTWARE are and shall remain vested in DIGITAL to the exclusion
-    of LICENSEE.  DIGITAL represents and warrants that DIGITAL has the
-    legal right to grant such licenses as are expressly granted under
-    this Agreement.
-
- 3. Copyright.  The SOFTWARE is owned by DIGITAL or its suppliers and is
-    protected by United States copyright laws and international treaty
-    provisions.  Therefore, you must treat the SOFTWARE like any other
-    copyrighted material (e.g., a book or musical recording) except
-    that you may use the SOFTWARE as provided in this Digital License
-    Agreement.
-
- 4. Improvements.  LICENSEE hereby grants to DIGITAL a non-exclusive,
-    non-transferable, royalty free right to use, modify, reproduce
-    and distribute with the right to sublicense at any tier, any
-    improvements, enhancements, extensions, or modifications that
-    LICENSEE make to SOFTWARE, provided such are returned to DIGITAL
-    by LICENSEE.
-
- 5. DISCLAIMER OF WARRANTY.  Because the SOFTWARE is a research work and
-    not a released product, it is provided "AS IS" WITHOUT WARRANTY OF ANY
-    KIND AND WITHOUT ANY SUPPORT SERVICES.  EXCEPT AS SPECIFICALLY PROVIDED
-    ABOVE IN SECTION 2, DIGITAL FURTHER DISCLAIMS ALL OTHER EXPRESS OR
-    IMPLIED WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR
-    PURPOSE.  THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF
-    THE SOFTWARE REMAINS WITH YOU.
-
- 6. Limitation of Liability.  IN NO EVENT SHALL DIGITAL OR ITS SUPPLIERS BE
-    LIABLE IN AN AMOUNT THAT EXCEEDS THE LICENSE FEE PAID BY LICENSEE FOR
-    ANY DAMAGES (INCLUDING, WITH LIMITATION, DAMAGES FOR LOSS OF BUSINESS
-    PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER
-    PECUNIARY LOSS), REGARDLESS OF THE FORM OF CLAIM OR ACTIONS, ARISING
-    OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION,
-    EVEN IF DIGITAL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-    BECAUSE SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY
-    FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT
-    APPLY TO YOU.
-
- 7. Acknowledgement of Allocation of Risk.  LICENSEE acknowledges and agrees
-    that the fees charged by DIGITAL in this Agreement reflect the allocation
-    of risks provided by the foregoing limitation of liability.  LICENSEE
-    acknowledges and represents that it has read and understands these
-    allocations of risk limiting the liability of DIGITAL and that it
-    understands that a modification of the allocation of risks set forth
-    in this agreement would affect the fees charged by DIGITAL, and that
-    LICENSEE, in consideration of such fees, agrees to such allocations
-    of risk.
-
- 8. LICENSEE INDEMNIFICATION.  LICENSEE SHALL INDEMNIFY DIGITAL AGAINST
-    ALL COSTS AND DAMAGE JUDGEMENTS, INCLUDING ATTORNEY'S FEES AND COSTS
-    OF DEFENSE, INCURRED BECAUSE OF CLAIMS OF DAMAGE ARISING FROM LICENSEE'S
-    POSSESSION OR USE OR INABILITY TO USE SOFTWARE.
-
- 9. GOVERNMENT RESTRICTED RIGHTS.  The SOFTWARE and documentation are provided
-    with RESTRICTED RIGHTS.  Use duplication, or disclosure by the Government
-    is subject restrictions as set forth in subparagraph (c)(1)(ii) of The
-    Rights in Technical Data and Computer Software clause in DFARS
-    252.227-7013, or subparagraphs (c)(i) and (2) of the Commercial Computer
-    Software -- Restricted Rights at 48 CFR 52.227-19, as applicable.
-    Manufacturer is Digital Equipment Corporation, 130 Lytton Avenue,
-    Palo Alto, CA 94301-1044.
-
-10. Severability.  If any provision of the Agreement is held illegal or
-    unenforceable by any court of competent jurisdiction, such provision
-    shall be deemed separable from the remaining provisions of this Agreement
-    and shall not affect or impair the validity or enforceability of the
-    remaining provisions of this Agreement.
-
-11. Governing Law.  This Agreement is governed by the laws of the
-    Commonwealth of Massachusetts.
-
-12. Publicity.  You my not use the name of DIGITAL in any advertisement,
-    press release or other publicity with reference to SRC Modula-3
-    without prior written consent of DIGITAL.
-
-13. Should you have any questions concerning this Agreement, or if you
-    desire to contact Digital for any reason, please do so via E-mail:
-    M3-REQUEST@SRC.DEC.COM.
FAILED

program returned 34304
rw-copy differences:
--- ../src/COPYRIGHT	Wed Jan 24 04:24:20 2001
+++ y	Fri Aug 20 20:23:14 2010
@@ -1,93 +1,0 @@
-
-                     Digital License Agreement
-
-                          SRC Modula-3
-
- 1. Grant Of License.  Digital Equipment Corporation, having a principal
-    office at 146 Main Street, Maynard, MA 01754 ("DIGITAL") grants to
-    you ("LICENSEE") the non-exclusive, non-transferable, royalty free
-    right to use, modify, reproduce and distribute SRC Modula-3 ("SOFTWARE")
-    subject to the terms set forth herein.  Any distribution of SOFTWARE
-    shall include this Digital License Agreement in human readable form.
-
- 2. Title to Intellectual Property and Software.  Subject to the limited
-    rights and licenses granted under this License Agreement, all rights,
-    title and interests including patent, copyright, and trademark rights
-    in SOFTWARE are and shall remain vested in DIGITAL to the exclusion
-    of LICENSEE.  DIGITAL represents and warrants that DIGITAL has the
-    legal right to grant such licenses as are expressly granted under
-    this Agreement.
-
- 3. Copyright.  The SOFTWARE is owned by DIGITAL or its suppliers and is
-    protected by United States copyright laws and international treaty
-    provisions.  Therefore, you must treat the SOFTWARE like any other
-    copyrighted material (e.g., a book or musical recording) except
-    that you may use the SOFTWARE as provided in this Digital License
-    Agreement.
-
- 4. Improvements.  LICENSEE hereby grants to DIGITAL a non-exclusive,
-    non-transferable, royalty free right to use, modify, reproduce
-    and distribute with the right to sublicense at any tier, any
-    improvements, enhancements, extensions, or modifications that
-    LICENSEE make to SOFTWARE, provided such are returned to DIGITAL
-    by LICENSEE.
-
- 5. DISCLAIMER OF WARRANTY.  Because the SOFTWARE is a research work and
-    not a released product, it is provided "AS IS" WITHOUT WARRANTY OF ANY
-    KIND AND WITHOUT ANY SUPPORT SERVICES.  EXCEPT AS SPECIFICALLY PROVIDED
-    ABOVE IN SECTION 2, DIGITAL FURTHER DISCLAIMS ALL OTHER EXPRESS OR
-    IMPLIED WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR
-    PURPOSE.  THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF
-    THE SOFTWARE REMAINS WITH YOU.
-
- 6. Limitation of Liability.  IN NO EVENT SHALL DIGITAL OR ITS SUPPLIERS BE
-    LIABLE IN AN AMOUNT THAT EXCEEDS THE LICENSE FEE PAID BY LICENSEE FOR
-    ANY DAMAGES (INCLUDING, WITH LIMITATION, DAMAGES FOR LOSS OF BUSINESS
-    PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER
-    PECUNIARY LOSS), REGARDLESS OF THE FORM OF CLAIM OR ACTIONS, ARISING
-    OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION,
-    EVEN IF DIGITAL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-    BECAUSE SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY
-    FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT
-    APPLY TO YOU.
-
- 7. Acknowledgement of Allocation of Risk.  LICENSEE acknowledges and agrees
-    that the fees charged by DIGITAL in this Agreement reflect the allocation
-    of risks provided by the foregoing limitation of liability.  LICENSEE
-    acknowledges and represents that it has read and understands these
-    allocations of risk limiting the liability of DIGITAL and that it
-    understands that a modification of the allocation of risks set forth
-    in this agreement would affect the fees charged by DIGITAL, and that
-    LICENSEE, in consideration of such fees, agrees to such allocations
-    of risk.
-
- 8. LICENSEE INDEMNIFICATION.  LICENSEE SHALL INDEMNIFY DIGITAL AGAINST
-    ALL COSTS AND DAMAGE JUDGEMENTS, INCLUDING ATTORNEY'S FEES AND COSTS
-    OF DEFENSE, INCURRED BECAUSE OF CLAIMS OF DAMAGE ARISING FROM LICENSEE'S
-    POSSESSION OR USE OR INABILITY TO USE SOFTWARE.
-
- 9. GOVERNMENT RESTRICTED RIGHTS.  The SOFTWARE and documentation are provided
-    with RESTRICTED RIGHTS.  Use duplication, or disclosure by the Government
-    is subject restrictions as set forth in subparagraph (c)(1)(ii) of The
-    Rights in Technical Data and Computer Software clause in DFARS
-    252.227-7013, or subparagraphs (c)(i) and (2) of the Commercial Computer
-    Software -- Restricted Rights at 48 CFR 52.227-19, as applicable.
-    Manufacturer is Digital Equipment Corporation, 130 Lytton Avenue,
-    Palo Alto, CA 94301-1044.
-
-10. Severability.  If any provision of the Agreement is held illegal or
-    unenforceable by any court of competent jurisdiction, such provision
-    shall be deemed separable from the remaining provisions of this Agreement
-    and shall not affect or impair the validity or enforceability of the
-    remaining provisions of this Agreement.
-
-11. Governing Law.  This Agreement is governed by the laws of the
-    Commonwealth of Massachusetts.
-
-12. Publicity.  You my not use the name of DIGITAL in any advertisement,
-    press release or other publicity with reference to SRC Modula-3
-    without prior written consent of DIGITAL.
-
-13. Should you have any questions concerning this Agreement, or if you
-    desire to contact Digital for any reason, please do so via E-mail:
-    M3-REQUEST@SRC.DEC.COM.
FAILED

cm3 returned 0


=== performing tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/sequence ===
cm3 -build -override -DROOT=/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3 -DRUN -DTEST
--- building in SOLsun ---


--- tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/sequence/SOLsun---

program returned 34304

cm3 returned 0


=== performing tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/sortedtable ===
cm3 -build -override -DROOT=/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3 -DRUN -DTEST
--- building in SOLsun ---


--- tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/sortedtable/SOLsun---

program returned 34304

cm3 returned 0


=== performing tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/random ===
cm3 -build -override -DROOT=/home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3 -DRUN -DTEST
--- building in SOLsun ---


--- tests in /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/libm3/tests/random/SOLsun---

program returned 34304

cm3 returned 0
stderr:


***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***



***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***
  

Test Result Details for m3-libs/patternmatching

--- building in SOLsun ---

Enter a pattern followed by text...
 OK '$' '' (TRUE)
 OK 'a' 'a' (TRUE)
 OK '[^a]' 'b' (TRUE)
 OK '[]]' ']' (TRUE)
 OK '^[a]]*$' 'a]' (TRUE)
 OK '[a]' 'a' (TRUE)
 OK '^' '' (TRUE)
 OK '.' 'a' (TRUE)
 OK '[a-c]' 'a' (TRUE)
 OK '[a-c]' 'b' (TRUE)
 OK '[a-c]' 'c' (TRUE)
 OK 'a$' 'a' (TRUE)
 OK '^a' 'aa' (TRUE)
 OK 'a*' '' (TRUE)
 OK 'a*' 'a' (TRUE)
 OK 'a*' 'aa' (TRUE)
 OK 'a*b' 'aab' (TRUE)
 OK '[a]*' '' (TRUE)
 OK '[a]*' 'a' (TRUE)
 OK '[a]*' 'aa' (TRUE)
 OK '[^a]*' '' (TRUE)
 OK '[^a]*' 'b' (TRUE)
 OK '[^a]*' 'bb' (TRUE)
 OK '[ab]*' 'ab' (TRUE)
 OK '.*' 'abaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaba' (TRUE)
 OK '^abc[a-c]*cba$' 'abcaaaaaabbbbbbbbbccccccbacbacbacbacbacbacba' (TRUE)
 OK 'a*' '' (TRUE)
 OK 'a*' 'a' (TRUE)
 OK 'a*' 'aa' (TRUE)
 OK '[a]*' '' (TRUE)
 OK '[a]*' 'a' (TRUE)
 OK '[a]*' 'aa' (TRUE)
 OK '\(\)\1$' '' (TRUE)
 OK '\(x\)\1*' 'x' (TRUE)
 OK '\(x\)\1*' 'xxx' (TRUE)
 OK '[a-c]*b*' 'abababababababababababababababababababababababababababab' (TRUE)
 OK '\(x\)' 'x' (TRUE)
 OK '^\(x\)\1$' 'xx' (TRUE)
 OK '\(\)\1$' '' (TRUE)
 OK '\(x\)\1*' 'x' (TRUE)
 OK '\(x\)\1*' 'xxx' (TRUE)
 OK '^\([a-z]*\)\([A-Z]*\)\2\1$' 'abcdefgABCDEFGABCDEFGabcdefg' (TRUE)
 ** re_exec disagrees for '\([^A-Z]\)\1' 'cc' (unix says FALSE)
 OK 'abc' 'abc' (TRUE)
 OK 'abc' 'xbc' (FALSE)
 OK 'abc' 'axc' (FALSE)
 OK 'abc' 'abx' (FALSE)
 OK 'abc' 'xabcy' (TRUE)
 OK 'abc' 'ababc' (TRUE)
 OK 'ab*c' 'abc' (TRUE)
 OK 'ab*bc' 'abc' (TRUE)
 OK 'ab*bc' 'abbc' (TRUE)
 OK 'ab*bc' 'abbbbc' (TRUE)
 OK '^abc$' 'abc' (TRUE)
 OK '^abc$' 'abcc' (FALSE)
 OK '^abc' 'abcc' (TRUE)
 OK '^abc$' 'aabc' (FALSE)
 OK 'abc$' 'aabc' (TRUE)
 OK '^' 'abc' (TRUE)
 OK 'a.c' 'abc' (TRUE)
 OK 'a.c' 'axc' (TRUE)
 OK 'a.*c' 'axyzc' (TRUE)
 OK 'a.*c' 'axyzd' (FALSE)
 OK 'a[bc]d' 'abc' (FALSE)
 OK 'a[bc]d' 'abd' (TRUE)
 OK 'a[b-d]e' 'abd' (FALSE)
 OK 'a[b-d]e' 'ace' (TRUE)
 OK 'a[b-d]' 'aac' (TRUE)
 OK 'a[-b]' 'a-' (TRUE)
 OK 'a[b-]' 'a-' (TRUE)
 OK '[k]' 'ab' (FALSE)
 OK 'a[b-a]' '' (FALSE)
 OK 'a[]b' '' (FALSE)
 OK 'a[' '' (FALSE)
 OK 'a]' 'a]' (TRUE)
 OK 'a[]]b' 'a]b' (TRUE)
 OK 'a[^bc]d' 'aed' (TRUE)
 OK 'a[^bc]d' 'abd' (FALSE)
 OK 'a[^-b]c' 'adc' (TRUE)
 OK 'a[^-b]c' 'a-c' (FALSE)
 OK 'a[^]b]c' 'a]c' (FALSE)
 OK 'a[^]b]c' 'adc' (TRUE)
 OK '()ef' 'def' (FALSE)
 OK '()*' '' (FALSE)
 OK '*a' '' (FALSE)
 OK '^*' '' (FALSE)
 OK '$*' '' (TRUE)
 OK '(*)b' '' (FALSE)
 OK '$b' 'b' (FALSE)
 ** Unexpected unix re_comp error for a\: trailing \ in pattern
 OK 'a\(b' 'a(b' (FALSE)
 OK 'a\(*b' 'ab' (FALSE)
 OK 'a\(*b' 'a((b' (FALSE)
 OK 'a\b' 'a' (TRUE)
 OK '((a))' 'abc' (FALSE)
 OK '(a)b(c)' 'abc' (FALSE)
 OK 'a**' '' (TRUE)
 OK '[^ab]*' 'cde' (TRUE)
 OK '' 'abc' (TRUE)
 OK 'abc' '' (FALSE)
 OK 'a*' '' (TRUE)
 OK 'abcd' 'abcd' (TRUE)
 OK 'a\(bc\)d' 'abcd' (TRUE)
 OK 'abcd*efg' 'abcdefg' (TRUE)
 OK 'ab*' 'xabyabbbz' (TRUE)
 OK 'ab*' 'xayabbbz' (TRUE)
 OK '[abhgefdc]ij' 'hij' (TRUE)
 OK 'a\([bc]*\)c*' 'abc' (TRUE)
 OK 'a\([bc]*\)\(c*d\)' 'abcd' (TRUE)
 OK 'a[bcd]*dcdcde' 'adcdcde' (TRUE)
 OK '\(\(a\)\(b\)c\)\(d\)' 'abcd' (TRUE)
 OK '[ -~]*' 'abc' (TRUE)
 OK '[a-zA-Z_][a-zA-Z0-9_]*' 'alpha' (TRUE)
 OK 'multiple words of text' 'uh-uh' (FALSE)
 OK 'multiple words' 'multiple words, yeah' (TRUE)
 OK '\(.*\)c\(.*\)' 'abcde' (TRUE)
 OK '(\(.*\), \(.*\))' '(a, b)' (TRUE)
 OK 'abcdefghijklmnopqrstuvwxyz' 'abcdefghijklmnopqrstuvwxyz' (TRUE)
 OK '^[a-z]*$' 'abcdefghijklmnopqrstuvwxyz' (TRUE)
 OK '^[a-l]*$' 'abcdefghijkl' (TRUE)
 OK '^[a-m]*$' 'abcdefghijklm' (TRUE)
 OK '^[a-n]*$' 'abcdefghijklmn' (TRUE)
 OK '^[a-o]*$' 'abcdefghijklmno' (TRUE)
 OK '^[a-p]*$' 'abcdefghijklmnop' (TRUE)
 OK '^[a-q]*$' 'abcdefghijklmnopq' (TRUE)
 OK '^[a-r]*$' 'abcdefghijklmnopqr' (TRUE)
 OK '^[a-s]*$' 'abcdefghijklmnopqrs' (TRUE)

program returned 0
Enter a pattern followed by text...
 ** re_exec disagrees for 'ab+bc' 'abbc' (unix says FALSE)
 OK 'ab+bc' 'abc' (FALSE)
 OK 'ab+bc' 'abq' (FALSE)
 ** re_exec disagrees for 'ab+bc' 'abbbbc' (unix says FALSE)
 ** re_exec disagrees for 'ab?bc' 'abbc' (unix says FALSE)
 ** Unexpected M3 result (FALSE) for ab?bc
 OK 'ab?bc' 'abc' (FALSE)
 OK 'ab?bc' 'abbbbc' (FALSE)
 ** re_exec disagrees for 'ab?c' 'abc' (unix says FALSE)
 OK '\(\(\(\(\(\(\(\(a\)\)\)\)\)\)\)\)' 'a' (TRUE)
 ** re_exec disagrees for 'abc\)' '' (unix says FALSE)
 ** re_exec disagrees for 'a\(abc' '' (unix says FALSE)
 OK '[ -~ -~]*' 'abc' (TRUE)
 OK '\(\(\(\(\(\(\(\(\(\(a\)\)\)\)\)\)\)\)\)\)' 'a' (TRUE)
 ** Unexpected M3 result (FALSE) for \(^\)*
 ** re_exec disagrees for '\(^\)*' '' (unix says TRUE)
 OK '$' '' (TRUE)
 ** Unexpected M3 result (FALSE) for \(a*\)*
 ** re_exec disagrees for '\(a*\)*' '' (unix says TRUE)
 ** Unexpected M3 result (FALSE) for \([abc]\)*d
 ** re_exec disagrees for '\([abc]\)*d' 'abbbcd' (unix says TRUE)
 ** Unexpected M3 result (FALSE) for \([abc]\)*bcd
 ** re_exec disagrees for '\([abc]\)*bcd' 'abcd' (unix says TRUE)
 OK '\)\(' '' (FALSE)
 ** Unexpected M3 result (FALSE) for $
 ** re_exec disagrees for '$' 'abc' (unix says TRUE)

program returned 0
  

Test Result Details for m3-sys/m3quake

--- building in SOLsun ---

unable to read ../src/m3overrides, options "-override" and "-x" ignored.
quake extension tests



------------------------------------------------------------------------------
string function tests
------------------------------------------------------------------------------


------ t001 ------------------------------------------------------------------
quake("a = \" 	 ha ha\" res = skipl( a )")
expected: "ha ha"
result:   "ha ha"
==> OK

------ t002 ------------------------------------------------------------------
quake("a = \"  ha\" res = skipl( a )")
expected: "ha"
result:   "ha"
==> OK

------ t003 ------------------------------------------------------------------
quake("a = \"  ha  \" res = skipr( a ) & \"x\"")
expected: "  hax"
result:   "  hax"
==> OK

------ t004 ------------------------------------------------------------------
quake("a = \"  ha  \" res = compress( a ) & \"x\"")
expected: "hax"
result:   "hax"
==> OK

------ t005 ------------------------------------------------------------------
quake("a = \"apple plum  orange\" b = split(a, \" \") res = b[0] & b[2]")
expected: "appleorange"
result:   "appleorange"
==> OK

------ t006 ------------------------------------------------------------------
quake("a = \"applepie\" res = sub(a, 5, 3)")
expected: "pie"
result:   "pie"
==> OK

------ t007 ------------------------------------------------------------------
quake("a = \"applepie\" res = sub(a, 7, 3)")
expected: "e"
result:   "e"
==> OK

------ t008 ------------------------------------------------------------------
quake("a = \"a


b



c
\" res = squeeze(a)")
expected: "a

b

c
"
result:   "a

b

c
"
==> OK

------ t009 ------------------------------------------------------------------
quake("a = \"applepie\" res = tcontains(a, \"pie\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ t010 ------------------------------------------------------------------
quake("a = \"applepie\" res = tcontains(a, \"pies\")")
expected: ""
result:   ""
==> OK

------ t011 ------------------------------------------------------------------
quake("a = \"applepie\" res = pos(a, \"pie\")")
expected: "5"
result:   "5"
==> OK

------ t012 ------------------------------------------------------------------
quake("a = \"applepie\" res = pos(a, \"pies\")")
expected: "-1"
result:   "-1"
==> OK

------ t013 ------------------------------------------------------------------
quake("a = \"applepie\" n = pos(a, \"pie\") res = sub(a, n, 1)")
expected: "p"
result:   "p"
==> OK

------ t014 ------------------------------------------------------------------
quake("res = bool(\"true\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ t015 ------------------------------------------------------------------
quake("res = bool(\"tRuE\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ t016 ------------------------------------------------------------------
quake("res = bool(\"TRUE\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ t017 ------------------------------------------------------------------
quake("res = bool(\"y\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ t018 ------------------------------------------------------------------
quake("res = bool(\"yes\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ t019 ------------------------------------------------------------------
quake("res = bool(\"Y\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ t020 ------------------------------------------------------------------
quake("res = bool(\"YES \")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ t021 ------------------------------------------------------------------
quake("res = bool(\"no\")")
expected: ""
result:   ""
==> OK

------ t022 ------------------------------------------------------------------
quake("res = bool(\"false\")")
expected: ""
result:   ""
==> OK

------ t023 ------------------------------------------------------------------
quake("res = bool(\"foo\")")
expected: ""
result:   ""
==> OK

------ t024 ------------------------------------------------------------------
quake("res = bool(\"0\")")
expected: ""
result:   ""
==> OK

------ t025 ------------------------------------------------------------------
quake("res = bool(\"1\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ t026 ------------------------------------------------------------------
quake("a = \"aabaacabbbaccbca\" res = subst_chars(a, \"b\", \"d\")")
expected: "aadaacadddaccdca"
result:   "aadaacadddaccdca"
==> OK

------ t027 ------------------------------------------------------------------
quake("a = \"aabaacabbbaccbca\" res = subst_chars(a, \"bc\", \"dd\")")
expected: "aadaadadddadddda"
result:   "aadaadadddadddda"
==> OK

------ t028 ------------------------------------------------------------------
quake("a = \"aabaacabbbaccbca\" res = del_chars(a, \"b\")")
expected: "aaaacaaccca"
result:   "aaaacaaccca"
==> OK

------ t029 ------------------------------------------------------------------
quake("a = \"aabaacabbbaccbca\" res = del_chars(a, \"bc\")")
expected: "aaaaaaa"
result:   "aaaaaaa"
==> OK

------ t030 ------------------------------------------------------------------
quake("a = \"aabaacabbbaaccbca\" res = subst(a, \"aa\", \" 42 \", 1)")
expected: " 42 baacabbbaaccbca"
result:   " 42 baacabbbaaccbca"
==> OK

------ t031 ------------------------------------------------------------------
quake("a = \"aabaacabbbaaccbca\" res = subst(a, \"aa\", \" 42 \", 2)")
expected: " 42 b 42 cabbbaaccbca"
result:   " 42 b 42 cabbbaaccbca"
==> OK

------ t032 ------------------------------------------------------------------
quake("a = \"aabaacabbbaaccbca\" res = subst(a, \"aa\", \" 42 \", 99)")
expected: " 42 b 42 cabbb 42 ccbca"
result:   " 42 b 42 cabbb 42 ccbca"
==> OK

------ t033 ------------------------------------------------------------------
quake("a = [ \"a\", \"b\", \"c\" ] res = add_prefix(a, \"pre-\")")
expected: "pre-a pre-b pre-c"
result:   "pre-a pre-b pre-c"
==> OK

------ t034 ------------------------------------------------------------------
quake("a = [ \"a\", \"b\", \"c\" ] res = add_suffix(a, \"-suf\")")
expected: "a-suf b-suf c-suf"
result:   "a-suf b-suf c-suf"
==> OK

------ t035 ------------------------------------------------------------------
quake("a = \"0123456789\"res = len( a )")
expected: "10"
result:   "10"
==> OK

------ t036 ------------------------------------------------------------------
quake("a = [ \"a\", \"b\", \"c\" ] res = len( a )")
expected: "3"
result:   "3"
==> OK

------ t037 ------------------------------------------------------------------
quake("a = { \"a\" : \"b\", \"c\" : \"d\" } res = len( a )")
expected: "2"
result:   "2"
==> OK


------------------------------------------------------------------------------
large string tests
------------------------------------------------------------------------------

16 32 64 128 256 512 1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1m OK

------ t100 ------------------------------------------------------------------
quake("a = subst_chars(b, \"bc\", \"xy\") res = subst_chars(b, \"xy\", \"bc\")")
expected: "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef012
result:   "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef012
==> OK

------ t101 ------------------------------------------------------------------
quake("res = sub(del_chars(b, \"0123456789cdef\"), 0, 10)")
expected: "ababababab"
result:   "ababababab"
==> OK

------ t102 ------------------------------------------------------------------
quake("res = len( b )")
expected: "1048576"
result:   "1048576"
==> OK


------------------------------------------------------------------------------
pathname tests
------------------------------------------------------------------------------


------ p001 ------------------------------------------------------------------
quake("res = pn_valid(a)")
expected: "TRUE"
result:   "TRUE"
==> OK

------ p002 ------------------------------------------------------------------
quake("res = pn_valid(d)")
expected: "TRUE"
result:   "TRUE"
==> OK

------ p003 ------------------------------------------------------------------
quake("res = pn_valid(e)")
expected: "TRUE"
result:   "TRUE"
==> OK

------ p004 ------------------------------------------------------------------
quake("res = pn_absolute(a)")
expected: "TRUE"
result:   "TRUE"
==> OK

------ p005 ------------------------------------------------------------------
quake("res = pn_absolute(d)")
expected: ""
result:   ""
==> OK

------ p006 ------------------------------------------------------------------
quake("res = pn_absolute(e)")
expected: ""
result:   ""
==> OK

------ p007 ------------------------------------------------------------------
quake("res = pn_decompose(a)")
expected: "/ a b c"
result:   "/ a b c"
==> OK

------ p008 ------------------------------------------------------------------
quake("res = pn_decompose(d)")
expected: " d e"
result:   " d e"
==> OK

------ p009 ------------------------------------------------------------------
quake("res = pn_decompose(e)")
expected: " e.ext"
result:   " e.ext"
==> OK

------ p010 ------------------------------------------------------------------
quake("res = pn_decompose(d)[0]")
expected: ""
result:   ""
==> OK

------ p011 ------------------------------------------------------------------
quake("res = pn_decompose(d)[1]")
expected: "d"
result:   "d"
==> OK

------ p012 ------------------------------------------------------------------
quake("res = pn_decompose(d)[2]")
expected: "e"
result:   "e"
==> OK

------ p013 ------------------------------------------------------------------
quake("res = pn_compose(pn_decompose(a))")
expected: "/a/b/c"
result:   "/a/b/c"
==> OK

------ p014 ------------------------------------------------------------------
quake("res = pn_compose(pn_decompose(d))")
expected: "d/e"
result:   "d/e"
==> OK

------ p015 ------------------------------------------------------------------
quake("res = pn_prefix(a)")
expected: "/a/b"
result:   "/a/b"
==> OK

------ p016 ------------------------------------------------------------------
quake("res = pn_prefix(pn_prefix(a))")
expected: "/a"
result:   "/a"
==> OK

------ p017 ------------------------------------------------------------------
quake("res = pn_prefix(e)")
expected: ""
result:   ""
==> OK

------ p018 ------------------------------------------------------------------
quake("res = pn_last(a)")
expected: "c"
result:   "c"
==> OK

------ p019 ------------------------------------------------------------------
quake("res = pn_last(a2)")
expected: "b"
result:   "b"
==> OK

------ p020 ------------------------------------------------------------------
quake("res = pn_last(d)")
expected: "e"
result:   "e"
==> OK

------ p021 ------------------------------------------------------------------
quake("res = pn_last(e)")
expected: "e.ext"
result:   "e.ext"
==> OK

------ p022 ------------------------------------------------------------------
quake("res = pn_base(a & \".txt\")")
expected: "/a/b/c"
result:   "/a/b/c"
==> OK

------ p023 ------------------------------------------------------------------
quake("res = pn_base(a & \".\")")
expected: "/a/b/c."
result:   "/a/b/c."
==> OK

------ p024 ------------------------------------------------------------------
quake("res = pn_base(a)")
expected: "/a/b/c"
result:   "/a/b/c"
==> OK

------ p025 ------------------------------------------------------------------
quake("res = pn_base(e)")
expected: "e"
result:   "e"
==> OK

------ p026 ------------------------------------------------------------------
quake("res = pn_lastbase(a & \".txt\")")
expected: "c"
result:   "c"
==> OK

------ p027 ------------------------------------------------------------------
quake("res = pn_lastbase(e)")
expected: "e"
result:   "e"
==> OK

------ p028 ------------------------------------------------------------------
quake("res = pn_lastext(a)")
expected: ""
result:   ""
==> OK

------ p029 ------------------------------------------------------------------
quake("res = pn_lastext(a & \".txt\")")
expected: "txt"
result:   "txt"
==> OK

------ p030 ------------------------------------------------------------------
quake("res = pn_lastext(e)")
expected: "ext"
result:   "ext"
==> OK

------ p031 ------------------------------------------------------------------
quake("res = pn_replace_ext(a & \".txt\", \"log\")")
expected: "/a/b/c.log"
result:   "/a/b/c.log"
==> OK

------ p032 ------------------------------------------------------------------
quake("res = pn_replace_ext(e, \"log\")")
expected: "e.log"
result:   "e.log"
==> OK

------ p033 ------------------------------------------------------------------
quake("res = pn_join(a, d)")
expected: "/a/b/c/d/e"
result:   "/a/b/c/d/e"
==> OK

------ p034 ------------------------------------------------------------------
quake("res = pn_join2(a, d, \"log\")")
expected: "/a/b/c/d/e.log"
result:   "/a/b/c/d/e.log"
==> OK

------ p035 ------------------------------------------------------------------
quake("res = pn_join(a, pn_parent())")
expected: "/a/b/c/.."
result:   "/a/b/c/.."
==> OK

------ p036 ------------------------------------------------------------------
quake("res = pn_join(pn_current(), d)")
expected: "./d/e"
result:   "./d/e"
==> OK


------------------------------------------------------------------------------
file system tests
------------------------------------------------------------------------------


------ f001 ------------------------------------------------------------------
quake("res = fs_exists(\".\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f002 ------------------------------------------------------------------
quake("res = fs_exists(\"..\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f003 ------------------------------------------------------------------
quake("res = fs_exists(\"..\" & SL & \"src\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f004 ------------------------------------------------------------------
quake("res = fs_isdir(\".\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f005 ------------------------------------------------------------------
quake("res = fs_isdir(\"..\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f006 ------------------------------------------------------------------
quake("res = fs_isdir(\"..\" & SL & \"src\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f007 ------------------------------------------------------------------
quake("res = fs_isfile(\".\")")
expected: ""
result:   ""
==> OK

------ f008 ------------------------------------------------------------------
quake("res = fs_isfile(\"..\")")
expected: ""
result:   ""
==> OK

------ f009 ------------------------------------------------------------------
quake("res = fs_isfile(\"..\" & SL & \"src\")")
expected: ""
result:   ""
==> OK

------ f010 ------------------------------------------------------------------
quake("res = fs_isfile(\"..\" & SL & \"src\" & SL & \"m3makefile\")")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f011 ------------------------------------------------------------------
quake("res = fs_isdir(\"..\" & SL & \"src\" & SL & \"m3makefile\")")
expected: ""
result:   ""
==> OK
findexe(more)

------ f012 ------------------------------------------------------------------
quake("res = fs_executable( more )")
expected: "TRUE"
result:   "TRUE"
==> OK
chmod -w onlyread

------ f013 ------------------------------------------------------------------
quake("res = fs_writable( onlyread )")
expected: ""
result:   ""
==> OK

------ f014 ------------------------------------------------------------------
quake("res = fs_writable(\"..\" & SL & \"src\" & SL & \"m3makefile\")")
expected: "TRUE"
result:   "TRUE"
==> OK
findexe(cm3)

------ f015 ------------------------------------------------------------------
quake("fs_putfile( orange, data ) res = fs_contents( orange )")
expected: "line1
line2line3
"
result:   "line1
line2line3
"
==> OK

--------------------------------------
dirs   = a/b
dirs_0 = a/b/c
dirs_1 = a/b/cc
dirs_2 = a/b/ccc
dirs_3 = a/bb
fn_a   = a/b/c/a
fn_b   = a/b/c/b
fn_c   = a/b/c/c

------ f016 ------------------------------------------------------------------
quake("fs_mkdir( dirs_0 ) res = fs_isdir( dirs_0 )")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f017 ------------------------------------------------------------------
quake("fs_mkdir( dirs_1 ) res = fs_isdir( dirs_1 )")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f018 ------------------------------------------------------------------
quake("fs_mkdir( dirs_2 ) res = fs_isdir( dirs_2 )")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f019 ------------------------------------------------------------------
quake("fs_mkdir( dirs_3 ) res = fs_isdir( dirs_3 )")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f020 ------------------------------------------------------------------
quake("res = fs_lsdirs( dirs, \"\" )")
expected: "a/b/c a/b/cc a/b/ccc"
result:   "a/b/c a/b/ccc a/b/cc"
==> FAILED

------ f021 ------------------------------------------------------------------
quake("res = fs_lsdirs( dirs, \"T\" )")
expected: "c cc ccc"
result:   "c ccc cc"
==> FAILED

------ f022 ------------------------------------------------------------------
quake("fs_touch( fn_a ) res = fs_isfile( fn_a )")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f023 ------------------------------------------------------------------
quake("fs_touch( fn_b ) res = fs_isfile( fn_b )")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f024 ------------------------------------------------------------------
quake("fs_touch( fn_c ) res = fs_isfile( fn_c )")
expected: "TRUE"
result:   "TRUE"
==> OK

------ f025 ------------------------------------------------------------------
quake("res = fs_lsfiles( dirs_0, \"\" )")
expected: "a/b/c/a a/b/c/b a/b/c/c"
result:   "a/b/c/c a/b/c/a a/b/c/b"
==> FAILED

------ f026 ------------------------------------------------------------------
quake("res = fs_lsfiles( dirs_0, \"T\" )")
expected: "a b c"
result:   "c a b"
==> FAILED

------ f027 ------------------------------------------------------------------
quake("res = fs_lsfiles( dirs, \"T\" )")
expected: ""
result:   ""
==> OK

------ f028 ------------------------------------------------------------------
quake("fs_rmfile(fn_b) res = fs_lsfiles( dirs_0, \"T\" )")
expected: "a c"
result:   "c a"
==> FAILED

------ f029 ------------------------------------------------------------------
quake("fs_rmfile(fn_b) res = fs_lsfiles( dirs_0, \"T\" )")
expected: "a c"
result:   "c a"
==> FAILED

------ f030 ------------------------------------------------------------------
quake("fs_rmdir(dirs_3) res = fs_lsdirs( \"a\", \"T\" )")
expected: "b"
result:   "b"
==> OK

------ f031 ------------------------------------------------------------------
quake("fs_rmdir(dirs_3) res = fs_lsdirs( \"a\", \"T\" )")
expected: "b"
result:   "b"
==> OK

------ f032 ------------------------------------------------------------------
quake("fs_rmrec(dirs) res = fs_lsdirs( \"a\", \"T\" )")
expected: ""
result:   ""
==> OK

------ f033 ------------------------------------------------------------------
quake("fs_touch(dirs) res = fs_lsfiles( \"a\", \"T\" )")
expected: "b"
result:   "b"
==> OK

------ f034 ------------------------------------------------------------------
quake("fs_cp( orange, apple )  res = fs_contents( apple )")
expected: "line1
line2line3
"
result:   "line1
line2line3
"
==> OK

------ f035 ------------------------------------------------------------------
quake("fs_cp( orange, apple2 )  res = fs_contents( apple2 )")
expected: "line1
line2line3
"
result:   "line1
line2line3
"
==> OK

------ f036 ------------------------------------------------------------------
quake("res = fs_lsfiles( \"a\", \"T\" )")
expected: "b apple"
or expected: "apple b"
result:   "apple b"
==> OK

------ f037 ------------------------------------------------------------------
quake("fs_rmfile(apple2) res = fs_lsfiles( \"a\", \"T\" )")
expected: "b"
result:   "b"
==> OK

------ f099 ------------------------------------------------------------------
quake("fs_rmrec(\"a\") res = fs_lsdirs( \".\", \"T\" )")
expected: ""
result:   ""
==> OK


------------------------------------------------------------------------------
exec tests
------------------------------------------------------------------------------


------ e001 ------------------------------------------------------------------
rc = 0
out = total 8
-rw-r--r--   1 hudson   other         17 Aug 20 20:24 apple
-rw-r--r--   1 hudson   other        189 Aug 20 20:23 m3make.args
-r--r--r--   1 hudson   other          0 Aug 20 20:24 onlyread
-rw-r--r--   1 hudson   other         17 Aug 20 20:24 orange
-rw-r--r--   1 hudson   other         39 Aug 20 10:41 x


------ e002 ------------------------------------------------------------------
quake(res = q_exec( "cm3 -version > cm3.version" )) --> OK

------ e003 ------------------------------------------------------------------
quake(res = q_exec( "rm cm3.version" )) --> OK

------ e004 ------------------------------------------------------------------
a
b
c
------ e005 ------------------------------------------------------------------
quake(res = q_exec( "echo a && echo b && echo c" )) --> a
b
c
OK

------ e006 ------------------------------------------------------------------
quake(res = q_exec( "echo a && false || echo c" )) --> a
c
OK

------ e007 ------------------------------------------------------------------
quake(res = q_exec( "echo a | cat -" )) --> a
OK

------ e008 ------------------------------------------------------------------
quake(res = q_exec( "echo abcdefgh | sed -e 's/d/4/g' | sed -e 's/h/8/g'" )) --> abc4efg8
OK

------ e009 ------------------------------------------------------------------
quake(res = q_exec( "true && echo abcdefgh | sed -e 's/d/4/g' | sed -e 's/h/8/g'" )) --> abc4efg8
OK

------ e010 ------------------------------------------------------------------
quake(res = q_exec( "echo abcdefgh | sed -e 's/d/4/g' ; echo abcdefgh | sed -e 's/h/8/g'" )) --> abc4efgh
abcdefg8
OK

------ e011 ------------------------------------------------------------------
quake(res = q_exec( "echo abcdefgh | sed -e 's/d/4/g' && echo abcdefgh | sed -e 's/h/8/g'" )) --> abc4efgh
abcdefg8
OK

------ e012 ------------------------------------------------------------------
quake(res = q_exec( "echo a&&echo b;echo c" )) --> a
b
c
OK

------ e013 ------------------------------------------------------------------
quake(res = q_exec( "false||echo b;echo c" )) --> b
c
OK

------ e014 ------------------------------------------------------------------
quake(res = q_exec( "false||false;echo c" )) --> c
OK

------ e016 ------------------------------------------------------------------
quake(res = q_exec( "echo 1 && echo 2 && echo 10 && echo 20" )) --> 1
2
10
20
OK

------ e017 ------------------------------------------------------------------
quake(res = q_exec( "echo 1 x 2 x 10 x 20" )) --> 1 x 2 x 10 x 20
OK

------ e018 ------------------------------------------------------------------
quake(res = q_exec( "echo 1>x && echo 2>>x" )) --> 
OK

------ e019 ------------------------------------------------------------------
quake(res = q_exec( "echo 11 22 33 1>x" ) x = fs_contents("x") if not equal(x, "11 22 33
") res = 99 end) --> OK

------ e020 ------------------------------------------------------------------
quake(res = q_exec( "echo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16>x" ) x = fs_contents("x") if not equal(x, "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
") res = 99 end) --> OK


------------------------------------------------------------------------------
directory stack tests
------------------------------------------------------------------------------


------ d001 ------------------------------------------------------------------
quake("pushd( \"..\" ) base = getwd() popd() res = tcontains( base, \"test\" )")
expected: "TRUE"
result:   "TRUE"
==> OK
base = /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-sys/m3quake/test
------ d002 ------------------------------------------------------------------
quake("pushd( src ) wd = getwd() res = subst( wd, base, \"\", 1 )")
expected: "src"
result:   "src"
==> OK

------ d003 ------------------------------------------------------------------
quake("cd( base ) wd = getwd() res = subst( base, wd, \"\", 1 )")
expected: "/"
result:   "/"
==> OK

------ d004 ------------------------------------------------------------------
quake("popd() wd = getwd() res = subst( wd, base, \"\", 1 )")
expected: "SOLsun"
result:   "SOLsun"
==> OK


------------------------------------------------------------------------------
miscellanoues tests
------------------------------------------------------------------------------

hostname  = ssol
date      = 2010-08-21
datetime  = 2010-08-21 03:24:13
datestamp = 2010-08-21-03-24-13

tests done


------------------------------------------------------------------------------
summary
------------------------------------------------------------------------------

129 tests succeeded:
t001 t002 t003 t004 t005 t006 t007 t008 t009 t010 t011 t012 t013 t014 t015 t016 t017 t018 t019 t020 t021 t022 t023 t024 t025 t026 t027 t028 t029 t030 t031 t032 t033 t034 t035 t036 t037 t100 t101 t102 p001 p002 p003 p004 p005 p006 p007 p008 p009 p010 p011 p012 p013 p014 p015 p016 p017 p018 p019 p020 p021 p022 p023 p024 p025 p026 p027 p028 p029 p030 p031 p032 p033 p034 p035 p036 f001 f002 f003 f004 f005 f006 f007 f008 f009 f010 f011 f012 f013 f014 f015 f016 f017 f018 f019 f022 f023 f024 f027 f030 f031 f032 f033 f034 f035 f036 f037 f099 e002 e003 e005 e006 e007 e008 e009 e010 e011 e012 e013 e014 e016 e017 e018 e019 e020 d001 d002 d003 d004

6 tests failed:
f020 f021 f025 f026 f028 f029
stderr:
3 rmrec => rmrec dir a/b
5 rmrec a/b
7 rmrec(a/b) => rmrec a/b/c
5 rmrec a/b/c
6 rmrec(a/b/c) => rm a/b/c/c
6 rmrec(a/b/c) => rm a/b/c/a
7 rmrec(a/b) => rmrec a/b/ccc
5 rmrec a/b/ccc
7 rmrec(a/b) => rmrec a/b/cc
5 rmrec a/b/cc
3 rmrec => rmrec dir a
5 rmrec a
6 rmrec(a) => rm a/b
  

Test Result Details for m3-sys/cm3

--- building in SOLsun ---


performing cm3 M3Path...
 => .
a => a
a/ => a
a// => a
a/. => a
a//. => a
abc => abc
abc/ => abc
abc// => abc
abc/. => abc
abc//. => abc
/ => /
/foo => /foo
/foo/bar => /foo/bar
c:\ => c:\
c:oo => c:oo
c:oo//bar => c:oo/bar
c:oo//bar\/// => c:oo/bar\
c:oo//\bar\/// => c:oo/\bar\
c:///oo//\bar\/// => c:/oo/\bar\
/cygdrive/c/foo => /cygdrive/c/foo
/cygdrive/1/foo => /cygdrive/1/foo
  

Test Result Details for m3-libs/arithmetic

--- building in SOLsun ---


program returned 2304
stderr:
ld.so.1: test: fatal: relocation error: file /home/hudson/work/cm3-inst/ssol-sun/current--all-pkgs/lib/libarithmetic.so.5: symbol Integer_I3: referenced symbol not found
  

Test Result Details for m3-libs/bitvector

--- building in SOLsun ---


program returned 34304
stderr:


***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***
  

Test Result Details for m3-libs/slisp

--- building in SOLsun ---

unable to read ../src/m3overrides, options "-override" and "-x" ignored.
  

Test Result Details for m3-comm/udp

--- building in SOLsun ---
  

Test Result Details for m3-libs/binIO

--- building in SOLsun ---

package "binIO" is already overridden to /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs, ignoring new override to /home/hudson/workspace/cm3-current-test-all-pkgs-SOLsun/cm3/m3-libs/binIO/test/../..


program returned 34304
stderr:


***
*** runtime error:
***    Two types were defined with the same brand.
***    file "../src/thread/PTHREAD/ThreadPThread.m3"
***
  

Test Result Details for m3-db/odbc

--- building in SOLsun ---
  

Test Result Details for m3-db/postgres95

--- building in SOLsun ---
  

Test Result Details for m3-db/db

--- building in SOLsun ---

database [test]: user [admin]: password [foobar]: 
program returned 134
stderr:


***
*** runtime error:
***    Segmentation violation - possible attempt to dereference NIL
***    pc = 0xff38255c = Connect + 0xb0 in ../src/DB.m3
***
  

Test Result Details for m3-db/stable

--- building in SOLsun ---

unable to read ../src/m3overrides, options "-override" and "-x" ignored.
Running test 0

program returned 0
  

Test Result Details for caltech-parser/drawcontext

--- building in SOLsun ---
  

Test Result Details for caltech-parser/parserlib/parserlib

--- building in SOLsun ---
  

m3-support{at}elego.de