CM3 Package Status for Target Platform SPARC32_LINUX

report generated at Wed Jul 14 08:50:51 PDT 2010 on slin

Package Status Errors Tests
m3-win/import-libs build OK
  
no tests
m3-sys/m3cc build OK
  
no tests
m3-libs/m3core build OK
  
no src/m3makefile
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 failed
"/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-s
ys/m3gdb/src/m3makefile", line 88: quake runtime error: exit 2: 
make  MAKE=make   CFLAGS="-g" MAKEINFO=:
"/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-s
ys/m3gdb/src/m3makefile", line 88: quake runtime error: exit 2: 
make  MAKE=make   CFLAGS="-g" MAKEINFO=:
"/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-s
ys/m3gdb/src/m3makefile", line 88: quake runtime error: exit 2: 
make  MAKE=make   CFLAGS="-g" MAKEINFO=:
Fatal Error: package build failed
Fatal Error: package build failed
  
not tried
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 SPARC32_LINUX
  
not supported on SPARC32_LINUX
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 SPARC32_LINUX
  
not supported on SPARC32_LINUX
m3-comm/serial not supported on SPARC32_LINUX
  
not supported on SPARC32_LINUX
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-test-all-pkgs-SPARC32_LINUX/cm3/m3-www/web build OK
  
no tests
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/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-test-all-pkgs-SPARC32_LINUX/cm3/m3-ui/bicycle build OK
  
no tests
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-games/badbricks build OK
  
no tests
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-games/columns build OK
  
no tests
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-games/fours build OK
  
no tests
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-games/maze build OK
  
no tests
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-games/solitaire build OK
  
no tests
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-games/tetris build OK
  
no tests

Package Test Result Details

Test Result Details for m3-libs/libm3

--- building in SPARC32_LINUX ---


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


--- tests in /home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/os/SPARC32_LINUX---
performing pathname-tests...
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/os/SPARC32_LINUX
pathname-tests OK
performing process-tests...
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/os/SPARC32_LINUX
a b c
process-tests OK
performing filesystem-tests...
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/os/SPARC32_LINUX
filesystem-tests differences:
--- ../src/filesystem-tests-output	2009-07-25 05:25:49.000000000 -0700
+++ ./filesystem-tests-output	2010-07-14 08:52:09.000000000 -0700
@@ -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))
+("_m3main.o" "filesystem-tests-output" "OSTest.mx" "OSTest.mo" "Subr.io" "TextSubrTbl.mo" "OSTest" "PathnameTests.io" "process-tests-output" "PathnameTests.mo" "pathname-tests-output" ".M3SHIP" ".M3WEB" "m3make.args" ".M3EXPORTS" "_m3main.mc" "TextSubrTbl.io")
+(("_m3main.o" RegularFile) ("filesystem-tests-output" RegularFile) ("OSTest.mx" RegularFile) ("OSTest.mo" RegularFile) ("Subr.io" RegularFile) ("TextSubrTbl.mo" RegularFile) ("OSTest" RegularFile) ("PathnameTests.io" RegularFile) ("process-tests-output" RegularFile) ("PathnameTests.mo" RegularFile) ("pathname-tests-output" RegularFile) (".M3SHIP" RegularFile) (".M3WEB" RegularFile) ("m3make.args" RegularFile) (".M3EXPORTS" RegularFile) ("_m3main.mc" RegularFile) ("TextSubrTbl.io" RegularFile))
 (file 3)
 
 (file 4)

cm3 returned 0


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

performing pqueue-change...
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/pqueue/fromtty/SPARC32_LINUX
change OK
performing pqueue-delete...
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/pqueue/fromtty/SPARC32_LINUX
delete OK
performing pqueue-dmin...
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/pqueue/fromtty/SPARC32_LINUX
dmin OK
performing pqueue-fromelts...
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/pqueue/fromtty/SPARC32_LINUX
fromelts OK
performing pqueue-heapgrow...
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/pqueue/fromtty/SPARC32_LINUX
heapgrow OK

cm3 returned 0


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


performing pqueue-heapsort1...
1 1 3 3 4 4 5 6 8 10 10 13 14 15 15 15 16 17 18 19 

program returned 0

cm3 returned 0


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


performing pqueue-heapsort2...
0 1 2 3 5 5 6 6 7 9 10 12 12 13 15 16 16 17 18 18 

program returned 0

cm3 returned 0


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


performing rw-autotest...

program returned 0

grep returned 1

cm3 returned 0


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


performing rw-copy...

program returned 0
rw-copy OK

program returned 0
rw-copy OK

cm3 returned 0


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


--- tests in /home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/m3-libs/libm3/tests/sequence/SPARC32_LINUX---
IntSeq.T test passed

program returned 0

cm3 returned 0


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


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

program returned 0

cm3 returned 0


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


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

program returned 0

cm3 returned 0
  

Test Result Details for m3-libs/patternmatching

--- building in SPARC32_LINUX ---

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)
 OK '\([^A-Z]\)\1' 'cc' (TRUE)
 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 backslash
 OK 'a\(b' 'a(b' (FALSE)
 OK 'a\(*b' 'ab' (FALSE)
 OK 'a\(*b' 'a((b' (FALSE)
 OK 'a\\b' 'a\b' (TRUE)
 OK '((a))' 'abc' (FALSE)
 OK '(a)b(c)' 'abc' (FALSE)
 ** Unexpected unix re_comp error for a**: Invalid preceding regular expression
 OK '[^ab]*' 'cde' (TRUE)
 ** Unexpected M3 result (FALSE) for 
 ** re_exec disagrees for '' 'abc' (unix says 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 SPARC32_LINUX ---

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



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


------ t001 ------------------------------------------------------------------
quake("a = \" \t 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\n\n\nb\n\n\n\nc\n\" res = squeeze(a)")
expected: "a\n\nb\n\nc\n"
result:   "a\n\nb\n\nc\n"
==> 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\nline2line3\n"
result:   "line1\nline2line3\n"
==> 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/cc a/b/ccc a/b/c"
==> FAILED

------ f021 ------------------------------------------------------------------
quake("res = fs_lsdirs( dirs, \"T\" )")
expected: "c cc ccc"
result:   "cc ccc c"
==> 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/b a/b/c/c a/b/c/a"
==> FAILED

------ f026 ------------------------------------------------------------------
quake("res = fs_lsfiles( dirs_0, \"T\" )")
expected: "a b c"
result:   "b c a"
==> 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\nline2line3\n"
result:   "line1\nline2line3\n"
==> OK

------ f035 ------------------------------------------------------------------
quake("fs_cp( orange, apple2 )  res = fs_contents( apple2 )")
expected: "line1\nline2line3\n"
result:   "line1\nline2line3\n"
==> 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 16
-rw-r--r-- 1 hudson hudson  17 2010-07-14 08:53 apple
-rw-r--r-- 1 hudson hudson 188 2010-07-14 08:53 m3make.args
-r--r--r-- 1 hudson hudson   0 2010-07-14 08:53 onlyread
-rw-r--r-- 1 hudson hudson  17 2010-07-14 08:53 orange
-rw-r--r-- 1 hudson hudson  39 2010-07-14 06:36 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-test-all-pkgs-SPARC32_LINUX/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: "SPARC32_LINUX"
result:   "SPARC32_LINUX"
==> OK


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

hostname  = slin
date      = 2010-07-14
datetime  = 2010-07-14 15:53:09
datestamp = 2010-07-14-15-53-09

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
  

Test Result Details for m3-sys/cm3

--- building in SPARC32_LINUX ---


performing cm3 M3Path...
Unix  => .
Win32  => .
Unix a => a
Win32 a => a
Unix a/ => a
Win32 a/ => a
Unix a// => a
Win32 a// => a
Unix a/. => a
Win32 a/. => a
Unix a//. => a
Win32 a//. => a
Unix abc => abc
Win32 abc => abc
Unix abc/ => abc
Win32 abc/ => abc
Unix abc// => abc
Win32 abc// => abc
Unix abc/. => abc
Win32 abc/. => abc
Unix abc//. => abc
Win32 abc//. => abc
Unix / => /
Win32 / => /
Unix /foo => /foo
Win32 /foo => /foo
Unix /foo/bar => /foo/bar
Win32 /foo/bar => /foo/bar
Unix c:\ => c:\
Win32 c:\ => c:
Unix c:\foo => c:\foo
Win32 c:\foo => c:\foo
Unix c:\foo//bar => c:\foo/bar
Win32 c:\foo//bar => c:\foo/bar
Unix c:\foo//bar\\/// => c:\foo/bar\\
Win32 c:\foo//bar\\/// => c:\foo/bar
Unix c:\foo//\\bar\\/// => c:\foo/\\bar\\
Win32 c:\foo//\\bar\\/// => c:\foo\bar
Unix c:///\foo//\\bar\\/// => c:/\foo/\\bar\\
Win32 c:///\foo//\\bar\\/// => c:\foo\bar
Unix /cygdrive/c/foo => /cygdrive/c/foo
Win32 /cygdrive/c/foo => /cygdrive/c/foo
Unix /cygdrive/1/foo => /cygdrive/1/foo
Win32 /cygdrive/1/foo => /cygdrive/1/foo
Unix \cygdrive\c\foo => \cygdrive\c\foo
Win32 \cygdrive\c\foo => \cygdrive\c\foo
Unix \cygdrive\1\foo => \cygdrive\1\foo
Win32 \cygdrive\1\foo => \cygdrive\1\foo
Unix /// => //
Win32 /// => //
Unix // => //
Win32 // => //
Unix \\ => \\
Win32 \\ => \\
Unix \\\ => \\\
Win32 \\\ => \\
Unix //foo//bar//// => //foo/bar
Win32 //foo//bar//// => //foo/bar
x in Letters1:TRUE
X in Letters1:TRUE
1 in Letters1:FALSE
x in Letters2:TRUE
X in Letters2:TRUE
1 in Letters2:FALSE

program returned 0
  

Test Result Details for m3-libs/arithmetic

--- building in SPARC32_LINUX ---



TestSLE.TestBacksub:begin
A=M4x4{
V4{0.849474166943447, 6.007512527121, 8.90719665798228, 9.66987746267574},
V4{           0, 5.14460848343308, 3.97610379798622, 2.62643259284852},
V4{           0,            0, 5.59829538386701, 5.81647464462857},
V4{           0,            0,            0, 8.75757268120887}
}
B=V4{166.740744639888, 83.5138163218407, 71.3232457389059, 25.9929325912686}
knownX=V4{9.94089463353199, 7.25485522254596, 9.65644751615191, 2.96805216895791}
foundX=V4{9.94089463353198, 7.25485522254596, 9.65644751615191, 2.96805216895791}

TestSLE.TestHouseholder:begin
A=M4x4{
V4{4.25624776743643, 8.98598192408028, 6.52345727926747, 9.00632751995527},
V4{9.60571576064719, 1.64548220035875, 8.57129351737504, 9.0593772103588},
V4{2.93732122958979, 9.35307352860601, 4.14229934086199, 3.08148274906514},
V4{5.1437801235373, 3.95034326919836, 7.88994747410526, 6.88452253496485}
}
HouseHolder(A)=M4x4{
V4{4.25624776743643, -13.4516559727034, -4.50376673985578, 1.78503169608586},
V4{-11.2852162247536, 13.2230142269445, 11.377816861096, -2.54724079656635},
V4{           0, 8.22348441192892, -1.36290678119615, 2.92046829433476},
V4{           0,            0, -2.85850150436502, 0.81219663043725}
}

TestSLE.TestTridiag:begin
A=M3x3{
V3{           1,            1,            0},
V3{         0.5,            2,            1},
V3{           0,          0.5,            3}
}
knownX=V3{           1,            2,            3}
r=     V3{           3,          7.5,           10}
foundX=V3{           1,            2,            3}

TestSLE.TestLU:begin
Factorize M4x4{
V4{           1,          2.3,         -0.3,          0.7},
V4{           0,         -1.2,         -0.5,          0.1},
V4{           0,            0,         -0.3,          0.7},
V4{           0,            0,            0,          0.4}
}

LU factors: sign =1
L = M4x4{
V4{           1,            0,            0,            0},
V4{           0,            1,            0,            0},
V4{           0,           -0,            1,            0},
V4{           0,           -0,           -0,            1}
}

U = M4x4{
V4{           1,          2.3,         -0.3,          0.7},
V4{           0,         -1.2,         -0.5,          0.1},
V4{           0,            0,         -0.3,          0.7},
V4{           0,            0,            0,          0.4}
}

det = 0.144
Inverse(A) =M4x4{
V4{           1, 1.91666666666667, -4.19444444444444, 5.11111111111111},
V4{          -0, -0.833333333333333, 1.38888888888889, -2.22222222222222},
V4{          -0,           -0, -3.33333333333333, 5.83333333333333},
V4{           0,            0,            0,          2.5}
}
Inverse(A)*A =M4x4{
V4{           1,            0,            0, 4.44089209850063e-16},
V4{           0,            1,            0, -2.22044604925031e-16},
V4{           0,            0,            1,            0},
V4{           0,            0,            0,            1}
}
knownX = V4{         0.7,          1.3,         -0.2,          0.3}
foundX = V4{         0.7,          1.3,         -0.2,          0.3}
Factorize M4x4{
V4{           1,            0,            0,            0},
V4{         2.3,         -1.2,            0,            0},
V4{        -0.3,         -0.5,         -0.3,            0},
V4{         0.7,          0.1,          0.7,          0.4}
}

LU factors: sign =1
L = M4x4{
V4{           1,            0,            0,            0},
V4{        -0.3,            1,            0,            0},
V4{         0.7,         -0.2,            1,            0},
V4{         2.3,          2.4,        1.125,            1}
}

U = M4x4{
V4{           1,            0,            0,            0},
V4{           0,         -0.5,         -0.3,            0},
V4{           0,            0,         0.64,          0.4},
V4{           0,            0,            0,        -0.45}
}

det = 0.144
Inverse(A) =M4x4{
V4{           1,            0,            0,            0},
V4{1.91666666666667, -0.833333333333333, -2.22044604925031e-16,           -0},
V4{-4.19444444444444, 1.38888888888889, -3.33333333333333,            0},
V4{5.11111111111111, -2.22222222222222, 5.83333333333333,          2.5}
}
Inverse(A)*A =M4x4{
V4{           1,            0,            0,            0},
V4{-3.77475828372553e-16,            1, 6.66133814775094e-17,            0},
V4{7.7715611723761e-16, 2.22044604925031e-16,            1,            0},
V4{-4.44089209850063e-16, -4.44089209850063e-16, 4.44089209850063e-16,            1}
}
knownX = V4{         0.7,          1.3,         -0.2,          0.3}
foundX = V4{         0.7,          1.3,         -0.2,          0.3}
Factorize M4x4{
V4{           1,          2.3,         -0.3,          0.7},
V4{         0.3,         -1.2,         -0.5,          0.1},
V4{           0,          2.3,         -0.3,          0.7},
V4{           0,            0,         -0.1,          0.4}
}

LU factors: sign =1
L = M4x4{
V4{           1,            0,            0,            0},
V4{         0.3,            1,            0,            0},
V4{           0, -1.21693121693122,            1,            0},
V4{           0,           -0, 0.125165562913907,            1}
}

U = M4x4{
V4{           1,          2.3,         -0.3,          0.7},
V4{           0,        -1.89,        -0.41,        -0.11},
V4{           0,            0, -0.798941798941799, 0.566137566137566},
V4{           0,            0,            0, 0.329139072847682}
}

det = 0.497
Inverse(A) =M4x4{
V4{           1, 2.77555756156289e-16,           -1, -4.44089209850063e-16},
V4{0.0301810865191147, -0.100603621730382, 0.352112676056338, -0.643863179074446},
V4{0.55533199195171, -1.85110663983903, -1.52112676056338, 2.15291750503018},
V4{0.138832997987928, -0.462776659959758, -0.380281690140845, 3.03822937625754}
}
Inverse(A)*A =M4x4{
V4{           1, -8.88178419700125e-16, -1.11022302462516e-17, -2.88657986402541e-16},
V4{-1.73472347597681e-17,            1, 5.55111512312578e-17, 5.55111512312578e-17},
V4{           0, -4.44089209850063e-16,            1, -2.22044604925031e-16},
V4{           0,            0, -5.55111512312578e-17,            1}
}
knownX = V4{         0.7,          1.3,         -0.2,          0.3}
foundX = V4{         0.7,          1.3,         -0.2,          0.3}
Factorize M4x4{
V4{           1,            0,            0,            0},
V4{           0,            0,            0,          0.1},
V4{           0,          0.8,            0,            0},
V4{           0,            0,         -0.1,            0}
}

LU factors: sign =1
L = M4x4{
V4{           1,            0,            0,            0},
V4{           0,            1,            0,            0},
V4{           0,            0,            1,            0},
V4{           0,            0,           -0,            1}
}

U = M4x4{
V4{           1,            0,            0,            0},
V4{           0,          0.8,            0,            0},
V4{           0,            0,         -0.1,            0},
V4{           0,            0,            0,          0.1}
}

det = -0.008
Inverse(A) =M4x4{
V4{           1,            0,            0,            0},
V4{           0,            0,         1.25,            0},
V4{          -0,           -0,           -0,          -10},
V4{           0,           10,            0,            0}
}
Inverse(A)*A =M4x4{
V4{           1,            0,            0,            0},
V4{           0,            1,            0,            0},
V4{           0,            0,            1,            0},
V4{           0,            0,            0,            1}
}
knownX = V4{         0.7,          1.3,         -0.2,          0.3}
foundX = V4{         0.7,          1.3,         -0.2,          0.3}

TestSLE.TestDeterminant:begin
Determinants 1 1 1
Determinants 1 1 1
Determinants -1 -1 -1
Determinants 46 46 46
Determinants -27 -27 -27
Determinants 16 16 16


TestFunctional.TestDeriv:begin
first:
   V5{0.862437679942209, 0.793962663878407, 0.643897495713419, 0.340975557822423, -1.00564767646732}
 ~ V5{0.862437679949313, 0.793962663869774, 0.643897495722356, 0.34097555783319, -1.00564767646083}
 (dif 1.07664432924537e-11)
second:
   M5x5{
V5{           0, 1.68294196961579, 1.81859485365136, 0.282240016119734, -1.51360499061586},
V5{1.68294196961579, 0.282240016119734, -1.91784854932628, 1.31397319743758, 0.824236970483513},
V5{1.81859485365136, -1.91784854932628, 1.97871649324676, -1.99998041310141, 1.98121471138974},
V5{0.282240016119734, 1.31397319743758, -1.99998041310141, 1.30057568031423, 0.299754419325905},
V5{-1.51360499061586, 0.824236970483513, 1.98121471138974, 0.299754419325905, -1.81115672401325}
}
 ~ M5x5{
V5{2.22044604925031e-6, 1.68294184144102, 1.8185947192606, 0.282239787097183, -1.51360507461007},
V5{1.68294184144102, 0.282238676874158, -1.91784810255058, 1.31397392966193, 0.824237067487132},
V5{1.8185947192606, -1.91784810255058, 1.97871941054473, -1.99998073657781, 1.98121408168106},
V5{0.282239787097183, 1.31397392966193, -1.99998073657781, 1.30057742353529, 0.299754110422157},
V5{-1.51360507461007, 0.824237067487132, 1.98121408168106, 0.299754110422157, -1.8111556698841}
}
 (dif 4.45164950790833e-6)

program returned 0
  

Test Result Details for m3-libs/bitvector

--- building in SPARC32_LINUX ---

*** Set/Reset Bit Test ***

Testing upward...
  Passed!

Testing downward...
  Passed!

*** Iterator Test ***
  Passed!

*** LeastUnset() Test ***

Testing upward...
  Passed!

Testing downward by squares...
  Passed!

*** LeastUnsetExcept() Test ***

Test 1...
  Passed!

Test 2...
  Passed!

*** Read/Write Interval Test ***

Testing intra-words...
  Passed!

Testing inter-words...
  Passed!

*** Set Interval Test ***

All intra-word intervals:
  Passed!

Inter-word intervals:
  Pased!

*** Copy Test ***
  Passed!

*** Cardinality Test ***
  Passed!

*** Bitwise Test 1 ***

Testing against empty vectors...
  Passed!

*** Bitwise Test 2 ***
  Passed!

All tests passed!

program returned 0
  

Test Result Details for m3-libs/slisp

--- building in SPARC32_LINUX ---

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

Test Result Details for m3-comm/udp

--- building in SPARC32_LINUX ---
  

Test Result Details for m3-libs/binIO

--- building in SPARC32_LINUX ---

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

120
120
TRUE
120

program returned 0
  

Test Result Details for m3-db/odbc

--- building in SPARC32_LINUX ---

allocating environment...
=> ok
available databases:
=> no data found

freeing environment...
=> ok
done.

program returned 0
  

Test Result Details for m3-db/postgres95

--- building in SPARC32_LINUX ---

syntax: Demo2 <dbname> <query>

program returned 1
  

Test Result Details for m3-db/db

--- building in SPARC32_LINUX ---

database [test]: user [admin]: password [foobar]: 
*** DB.Error ***
  state:  IM002
  native: 0
  desc:   [unixODBC][Driver Manager]Data source name not found, and no default driver specified
*****************

program returned 0
  

Test Result Details for m3-db/stable

--- building in SPARC32_LINUX ---

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 SPARC32_LINUX ---
  

Test Result Details for caltech-parser/parserlib/parserlib

--- building in SPARC32_LINUX ---

/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/ktok/SPARC32_LINUX/ktok ../src/Calc.t -o CalcTok.i3
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/ktok/SPARC32_LINUX/ktok ../src/Calc.t -o CalcTok.i3
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/klex/SPARC32_LINUX/klex ../src/Calc.l -o CalcLex.i3 -t ../src/Calc.t -ti3 CalcTok.i3
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/klex/SPARC32_LINUX/klex ../src/Calc.l -o CalcLex.i3 -t ../src/Calc.t -ti3 CalcTok.i3
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kyacc/SPARC32_LINUX/kyacc ../src/Calc.y -o CalcParse.i3 -t ../src/Calc.t -ti3 CalcTok.i3
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kyacc/SPARC32_LINUX/kyacc ../src/Calc.y -o CalcParse.i3 -t ../src/Calc.t -ti3 CalcTok.i3
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kext/SPARC32_LINUX/kext ../src/CalcTokStd.e
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kext/SPARC32_LINUX/kext ../src/CalcTokStd.e
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kext/SPARC32_LINUX/kext ../src/CalcLexStd.e
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kext/SPARC32_LINUX/kext ../src/CalcLexStd.e
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kext/SPARC32_LINUX/kext ../src/CalcParseStd.e
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kext/SPARC32_LINUX/kext ../src/CalcParseStd.e
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kext/SPARC32_LINUX/kext ../src/CalcParseTree.e
/home/hudson/workspace/cm3-test-all-pkgs-SPARC32_LINUX/cm3/caltech-parser/parserlib/kext/SPARC32_LINUX/kext ../src/CalcParseTree.e
new source -> compiling CalcTok.i3
new source -> compiling CalcTok.m3
"../SPARC32_LINUX/CalcTok.m3", line 36: warning: potentially unhandled exception: RTAllocator.OutOfMemory
1 warning encountered
new source -> compiling CalcLex.i3
new source -> compiling CalcLex.m3
new source -> compiling CalcParse.i3
new source -> compiling CalcParse.m3
new source -> compiling CalcTokStd.i3
new source -> compiling CalcTokStd.m3
new source -> compiling CalcLexStd.i3
new source -> compiling CalcLexStd.m3
new source -> compiling CalcParseStd.i3
new source -> compiling CalcParseStd.m3
new source -> compiling CalcParseTree.i3
new source -> compiling CalcParseTree.m3
new source -> compiling Main.m3
 -> linking test
  

m3-support{at}elego.de