$ od -c -N 50000 [eris]<LispCore>LIBRARY>DO-TEST!42 0000000 ( D E F I N E - F I L E - I N F 0000020 O 247 R E A D T A B L E " x c 0000040 l " 247 P A C K A G E ( D E F 0000060 P A C K A G E " X C L - T E S 0000100 T " ( 247 U S E " L I S P " ) 0000120 ) ) \r 006 001 ( i l : f i l e c r e 0000140 a t e d " 3 0 - O c t - 8 6 0000160 1 8 : 1 0 : 0 0 " 006 004 i l : { 0000200 e r i s } < l i s p c o r e > l 0000220 i b r a r y > d o - t e s t . \ 0000240 ; 4 2 006 001 1 2 7 4 3 \r \r 0000260 i l : | c h a n g e s 0000300 | i l : | t o : | ( i l : 0000320 v a r s i l : d o - t e s t c 0000340 o m s ) \r 0000360 0000400 ( i l : p r o p s ( i l : 0000420 d o - t e s t i l : m a k e f 0000440 i l e - e n v i r o n m e n t ) 0000460 ) \r 0000500 ( 0000520 i l : f u n c t i o n s d o - 0000540 t e s t - l i s t ) \r \r 0000560 i l : | p r e v i o u s | 0000600 i l : | d a t e : | " 2 8 - O 0000620 c t - 8 6 1 6 : 3 6 : 4 4 " 0000640 i l : { e r i s } < l i s p c o 0000660 r e > l i b r a r y > d o - t e 0000700 s t . \ ; 4 0 ) \r \r \r ; C o p 0000720 y r i g h t ( c ) 1 9 8 6 0000740 b y X e r o x C o r p o r a 0000760 t i o n . A l l r i g h t 0001000 s r e s e r v e d . \r \r ( i l 0001020 : p r e t t y c o m p r i n t 0001040 i l : d o - t e s t c o m s ) \r 0001060 \r ( i l : r p a q q 006 002 i l : 0001100 d o - t e s t c o m s 006 001 \r 0001120 ( ( i l : f u 0001140 n c t i o n s d o - t e s t 0001160 d o - t e s t - g r o u p t e 0001200 s t - d e f m a c r o t e s t 0001220 - d e f u n t e s t - s e t q 0001240 \r 0001260 w i t h o u t - b a t c 0001300 h - m o d e - e r r o r s e x 0001320 p e c t - e r r o r s d o - a 0001340 l l - t e s t s c u r r e n t 0001360 - f i l e - n a m e c l - r e 0001400 a d f i l e \r 0001420 d o - t e s 0001440 t - f i l e d o - t e s t - l 0001460 i s t ) \r 0001500 ( i l : v a r i a b l e s * a 0001520 n y - e r r o r s * * t e s t 0001540 - c l e a n u p - f o r m s * 0001560 * t e s t - c o m p i l e * * 0001600 t e s t - m o d e * \r 0001620 * t 0001640 e s t - b a t c h - r e s u l t 0001660 s * * t e s t - f i l e - p a 0001700 t t e r n * * t e s t - f i l 0001720 e - n a m e * ) \r 0001740 ( i l : p ( i l : d e 0001760 f p a c k a g e " X C L - T E 0002000 S T " \r 0002020 ( : e x 0002040 p o r t d o - t e s t d o - 0002060 t e s t - g r o u p e x p e c 0002100 t - e r r o r s t e s t - d e 0002120 f u n t e s t - d e f m a c r 0002140 o \r 0002160 0002200 t e s t - s e t q d o - a 0002220 l l - t e s t s c l - r e a d 0002240 f i l e d o - t e s t - f i l 0002260 e * t e s t - m o d e * \r 0002300 0002320 * t 0002340 e s t - b a t c h - r e s u l t 0002360 s * * t e s t - c o m p i l e 0002400 * * t e s t - f i l e - p a t 0002420 t e r n * ) ) ) \r 0002440 ( i l : p r o p ( i l 0002460 : m a k e f i l e - e n v i r o 0002500 n m e n t i l : f i l e t y p 0002520 e ) \r 0002540 i l : d o - t e s t ) 0002560 ) ) \r ( d e f m a c r o 006 002 d 0002600 o - t e s t 006 001 ( i l : n a m 0002620 e - a n d - o p t i o n s & b 0002640 o d y i l : b o d y ) \r 0002660 ( l e t ( ( i l : n a m e n 0002700 i l ) \r ( i l 0002720 : o p t i o n s n i l ) ) \r 0002740 ( c o n d \r 0002760 ( ( c o n s p 0003000 i l : n a m e - a n d - o p t i 0003020 o n s ) \r 0003040 ( s e t q i l : n a m e ( 0003060 c a r i l : n a m e - a n d - 0003100 o p t i o n s ) ) \r 0003120 ( s e t q i l : o 0003140 p t i o n s ( c d r i l : n 0003160 a m e - a n d - o p t i o n s ) 0003200 ) ) \r ( t 0003220 ( s e t q i l : n a m e i 0003240 l : n a m e - a n d - o p t i o 0003260 n s ) ) ) \r ( i 0003300 f ( e q * t e s t - m o d e 0003320 * : i n t e r a c t i v e ) \r 0003340 ( f o r 0003360 m a t * e r r o r - o u t p u 0003400 t * " T e s t i n g . . . ~ 0003420 S ~ % " i l : n a m e ) ) \r 0003440 ` ( n o t ( w h 0003460 e n ( n u l l ( w i t h o u 0003500 t - b a t c h - m o d e - e r r 0003520 o r s , @ i l : b o d y ) ) \r 0003540 0003560 ( f o r m a t * e r r 0003600 o r - o u t p u t * " T e s t 0003620 \ " ~ A \ " f a i l e d i 0003640 n f i l e \ " ~ A \ " ~ % " 0003660 ' , i l : n a m e ( \r 0003700 * 0004020 c u r r e n t - f i l e - n a 0004040 m e \r 0004060 * 0004160 ) 0004200 ) \r 0004220 ( i l : s e t q * 0004240 a n y - e r r o r s * t ) ) ) 0004260 ) ) \r \r ( d e f m a c r o 006 002 0004300 d o - t e s t - g r o u p 006 001 0004320 ( i l : n a m e - a n d - o p t 0004340 i o n s & b o d y i l : b o 0004360 d y ) \r ( l e t ( ( i l 0004400 : n a m e n i l ) \r 0004420 ( i l : o p t i o n s 0004440 n i l ) ) \r ( c 0004460 o n d \r ( 0004500 ( c o n s p i l : n a m e - a 0004520 n d - o p t i o n s ) \r 0004540 ( s e t q i l 0004560 : n a m e ( c a r i l : n a 0004600 m e - a n d - o p t i o n s ) ) 0004620 \r ( s e 0004640 t q i l : o p t i o n s ( c 0004660 d r i l : n a m e - a n d - o 0004700 p t i o n s ) ) ) \r 0004720 ( t ( s e t q i l 0004740 : n a m e i l : n a m e - a n 0004760 d - o p t i o n s ) ) ) 0005000 006 003 ( i l : * \r 0005020 006 001 0005040 0005060 006 003 " H a c k : f i n d 0005100 : B E F O R E a n d : A F T 0005120 E R c l a u s e s i n t h 0005140 e b o d y a n d m o v e 0005160 t h e m o u t " ) 006 001 \r 0005200 ( l o o p ( i f ( 0005220 a n d ( s y m b o l p ( c a 0005240 r i l : b o d y ) ) \r 0005260 0005300 ( o r ( e q ( c a r 0005320 i l : b o d y ) \r 0005340 0005360 : b e f o r e ) 0005400 \r 0005420 ( e q 0005440 ( c a r i l : b o d y ) \r 0005460 0005500 : a f 0005520 t e r ) ) ) \r 0005540 ( p r o g n 0005560 ( i l : s e t q i l : o p t i 0005600 o n s ( i l : a p p e n d i 0005620 l : o p t i o n s ( l i s t 0005640 ( c a r i l : b o d y ) \r 0005660 * 0005760 ( c a d r i l : 0006000 b o d y ) ) ) ) \r 0006020 0006040 ( i l : s e t q i l : b o 0006060 d y ( c d d r i l : b o d y 0006100 ) ) ) \r 0006120 ( r e t u r n n i 0006140 l ) ) ) \r ` ( l 0006160 e t ( ( * t e s t - c l e a n 0006200 u p - f o r m s * n i l ) ) \r 0006220 ( b 0006240 l o c k , i l : n a m e , ( 0006260 i f ( e q * t e s t - m o d 0006300 e * : i n t e r a c t i v e ) 0006320 \r 0006340 0006360 ( f o r m a t * e r r 0006400 o r - o u t p u t * " T e s t 0006420 i n g . . . ~ S ~ % " i l : 0006440 n a m e ) ) \r 0006460 , ( l e 0006500 t ( ( i l : b e f o r e ( g 0006520 e t f i l : o p t i o n s : 0006540 b e f o r e ) ) ) \r 0006560 0006600 ( i f i l : b e f o 0006620 r e ` ( w h e n ( n u l l 0006640 ( w i t h o u t - b a t c h - m 0006660 o d e - e r r o r s , i l : b 0006700 e f o r e t ) ) \r 0006720 * 0006760 ( f o r m a 0007000 t * e r r o r - o u t p u t * 0007020 \r 0007040 * 0007100 " : B E F O R E f o 0007120 r m s f o r t e s t \ " ~ 0007140 A \ " i n f i l e ~ S f 0007160 a i l e d . " \r 0007200 * 0007240 ' 0007260 , i l : n a m e \r 0007300 * 0007360 ( c u r r e n t - f i l e - n a 0007400 m e ) ) \r 0007420 * 0007460 ( i l : s e t q * a 0007500 n y - e r r o r s * t ) \r 0007520 * 0007560 ( r 0007600 e t u r n - f r o m , i l : n 0007620 a m e ) ) ) ) \r 0007640 , @ ( 0007660 006 002 i l : | f o r | 006 001 i l : 0007700 b 006 002 i l : | i n | 006 001 i l 0007720 : b o d y \r 0007740 0007760 006 002 i l : | j o i n | 006 001 ( 006 0010000 002 i l : | i f | 006 001 ( a n d 0010020 ( c o n s p i l : b ) \r 0010040 * 0010100 ( 0010120 e q ( c a r i l : b ) \r 0010140 * 0010220 ' d o - t e s t ) ) \r 0010240 * 0010300 006 002 i l : | t h e 0010320 n | 006 001 ( l i s t i l : b ) 0010340 \r 0010360 0010400 006 002 i l : | e l s 0010420 e | 006 001 ( f o r m a t * e r 0010440 r o r - o u t p u t * \r 0010460 * 0010540 " N o n D O - T E S T 0010560 f o r m i n ~ S i n ~ 0010600 S ~ % ~ S ~ % " i l : n a m e 0010620 \r 0010640 * 0010700 ( c u r r e n t 0010720 - f i l e - n a m e ) \r 0010740 * 0011020 i l : b ) ) ) \r 0011040 0011060 , ( l e t ( ( i l : a f t e r 0011100 ( g e t f i l : o p t i o n 0011120 s : a f t e r ) ) ) \r 0011140 0011160 ( i f i l : a f 0011200 t e r ` ( w h e n ( n u l l 0011220 ( w i t h o u t - b a t c h - 0011240 m o d e - e r r o r s , i l : 0011260 a f t e r t ) ) \r 0011300 * 0011340 ( f o r m a t 0011360 * e r r o r - o u t p u t * 0011400 \r 0011420 * 0011460 " : A F T E R f o r 0011500 m s f o r t e s t \ " ~ A 0011520 \ " i n f i l e ~ S f a 0011540 i l e d . " \r 0011560 * 0011620 ' , i 0011640 l : n a m e \r 0011660 * 0011720 ( c u 0011740 r r e n t - f i l e - n a m e ) 0011760 ) \r 0012000 * 0012040 ( i l : s e t q * a n y - e 0012060 r r o r s * t ) ) ) ) ) \r 0012100 ( i l : 0012120 e v a l ( c o n s ' p r o g 0012140 n * t e s t - c l e a n u p - 0012160 f o r m s * ) ) \r 0012200 n i l ) ) ) \r \r ( 0012220 d e f m a c r o 006 002 t e s t - 0012240 d e f m a c r o 006 001 ( i l : n 0012260 a m e & r e s t i l : s t u 0012300 f f ) \r ( i f ( f b o u 0012320 n d p i l : n a m e ) \r 0012340 ( i f ( m a c r o - f 0012360 u n c t i o n i l : n a m e ) 0012400 \r ( p u s 0012420 h ` ( s e t f ( s y m b o l 0012440 - f u n c t i o n ( m a c r o 0012460 - f u n c t i o n ' , i l : n 0012500 a m e ) ) \r 0012520 ' , 0012540 ( s y m b o l - f u n c t i o n 0012560 ( m a c r o - f u n c t i o n 0012600 i l : n a m e ) ) ) * t e s 0012620 t - c l e a n u p - f o r m s * 0012640 ) \r ( e r 0012660 r o r " P l e a s e d o n ' 0012700 t r e d e f i n e ~ A i n 0012720 a t e s t f o r m " i l 0012740 : n a m e ) ) \r ( 0012760 p u s h ` ( r e m p r o p ' 0013000 , i l : n a m e ' i l : m a c 0013020 r o - f n ) * t e s t - c l e 0013040 a n u p - f o r m s * ) ) \r 0013060 ` ( d e f m a c r o ( 006 002 i 0013100 l : \ \ \ , 006 001 i l : n a m e 0013120 ) , @ i l : s t u f f ) \r ) 0013140 \r \r ( d e f m a c r o 006 002 t e 0013160 s t - d e f u n 006 001 ( i l : n 0013200 a m e & r e s t i l : s t u 0013220 f f ) \r ( i f ( f b o u 0013240 n d p i l : n a m e ) \r 0013260 ( i f ( o r ( m a c 0013300 r o - f u n c t i o n i l : n 0013320 a m e ) \r 0013340 ( s p e c i a l - f o r 0013360 m - p i l : n a m e ) ) \r 0013400 ( e r r o r 0013420 " P l e a s e d o n ' t r e 0013440 d e f i n e ~ A i n a t 0013460 e s t f o r m " i l : n a m 0013500 e ) \r ( p 0013520 u s h ` ( s e t f ( s y m b 0013540 o l - f u n c t i o n ' , i l 0013560 : n a m e ) \r 0013600 ' 0013620 , ( s y m b o l - f u n c t i o 0013640 n i l : n a m e ) ) * t e s 0013660 t - c l e a n u p - f o r m s * 0013700 ) ) \r ( p u s h 0013720 ` ( f m a k u n b o u n d ' , 0013740 i l : n a m e ) * t e s t - c 0013760 l e a n u p - f o r m s * ) ) \r 0014000 ` ( d e f u n ( 006 002 i l 0014020 : \ \ \ , 006 001 i l : n a m e ) 0014040 , @ i l : s t u f f ) \r ) \r 0014060 \r ( d e f m a c r o 006 002 t e s 0014100 t - s e t q 006 001 ( i l : x i 0014120 l : y & r e s t i l : s t u 0014140 f f ) ( i f ( b o u n d p 0014160 i l : x ) \r 0014200 * 0014240 ( p u s h ` 0014260 ( s e t q , i l : x ' , ( s 0014300 y m b o l - v a l u e i l : x 0014320 ) ) \r 0014340 * 0014400 * t e 0014420 s t - c l e a n u p - f o r m s 0014440 * ) \r 0014460 * 0014520 ( p u s h ` ( m a 0014540 k u n b o u n d ' , i l : x ) 0014560 * t e s t - c l e a n u p - f 0014600 o r m s * ) ) \r 0014620 * 0014660 ( i f i l : s t 0014700 u f f ` ( p r o g n ( s e t 0014720 q , i l : x , i l : y ) \r 0014740 * 0015040 ( t e s t - s e t q , @ 0015060 i l : s t u f f ) ) \r 0015100 * 0015140 ` ( 0015160 s e t q , i l : x , i l : y 0015200 ) ) ) \r \r ( d e f m a c r o 006 0015220 002 w i t h o u t - b a t c h - m 0015240 o d e - e r r o r s 006 001 ( & b 0015260 o d y i l : b o d y ) ( c o 0015300 n d \r 0015320 * 0015360 ( ( e q * 0015400 t e s t - m o d e * : i n t e 0015420 r a c t i v e ) \r 0015440 * 0015520 ` ( p r o g n , @ i l : b o 0015540 d y ) ) \r 0015560 * 0015620 ( t ` 0015640 ( i l : i g n o r e - e r r o r 0015660 s , @ i l : b o d y ) ) ) ) \r 0015700 \r ( d e f m a c r o 006 002 e x p 0015720 e c t - e r r o r s 006 001 ( i l 0015740 : e r r o r - t y p e s & r e 0015760 s t i l : f o r m s ) ` ( i 0016000 l : c o n d i t i o n - c a s e 0016020 ( p r o g n , @ i l : f o r 0016040 m s n i l ) \r 0016060 * 0016140 ( , i l : e r r 0016160 o r - t y p e s ( i l : c o n 0016200 d i t i o n ) \r 0016220 * 0016300 ( 0016320 v a l u e s t i l : c o n d 0016340 i t i o n ) ) ) ) \r \r ( d e f u 0016360 n 006 002 d o - a l l - t e s t s 0016400 006 001 ( & k e y ( i l : r e s 0016420 u l t s * t e s t - b a t c h 0016440 - r e s u l t s * ) \r 0016460 0016500 ( i l : p a t t e r n 0016520 * t e s t - f i l e - p a t t 0016540 e r n * ) \r 0016560 0016600 ( i l : s y s o u t - t y p e 0016620 n i l ) ) ( w i t h - o p e n 0016640 - f i l e ( * e r r o r - o u 0016660 t p u t * * t e s t - b a t c 0016700 h - r e s u l t s * \r 0016720 * 0017020 : d i r e c t i o n : o 0017040 u t p u t : i f - e x i s t s 0017060 \r 0017100 * 0017160 : n e w - v e 0017200 r s i o n ) \r 0017220 * 0017260 ( f 0017300 o r m a t * e r r o r - o u t 0017320 p u t * \r 0017340 * 0017420 " ; ; ; T e s t r e 0017440 s u l t s f o r s y s o u t 0017460 o f ~ A ~ % " \r 0017500 * 0017560 i l : m a k e 0017600 s y s d a t e ) \r 0017620 * 0017700 ( i f i l : s y s o u t - t y 0017720 p e ( i l : f o r m a t * e 0017740 r r o r - o u t p u t * \r 0017760 * 0020060 " ; ; ; S 0020100 y s o u t t y p e i s ~ A 0020120 ~ % " \r 0020140 * 0020240 i l : s y s o u t - 0020260 t y p e ) ) \r 0020300 * 0020340 ( f 0020360 o r m a t * e r r o r - o u t 0020400 p u t * \r 0020420 * 0020500 " ; ; ; T e s t s r 0020520 u n o n ~ A ~ 2 % " ( i l 0020540 : d a t e ) ) \r 0020560 * 0020620 ( 0020640 006 002 i l : f o r 006 001 i l : f n 0020660 006 002 i l : i n 006 001 ( i l : d 0020700 i r e c t o r y i l : p a t t 0020720 e r n ) \r 0020740 * 0021000 006 0021020 002 i l : d o 006 001 ( d o - t e s 0021040 t - f i l e i l : f n ) ) \r 0021060 * 0021140 ( f o r m a t * e 0021160 r r o r - o u t p u t * " ( E 0021200 N D - O F - T E S T S ) " ) ) ) 0021220 \r \r ( d e f u n 006 002 c u r r e 0021240 n t - f i l e - n a m e 006 001 n 0021260 i l * t e s t - f i l e - n a 0021300 m e * ) \r \r ( d e f u n 006 002 c 0021320 l - r e a d f i l e 006 001 ( i l 0021340 : t e s t - f i l e & o p t i 0021360 o n a l ( * r e a d t a b l e 0021400 * i l : c m l r d t b l ) \r 0021420 0021440 ( i l : e n d 0021460 t o k e n " S T O P " ) ) 006 0021500 003 006 001 0021520 006 003 ( i l : * i l : | P a v e 0021540 l | " 2 3 - S e p - 8 6 1 2 0021560 : 4 0 " ) 006 001 \r ( 006 002 i l 0021600 : | i f | 006 001 ( p r o b e - f 0021620 i l e i l : t e s t - f i l e 0021640 ) \r 006 002 i l : | t 0021660 h e n | 006 001 ( l e t ( i l : 0021700 f o r m s - l i s t i l : t e 0021720 m ( * p a c k a g e * ( f i 0021740 n d - p a c k a g e " X C L - 0021760 T E S T " ) ) ) \r 0022000 ( 0022020 w i t h - o p e n - s t r e a m 0022040 ( i l : t e s t - f i l e ( 0022060 i l : o p e n t e x t s t r e a 0022100 m ( i l : m k a t o m i l : 0022120 t e s t - f i l e ) ) ) \r 0022140 0022160 ( 006 002 i l : 0022200 | u n t i l | 006 001 ( o r ( n 0022220 u l l ( i l : i g n o r e - e 0022240 r r o r s ( s e t q i l : t 0022260 e m ( r e a d i l : t e s t 0022300 - f i l e ) \r 0022320 * 0022420 ) ) ) \r 0022440 * 0022500 ( a n d ( s y m b o l p 0022520 i l : t e m ) \r 0022540 * 0022600 ( s t r i 0022620 n g = i l : t e m i l : e n 0022640 d t o k e n ) ) ) \r 0022660 0022700 006 002 i l : | 0022720 d o | 006 001 ( p u s h i l : t 0022740 e m i l : f o r m s - l i s t 0022760 ) ) \r 0023000 0023020 ( n r e v e r s e i l : f o r 0023040 m s - l i s t ) ) ) \r 0023060 006 002 i l : | e l s e | 006 001 ( p 0023100 r o g n ( f o r m a t * e r 0023120 r o r - o u t p u t * " ~ % C 0023140 o u l d n ' t f i n d f i l 0023160 e ~ A ~ % " i l : t e s t - 0023200 f i l e ) \r 0023220 n i l ) 0023240 ) ) \r \r ( d e f u n 006 002 d o - 0023260 t e s t - f i l e 006 001 ( i l : 0023300 f i l e n a m e ) 006 003 006 001 0023320 0023340 006 003 ( i l : * 0023360 i l : | P a v e l | " 2 3 - 0023400 S e p - 8 6 1 2 : 1 9 " ) 006 001 0023420 \r ( l e t * ( ( * p a c 0023440 k a g e * ( f i n d - p a c k 0023460 a g e " u s e r " ) ) \r 0023500 ( i l : t e s t - 0023520 f o r m s ( c l - r e a d f i 0023540 l e i l : f i l e n a m e i 0023560 l : c m l r d t b l ) ) \r 0023600 ( * t e s t - f i 0023620 l e - n a m e * ( l e t ( ( 0023640 i l : p f ( p a t h n a m e 0023660 i l : f i l e n a m e ) ) ) \r 0023700 * 0023740 ( f o r m a t n i l " ~ A . 0023760 ~ A ; ~ A " ( p a t h n a m e 0024000 - n a m e i l : p f ) \r 0024020 * 0024060 ( p a t h n a m e - t 0024100 y p e i l : p f ) \r 0024120 * 0024160 ( p a t h n a m e - v e r 0024200 s i o n i l : p f ) ) ) ) \r 0024220 ( * a n y - e 0024240 r r o r s * n i l ) ) \r 0024260 ( d o - t e s t - l 0024300 i s t i l : t e s t - f o r m 0024320 s ) \r ( 006 002 i 0024340 l : | i f | 006 001 * a n y - e r 0024360 r o r s * \r 0024400 006 002 i l : | t h e n | 006 001 0024420 ( t e r p r i * e r r o r - 0024440 o u t p u t * ) ) ) ) \r \r ( d e 0024460 f u n 006 002 d o - t e s t - l i 0024500 s t 006 001 ( i l : t e s t - f o 0024520 r m s & o p t i o n a l i l 0024540 : o p t i o n s i l : n a m e 0024560 ) \r ( l e t ( ( i l : d 0024600 f n f l g n i l ) ) \r 0024620 ( 006 002 i l : | i f | 006 001 0024640 ( n u l l i l : t e s t - f 0024660 o r m s ) \r 0024700 006 002 i l : | t h e n | 006 001 0024720 ( f o r m a t * e r r o r - o 0024740 u t p u t * " ~ % ( T r o u b 0024760 l e r e a d i n g ~ A ) ~ % 0025000 " ( c u r r e n t - f i l e - 0025020 n a m e ) ) \r 0025040 ( s e t q * 0025060 a n y - e r r o r s * t ) \r 0025100 006 002 i l : | e 0025120 l s e | 006 001 ( 006 002 i l : | f o 0025140 r | 006 001 i l : f o r m 006 002 i 0025160 l : | i n | 006 001 i l : t e s t 0025200 - f o r m s \r 0025220 006 002 0025240 i l : | d o | 006 001 ( i f ( a 0025260 n d ( c o n s p i l : f o r 0025300 m ) \r 0025320 0025340 ( o r ( 0025360 e q ( c a r i l : f o r m ) 0025400 \r 0025420 * 0025460 ' d o - t e s t ) \r 0025500 * 0025540 ( e q ( c a r 0025560 i l : f o r m ) \r 0025600 * 0025640 ' d o - t e s 0025660 t - g r o u p ) ) ) \r 0025700 0025720 ( i 0025740 f * t e s t - c o m p i l e * 0025760 ( f u n c a l l ( c o m p i 0026000 l e r : : x c l - c o m p i l e 0026020 \r 0026040 * 0026120 n i l \r 0026140 * 0026220 ` ( l a m b d a n i 0026240 l , i l : f o r m ) ) ) \r 0026260 * 0026320 ( e v a l i l : f o 0026340 r m ) ) \r 0026360 0026400 ( f o r m a t 0026420 * e r r o r - o u t p u t * " 0026440 N o n D O - T E S T f o r m 0026460 a t t o p l e v e l i n 0026500 ~ S ~ % ~ S ~ % " \r 0026520 * 0026560 ( c u r r e n t - f i 0026600 l e - n a m e ) \r 0026620 * 0026660 i l : f o r m ) ) ) ) ) ) 0026700 \r \r ( d e f v a r 006 002 * a n y 0026720 - e r r o r s * 006 001 n i l ) \r 0026740 \r ( d e f v a r 006 002 * t e s t 0026760 - c l e a n u p - f o r m s * 006 0027000 001 n i l ) \r \r ( d e f v a r 0027020 006 002 * t e s t - c o m p i l e * 0027040 006 001 n i l ) \r \r ( d e f v a r 0027060 006 002 * t e s t - m o d e * 006 001 0027100 : b a t c h ) \r \r ( d e f v a 0027120 r 006 002 * t e s t - b a t c h - 0027140 r e s u l t s * 006 001 " { e r i 0027160 s } < l i s p c o r e > c m l > 0027200 t e s t > t e s t - r e s u l t 0027220 s " ) \r \r ( d e f v a r 006 002 0027240 * t e s t - f i l e - p a t t e 0027260 r n * 006 001 " { E R I S } < L I 0027300 S P C O R E > C M L > T E S T > 0027320 * . T E S T ; " ) \r \r ( d e f 0027340 v a r 006 002 * t e s t - f i l e 0027360 - n a m e * 006 001 " u n k n o w 0027400 n " ) \r \r ( i l : d e f p a c 0027420 k a g e " X C L - T E S T " 0027440 ( : e x p o r t d o - t e s t 0027460 d o - t e s t - g r o u p e 0027500 x p e c t - e r r o r s t e s 0027520 t - d e f u n t e s t - d e f 0027540 m a c r o \r 0027560 0027600 t e s t - s e t 0027620 q d o - a l l - t e s t s c 0027640 l - r e a d f i l e d o - t e 0027660 s t - f i l e * t e s t - m o 0027700 d e * \r 0027720 0027740 * t e s t - b a t c 0027760 h - r e s u l t s * * t e s t 0030000 - c o m p i l e * * t e s t - 0030020 f i l e - p a t t e r n * ) ) \r 0030040 \r ( i l : p u t p r o p s 006 002 0030060 i l : d o - t e s t i l : m a 0030100 k e f i l e - e n v i r o n m e 0030120 n t 006 001 ( : r e a d t a b l e 0030140 " x c l " : p a c k a g e 0030160 ( i l : d e f p a c k a g e \r 0030200 * 0030300 " X C L - 0030320 T E S T " \r 0030340 * 0030440 ( : u s e " L I S P " ) ) 0030460 ) ) \r \r ( i l : p u t p r o p s 0030500 006 002 i l : d o - t e s t i l 0030520 : f i l e t y p e 006 001 c o m p 0030540 i l e - f i l e ) \r ( i l : p u 0030560 t p r o p s i l : d o - t e s 0030600 t i l : c o p y r i g h t ( 0030620 " X e r o x C o r p o r a t i 0030640 o n " 1 9 8 6 ) ) \r ( i l : d 0030660 e c l a r e \ : i l : d o n t 0030700 c o p y \r ( i l : f i l e m 0030720 a p ( n i l ) ) ) \r i l : s t 0030740 o p \r 0030743