This is CRM114, version 20040815.BlameClockworkOrange Copyright 2001-2004 W.S.Yerazunis. This software is licensed under the GPL with ABSOLUTELY NO WARRANTY CRM114 testing brackets, escapes and #'s If you don't see any compiler error messages, that means the test passed. CRM114 testing backslash /-;-{-abcd-}-;-/ =/==\= This text started out on three lines but it should appear on just one. testing part-line comments CRM114 testing FAULT/TRAP... --- you should not see an error yet --- you should see this --><--and this, with nothing in between. --- the next thing you see SHOULD be an error "unable to read-open"--- Caught the error - fault text was /usr/bin/crm: *ERROR* For some reason, I was unable to read-open the file named zoob.zipulrlfjf Sorry, but this program is very sick and probably should be killed off. This happened at line 19 of file ./fataltraptest.crm --- and again, the next thing you see SHOULD be an error "unable to write-open"--- Caught the error - fault text was /usr/bin/crm: *ERROR* For some reason, I was unable to write-open the file named /No/Such/Directory/frotz.mumble Sorry, but this program is very sick and probably should be killed off. This happened at line 29 of file ./fataltraptest.crm start here ... the first middle bit... the really middle-middle bit ... the last middle bit... and the last bit CRM114 testing match functionality Testing exact match on foo... found exact match on 'foo' Testing exact match on foo... Testing absent match on foo... match says "no foo found". Testing absent match on foo... Testing nocase match on foo... found a nocase match on 'fOo' Testing nocase match on foo... Testing nocase absent match on foo... match says "no foo found". Testing nocase absent match on foo... Testing multiline match on foo... found an allowed multiline match on ' multiline: this is a multiline test of foo multiline-- should see both lines ZZZ' Testing multiline match on foo... Testing nomultiline match on foo... found a nomultiline match on 'nomultiline: this is a nomultiline test of foo' Testing nomultiline match on foo... Testing fromendchar match for foo then bar...... found the foo...then bar Testing fromendchar match for foo then bar...... found the foo... Testing fromnext match for f+oo+.. first 'foo'.. found one on 'ffoooo' Testing fromnext match for f+oo+.. first 'foo'.. Testing newend match for f+oo+.. first 'foo'.. found one on 'ffooo' Testing newend match for f+oo+.. first 'foo'.. Testing indirect goto ":twist:" and ":shout:".... got :twist:... got to TWIST. Testing indirect goto ":twist:" and ":shout:".... got :shout2:... got to SHOUT. Testing self-supplied-match ... found '123' ... found 'smith 123 anderson ZZZ' Testing self-supplied-match ... found '123' ... Testing indep start/end ... found 'foo bar 1 2 foo' ... found '1' ... found 'bar 1 2 foo bar'... found '2' Testing indep start/end ... found 'foo bar foo' ... Testing indep start/end ... found 'foo 1 foo' ... found '1' ... found 'bar 2 bar'... found '2' Testing indep start/end ... found 'foo 2 bar 1 bar foo' ... found '1' ... found 'bar 1 bar'... Testing box region control got 10-17 as this: correct (should be 'correct', no angles) Testing box region control, part 2 got 10-17 as this: rrec (should be 'rrec') Testing box region control, isolated var got 10-17 as this: rrec (should be 'rrec') Fromend match: esult (should be 'esult') ------------------END OF TESTING---------------------- searching for a foo...found a foo, searching for bar.ooo... no bar.ooo in front of the foo. searching for a foo...found a foo, searching for bar.ooo... no bar.ooo in front of the foo. CRM114 testing ALTERation and copying ----- Whole file ----- 01abcdefghijkl89---------------------- 1: abcde, 2: cdefg, 3: fghij z: cdefg ---altering the z copy ----- 1: abcde, 2: cdefg, 3: fghij z: CDEEEFG ----- Whole file ----- 01abcdefghijkl89 ---altering the original ----- 1: abCDEEE, 2: CDEEEFG, 3: FGhij z: CDEEEFG ----- Whole file ----- 01abCDEEEFGhijkl89 ---altering the original again----- 1: abCD, 2: CDFG, 3: FGhij z: CDEEEFG ----- Whole file ----- 01abCDFGhijkl89---------------------- ----- Rematched Whole file ----- 01abCDFGhijkl89 ---------------------- ------putting things back----- ----- Whole file ----- 01abcdefghijkl89 ---------------------- ---------------------- :q: = cdefg ISOLATEing :q: - this should copy :q: = cdefg ALTERing :q: to ZZZZZ :q: = ZZZZZ ----- Whole file ----- 01abcdefghijkl89 ---------------------- Checking initialization of isolation AAAAA --- CRM114 testing string rewrites ------------------------ abc frobnitz_singleline this should trigger def frobnitz_multiline zebra giraffe and so should this. testpattern mno ------------------------ abc single-line rewrite ran OK. def multi-line rewrite ran OK. mno CRM114 testing that start / length works in matches DEBUG: whitelist==<> DEBUG: matched==<> DEBUG: matched==<> DEBUG: matched==<> DEBUG: matched==<> DEBUG: matched==<> DEBUG: matched==<> DEBUG: matched==<> DEBUG: [TheEnd] CRM114 testing outcall and status codes ----- keeping a process around ---- preparing... did one... MINION PROC PID: 31476 from-pipe: 6 to-pipe: 5 did it again... MINION PROC PID: 31476 from-pipe: 6 to-pipe: 5 and done ...DEAD MINION, EXIT CODE: 0 CRM114: Testing union and intersection We start with this: ' a b c d e f g h i j k l m n o p q r s t u v w x y z ' intersection of abc and cde is t1: 'c' union of l thru s is t2: 'l m n o p q r s' intersection of abc and t2 is t3: '' union of zulu and t1 is t4: 'c d e f g h i j k l m n o p q r s t u v w x y z' CRM114: test syscall 'echo beep' CRM114 - syscall test - 'ls' -- ABOUT-NLS aclocal.m4 AUTHORS ChangeLog config.h config.h.in config.log config.status configure configure.ac COPYING doc INSTALL lib libtool LICENSE m4 Makefile Makefile.am Makefile.in NEWS po README src stamp-h1 tests THANKS TODO tre.pc tre.pc.in tre.spec tre.spec.in utils win32 CRM114: testing windowing on windows and variables test one- input by chars, delimited by 'A' Got: This is the test one result A test two- input by EOFs, delimited by 'A' Got: this is the test two result A test three- window an isolated var by chars, delimited by 'A' Got: this is the test three result A test four- isolated var, input by EOFs, delimited by 'A' Got: this is the test four result A and lastly- did the data window stay constant? this is the test two result A CRM114: testing windowing on windows from a variable Input stuff is : This is the test one result A this is the test two result A this is the test three result A this is the test four result A this is the test 5 result A this is the test six result A this is extra stuff and should trigger exit from the loop since it doesn't have the proper delimiter. testing delimited by 'A' Data Window: data window test text Windowed value = This is the test one result A Remaining stuff = this is the test two result A this is the test three result A this is the test four result A this is the test 5 result A this is the test six result A this is extra stuff and should trigger exit from the loop since it doesn't have the proper delimiter. Data Window: data window test text Windowed value = this is the test two result A Remaining stuff = this is the test three result A this is the test four result A this is the test 5 result A this is the test six result A this is extra stuff and should trigger exit from the loop since it doesn't have the proper delimiter. Data Window: data window test text Windowed value = this is the test three result A Remaining stuff = this is the test four result A this is the test 5 result A this is the test six result A this is extra stuff and should trigger exit from the loop since it doesn't have the proper delimiter. Data Window: data window test text Windowed value = this is the test four result A Remaining stuff = this is the test 5 result A this is the test six result A this is extra stuff and should trigger exit from the loop since it doesn't have the proper delimiter. Data Window: data window test text Windowed value = this is the test 5 result A Remaining stuff = this is the test six result A this is extra stuff and should trigger exit from the loop since it doesn't have the proper delimiter. Data Window: data window test text Windowed value = this is the test six result A Remaining stuff = this is extra stuff and should trigger exit from the loop since it doesn't have the proper delimiter. Bounced out of the WINDOW loop -- no further stuff End of window-from-variable testing Start of approximate match testing. Input string to match against: "molasses anaconda foo bar baz agentsmith mranderson " (foo) {1} ---> foo (fou){~} ---> foo (foo) {1} ---> foo (fou){~0} (foo) {1} ---> foo (fou){~1} ---> foo (foo) {1} ---> foo (fou){~2} ---> foo (fou){~3} ---> foo (fuu){~} ---> foo (fuu){~0} (fuu){~1} (fuu){~2} ---> foo (fuu){~3} ---> foo (fou){#} ---> foo (fou){#0} (fou){#1} ---> foo (fou){#2} ---> foo (fou){#3} ---> foo (fou){# ~1} ---> foo (fou){#0 ~1} (fou){#1 ~1} ---> foo (fou){#2 ~1} ---> foo (fou){#3 ~1} ---> foo (fuu){#} ---> foo (fuu){#0} (fuu){#1} (fuu){#2} ---> foo (fuu){#3} ---> foo (fuu){# ~1} (fuu){#0 ~1} (fuu){#1 ~1} (fuu){#2 ~1} (fuu){#3 ~1} (fuu){# ~2} ---> foo (fuu){#0 ~2} (fuu){#1 ~2} (fuu){#2 ~2} ---> foo (fuu){#3 ~2} ---> foo (fuu){# ~3} ---> foo (fuu){#0 ~3} (fuu){#1 ~3} (fuu){#2 ~3} ---> foo (fuu){#3 ~3} ---> foo (fuu){# ~} ---> foo (fuu){#0 ~} (fuu){#1 ~} (fuu){#2 ~} ---> foo (fuu){#3 ~} ---> foo (fou){#} ---> foo (fou){#0} (fou){+1 -1} ---> fo (fou){+2 -2} ---> fo (fou){+3 -3} ---> fo (fou){# ~1} ---> foo (fou){#0 ~1} (fou){+1 -1 ~1} ---> fo (fou){+2 -2 ~1} ---> fo (fou){+3 -3 ~1} ---> fo (fou){# ~2} ---> foo (fou){#0 ~2} (fou){+1 -1 ~2} ---> fo (fou){+2 -2 ~2} ---> fo (fou){+3 -3 ~2} ---> fo (fou){# ~3} ---> foo (fou){#0 ~3} (fou){+1 -1 ~3} ---> fo (fou){+2 -2 ~3} ---> fo (fou){+3 -3 ~3} ---> fo (fou){# ~} ---> foo (fou){#0 ~} (fou){+1 -1 ~} ---> fo (fou){+2 -2 ~} ---> fo (fou){+3 -3 ~} ---> fo (fuu){#} ---> foo (fuu){#0} (fuu){+1 -1} (fuu){+2 -2} ---> f (fuu){+3 -3} ---> f (fuu){# ~1} (fuu){#0 ~1} (fuu){+1 -1 ~1} (fuu){+2 -2 ~1} (fuu){+3 -3 ~1} (fuu){# ~2} ---> foo (fuu){#0 ~2} (fuu){+1 -1 ~2} (fuu){+2 -2 ~2} ---> f (fuu){+3 -3 ~2} ---> f (fuu){# ~3} ---> foo (fuu){#0 ~3} (fuu){+1 -1 ~3} (fuu){+2 -2 ~3} ---> f (fuu){+3 -3 ~3} ---> f (fuu){# ~} ---> foo (fuu){#0 ~} (fuu){+1 -1 ~} (fuu){+2 -2 ~} ---> f (fuu){+3 -3 ~} ---> f (anaconda){~} ---> anaconda (anaonda){ 1i + 1d < 1 } (anaonda){ 1i + 1d < 2 } ---> anaconda (ananda){ 1i + 1d < 1 } (ananda){ 1i + 1d < 2 } (ananda){ 1i + 1d < 3 } ---> anaconda (ana123conda){ 1i + 1d < 2 } (ana123conda){ 1i + 1d < 3 } (ana123conda){ 1i + 1d < 4 } ---> anaconda (ana123cona){ 1i + 1d < 4 } (ana123cona){ 1i + 1d < 5 } ---> anaconda (ana123coa){ 1i + 1d < 4 } (ana123coa){ 1i + 1d < 5 } ---> anaco (ana123coa){ 1i + 1d < 6 } ---> anaco (ana123ca){ 1i + 1d < 4 } (ana123a){ 1i + 1d < 4 } (ana123a){ 1i + 1d < 3 } (anukeonda){~} ---> anaconda (anaconda){ 1i + 1d < 1} ---> anaconda (anaconda){ 1i + 1d < 1, #1} ---> anaconda (anaconda){ 1i + 1d < 1 #1 ~10 } ---> anaconda (anaconda){ #1, ~1, 1i + 1d < 1 } ---> anaconda (anaconda){ #1 ~1 1i + 1d < 1 } ---> anaconda (anacnda){ #1 ~1 1i + 1d < 1 } (agentsmith){~} ---> agentsmith (annndersen){~} ---> anderson (anentemstn){~} ---> agentsmith (anacda){~} ---> anaconda (anacda){ #1 ~1 1i + 1d < 1 } (znacnda){ #1 ~1 1i + 1d < 1 } (znacnda){ #1 ~2 1i + 1d < 1 } (znacnda){ #1 ~3 1i + 1d < 1 } (znacnda){ #1 ~3 1i + 1d < 2 } ---> anaconda (anac){~1}(onda){~1} ---> anaconda (aac){~1}(onda){~1} ---> naconda (ac){~1}(onda){~1} ---> aconda (anac){~1}(oda){~1} ---> anaconda (aac){~1}(oa){~1} ---> nacon (ac){~1}(oa){~1} ---> acon (anac){~1}(onda){~1} ---> anaconda (anZac){~1}(onZda){~1} ---> anaconda (anZZac){~1}(onZda){~1} (anZac){~1}(onZZda){~1} end of approximate match testing. Algebraic math test string value of x is 12345, string value of pi is 3.14159 length of x is 5 , length of pi is 7 string rep of X is shorter than pi matheval of x + pi is 12348.14159 Algebraic matheval of (2*3)+(4*5) is 26 and adding 3.14159 to that is 29.14159 Testing RPN mode math string value of x is 12345, string value of pi is 3.14159 length of x is 5 , length of pi is 7 string rep of X is shorter than pi matheval of x + pi is 12348.14159 RPN matheval of (2*3)+(4*5) is 26 and adding 3.14159 to that is 29.14159 This test checks to see that EVAL properly detects blowups You should see an error message as the next thing, with a large string of Z's. We should get an error here, due to the (intentional!) loop /usr/bin/crm: *WARNING* The variable you're attempting to EVAL seems to eval infinitely, and hence I cannot compute it. I did try a lot, though. I got this far before I gave up: :*:a:ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ(...truncated) I'll try to keep working. This happened at line 15 of file ./eval_infiniteloop.crm Original: The quick brown fox jumped over the lazy dog's back delete file then append: alpha bravo charlie prior file, no append: The quick brown fox jumped over the lazy dog's back prior file, and append: The quick brown fox jumped over the lazy dog's back alpha bravo charlie Grab chars 10 thru 25: brown fox jumpe Grab chars 17 and length 12: ox jumped ov Now, change the fox to cat: uick brown cat jumped over the Final check- did it really get written? The quick brown cat jumped over the lazy dog's back alpha bravo charlie isolate :a: as 'hdgdgb aaa hdgdb', match b as /aaa/ a=hdgdgb aaa hdgdb - b=aaa alter :a: as 'x' a=x - b= re-isolate :a: as 'hdgdgb bbb hdgdb' a=hdgdgb bbb hdgdb - b= now match :b: to :a:'s 'bbb' section a=hdgdgb bbb hdgdb - b=bbb now alter :a: to 'x' again a=x - b= re-re-isolate :a: as 'hdgdgb ccc hdgdb' a=hdgdgb ccc hdgdb - b= now match :b: to :a:'s 'ccc' section a=hdgdgb ccc hdgdb - b=ccc now alter :a: to 'x' again a=x - b= Match-Isolate reclamation test. If this program doesn't error out, the test is passed. (we allocate about 80 megs, well past the window size, but in small (400K) chunks that alternately are allocated and become reclaimable) Size of isolation at start: 409736 Bytes used per pass: 409305 Passes done: 100 Total flux through isolation: 81861000 Final isolation size: 409751 Total growth (must be < 100) : 15 Default (SBPH Markovian) classifier type Q CLASSIFY fails; success probability: 0.0000 pR: -10.5638 Best match to file #1 (q_test.css) prob: 1.0000 pR: 10.5638 Total features in input file: 176 #0 (i_test.css): features: 137232, hits: 681, prob: 2.73e-11, pR: -10.56 #1 (q_test.css): features: 85856, hits: 4896, prob: 1.00e-00, pR: 10.56 type I CLASSIFY succeeds; success probability: 1.0000 pR: 10.6719 Best match to file #0 (i_test.css) prob: 1.0000 pR: 10.6719 Total features in input file: 160 #0 (i_test.css): features: 137232, hits: 4543, prob: 1.00e-00, pR: 10.67 #1 (q_test.css): features: 85856, hits: 342, prob: 2.13e-11, pR: -10.67 OSB Markovian classifier type Q CLASSIFY fails; success probability: 0.0023 pR: -2.6336 Best match to file #1 (q_test.css) prob: 0.9977 pR: 2.6336 Total features in input file: 44 #0 (i_test.css): features: 34308, hits: 211, prob: 2.32e-03, pR: -2.63 #1 (q_test.css): features: 21464, hits: 632, prob: 9.98e-01, pR: 2.63 type I CLASSIFY succeeds; success probability: 0.9988 pR: 2.9258 Best match to file #0 (i_test.css) prob: 0.9988 pR: 2.9258 Total features in input file: 40 #0 (i_test.css): features: 34308, hits: 601, prob: 9.99e-01, pR: 2.93 #1 (q_test.css): features: 21464, hits: 14, prob: 1.18e-03, pR: -2.93 OSB Winnow classifier type Q CLASSIFY fails; success probability: 0.4401 pR: -1.0456 Best match to file #1 (q_test.css) weight: 50.4736 pR: 0.5961 Total features in input file: 44 #0 (i_test.css): features: 48777.86, unseen: 7.00e+00, weight: 3.97e+01, pR: -0.45 #1 (q_test.css): features: 44499.86, unseen: 7.00e+00, weight: 5.05e+01, pR: 0.60 type I CLASSIFY succeeds; success probability: 0.5709 pR: 1.2404 Best match to file #0 (i_test.css) weight: 46.6909 pR: 0.6717 Total features in input file: 40 #0 (i_test.css): features: 48777.86, unseen: 1.00e+01, weight: 4.67e+01, pR: 0.67 #1 (q_test.css): features: 44499.86, unseen: 1.00e+01, weight: 3.51e+01, pR: -0.57 Bytewise Correlation classifier type Q CLASSIFY fails; success probability: 0.3875 pR: -0.1989 Best match to file #1 (QUICKREF.txt) prob: 0.6125 pR: 0.1989 Total features in input file: 41841 #0 (INTRO.txt): features: 51823, RMS hits: 316617, prob: 3.87e-01, pR: -0.20 #1 (QUICKREF.txt): features: 41841, RMS hits: 403929, prob: 6.13e-01, pR: 0.20 type I CLASSIFY succeeds; success probability: 0.5012 pR: 0.0020 Best match to file #0 (INTRO.txt) prob: 0.5012 pR: 0.0020 Total features in input file: 51823 #0 (INTRO.txt): features: 51823, RMS hits: 301836, prob: 5.01e-01, pR: 0.00 #1 (QUICKREF.txt): features: 41841, RMS hits: 242552, prob: 4.99e-01, pR: -0.00