$ od -c -N 50000 [eris]<LispCore>LIBRARY>DO-TEST!41 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 " I N T 0000060 E R L I S P " ) \r 006 001 ( f i l e 0000100 c r e a t e d " 3 0 - O c t - 0000120 8 6 1 8 : 0 7 : 2 7 " 006 004 { 0000140 e r i s } < l i s p c o r e > l 0000160 i b r a r y > d o - t e s t . \ 0000200 ; 4 1 006 001 1 3 9 8 7 \r \r 0000220 | c h a n g e s | | 0000240 t o : | ( f u n c t i o n s 0000260 x c l - t e s t : : d o - t e 0000300 s t - l i s t ) \r \r 0000320 | p r e v i o u s | | d a t e 0000340 : | " 2 8 - O c t - 8 6 1 6 0000360 : 3 6 : 4 4 " { e r i s } < l 0000400 i s p c o r e > l i b r a r y > 0000420 d o - t e s t . \ ; 4 0 ) \r \r \r 0000440 ; C o p y r i g h t ( c ) 0000460 1 9 8 6 b y X e r o x C o 0000500 r p o r a t i o n . A l l 0000520 r i g h t s r e s e r v e d . 0000540 \r \r ( p r e t t y c o m p r i n 0000560 t d o - t e s t c o m s ) \r \r 0000600 ( r p a q q 006 002 d o - t e s t 0000620 c o m s 006 001 \r ( 0000640 ( f u n c t i o n s x c l - t 0000660 e s t : d o - t e s t x c l - 0000700 t e s t : d o - t e s t - g r o 0000720 u p x c l - t e s t : t e s t 0000740 - d e f m a c r o x c l - t e 0000760 s t : t e s t - d e f u n \r 0001000 x c 0001020 l - t e s t : t e s t - s e t q 0001040 x c l - t e s t : : w i t h o 0001060 u t - b a t c h - m o d e - e r 0001100 r o r s x c l - t e s t : e x 0001120 p e c t - e r r o r s \r 0001140 x c l - 0001160 t e s t : d o - a l l - t e s t 0001200 s x c l - t e s t : : c u r r 0001220 e n t - f i l e - n a m e x c 0001240 l - t e s t : c l - r e a d f i 0001260 l e \r 0001300 x c l - t e s t : d o - t 0001320 e s t - f i l e x c l - t e s 0001340 t : : d o - t e s t - l i s t ) 0001360 \r ( v a r i a b 0001400 l e s x c l - t e s t : : * a 0001420 n y - e r r o r s * x c l - t 0001440 e s t : : * t e s t - c l e a n 0001460 u p - f o r m s * x c l - t e 0001500 s t : * t e s t - c o m p i l e 0001520 * \r 0001540 x c l - t e s t : * t e s t 0001560 - m o d e * x c l - t e s t : 0001600 * t e s t - b a t c h - r e s u 0001620 l t s * x c l - t e s t : * t 0001640 e s t - f i l e - p a t t e r n 0001660 * \r 0001700 x c l - t e s t : : * t e s 0001720 t - f i l e - n a m e * ) \r 0001740 ( p ( d e f p a c 0001760 k a g e " X C L - T E S T " \r 0002000 0002020 ( : e x p o r t x c l - t 0002040 e s t : d o - t e s t x c l - 0002060 t e s t : d o - t e s t - g r o 0002100 u p x c l - t e s t : e x p e 0002120 c t - e r r o r s \r 0002140 0002160 x c l - t e s t : t e s 0002200 t - d e f u n x c l - t e s t 0002220 : t e s t - d e f m a c r o x 0002240 c l - t e s t : t e s t - s e t 0002260 q \r 0002300 x c l - 0002320 t e s t : d o - a l l - t e s t 0002340 s x c l - t e s t : c l - r e 0002360 a d f i l e x c l - t e s t : 0002400 d o - t e s t - f i l e \r 0002420 0002440 x c l - t e s t : 0002460 * t e s t - m o d e * x c l - 0002500 t e s t : * t e s t - b a t c h 0002520 - r e s u l t s * x c l - t e 0002540 s t : * t e s t - c o m p i l e 0002560 * \r 0002600 x c l - 0002620 t e s t : * t e s t - f i l e - 0002640 p a t t e r n * ) ) ) \r 0002660 ( p r o p ( m a k e f 0002700 i l e - e n v i r o n m e n t 0002720 f i l e t y p e ) \r 0002740 x c l - t e s t 0002760 : d o - t e s t ) ) ) \r ( d e f 0003000 m a c r o 006 002 x c l - t e s t 0003020 : d o - t e s t 006 001 ( n a m e 0003040 - a n d - o p t i o n s & b o 0003060 d y b o d y ) \r ( l e t 0003100 ( ( n a m e n i l ) \r 0003120 ( o p t i o n s n 0003140 i l ) ) \r ( c o 0003160 n d \r ( ( 0003200 c l : c o n s p n a m e - a n 0003220 d - o p t i o n s ) \r 0003240 ( c l : s e t q 0003260 n a m e ( c a r n a m e - a 0003300 n d - o p t i o n s ) ) \r 0003320 ( c l : s e t 0003340 q o p t i o n s ( c d r n 0003360 a m e - a n d - o p t i o n s ) 0003400 ) ) \r ( t 0003420 ( c l : s e t q n a m e n 0003440 a m e - a n d - o p t i o n s ) 0003460 ) ) \r ( c l : i 0003500 f ( e q x c l - t e s t : * 0003520 t e s t - m o d e * : i n t e 0003540 r a c t i v e ) \r 0003560 ( c l : f o r m 0003600 a t * e r r o r - o u t p u t 0003620 * " T e s t i n g . . . ~ S 0003640 ~ % " n a m e ) ) \r 0003660 ` ( n o t ( c l : w h e 0003700 n ( n u l l ( x c l - t e s 0003720 t : : w i t h o u t - b a t c h 0003740 - m o d e - e r r o r s , @ b 0003760 o d y ) ) \r 0004000 ( c l : f 0004020 o r m a t * e r r o r - o u t 0004040 p u t * " T e s t \ " ~ A \ 0004060 " f a i l e d i n f i l e 0004100 \ " ~ A \ " ~ % " \r 0004120 0004140 ' , n a m e \r 0004160 0004200 ( x c l - t 0004220 e s t : : c u r r e n t - f i l 0004240 e - n a m e ) ) \r 0004260 ( s 0004300 e t q x c l - t e s t : : * a 0004320 n y - e r r o r s * t ) ) ) ) 0004340 ) \r \r ( d e f m a c r o 006 002 x 0004360 c l - t e s t : d o - t e s t - 0004400 g r o u p 006 001 ( n a m e - a n 0004420 d - o p t i o n s & b o d y 0004440 b o d y ) \r ( l e t ( ( 0004460 n a m e n i l ) \r 0004500 ( o p t i o n s n i l ) 0004520 ) \r ( c o n d \r 0004540 ( ( c l : 0004560 c o n s p n a m e - a n d - o 0004600 p t i o n s ) \r 0004620 ( c l : s e t q n a m 0004640 e ( c a r n a m e - a n d - 0004660 o p t i o n s ) ) \r 0004700 ( c l : s e t q o 0004720 p t i o n s ( c d r n a m e 0004740 - a n d - o p t i o n s ) ) ) \r 0004760 ( t ( c 0005000 l : s e t q n a m e n a m e 0005020 - a n d - o p t i o n s ) ) ) 0005040 006 003 ( 0005060 * \r 006 001 0005100 0005120 006 003 " H a c k : f i 0005140 n d : B E F O R E a n d : 0005160 A F T E R c l a u s e s i n 0005200 t h e b o d y a n d m o 0005220 v e t h e m o u t " ) 006 001 \r 0005240 ( c l : l o o p 0005260 ( c l : i f ( a n d ( c l 0005300 : s y m b o l p ( c a r b o 0005320 d y ) ) \r 0005340 0005360 ( o r ( e q ( c a r b 0005400 o d y ) \r 0005420 0005440 : b e f o r 0005460 e ) \r 0005500 0005520 ( e q ( c a r b o d 0005540 y ) \r 0005560 0005600 : a f t e r ) ) 0005620 ) \r 0005640 ( p r o g n 0005660 ( s e t q o p t i o n s ( 0005700 a p p e n d o p t i o n s ( 0005720 l i s t ( c a r b o d y ) \r 0005740 * 0006040 ( c a d r b o d y ) ) ) 0006060 ) \r 0006100 0006120 ( s e t q b o d y ( c d d 0006140 r b o d y ) ) ) \r 0006160 0006200 ( r e t u r n n i l ) ) ) 0006220 \r ` ( l e t ( 0006240 ( x c l - t e s t : : * t e s t 0006260 - c l e a n u p - f o r m s * 0006300 n i l ) ) \r 0006320 ( c l : b l o c k , n 0006340 a m e , ( c l : i f ( e q 0006360 x c l - t e s t : * t e s t - m 0006400 o d e * : i n t e r a c t i v 0006420 e ) \r 0006440 0006460 ( c l : f o r 0006500 m a t * e r r o r - o u t p u 0006520 t * " T e s t i n g . . . ~ 0006540 S ~ % " n a m e ) ) \r 0006560 0006600 , ( l e t ( ( b e f o r e 0006620 ( c l : g e t f o p t i o n s 0006640 : b e f o r e ) ) ) \r 0006660 0006700 ( c l : i f b e 0006720 f o r e ` ( c l : w h e n ( 0006740 n u l l ( x c l - t e s t : : 0006760 w i t h o u t - b a t c h - m o 0007000 d e - e r r o r s \r 0007020 * 0007100 , b e f o r e t ) ) \r 0007120 * 0007200 ( c l : f o r m a t * e r r 0007220 o r - o u t p u t * \r 0007240 * 0007300 " 0007320 : B E F O R E f o r m s f o 0007340 r t e s t \ " ~ A \ " i n 0007360 f i l e ~ S f a i l e d . 0007400 " \r 0007420 * 0007460 ' , n a m e 0007500 \r 0007520 * 0007560 ( x c l - t e 0007600 s t : : c u r r e n t - f i l e 0007620 - n a m e ) ) \r 0007640 * 0007700 ( s e t q x 0007720 c l - t e s t : : * a n y - e r 0007740 r o r s * t ) \r 0007760 * 0010020 ( c l : r e 0010040 t u r n - f r o m , n a m e ) 0010060 ) ) ) \r 0010100 , @ ( 006 002 | f 0010120 o r | 006 001 b 006 002 | i n | 006 001 0010140 b o d y 006 002 | j o i n | 006 001 0010160 ( 006 002 | i f | 006 001 ( a n d 0010200 ( c l : c o n s p b ) \r 0010220 * 0010300 ( e q ( c a 0010320 r b ) \r 0010340 * 0010420 ' x c l - t e s t : d 0010440 o - t e s t ) ) \r 0010460 * 0010520 006 002 0010540 | t h e n | 006 001 ( l i s t b 0010560 ) \r 0010600 * 0010640 006 002 | e l s e | 006 001 0010660 ( c l : f o r m a t * e r r o 0010700 r - o u t p u t * \r 0010720 * 0011000 " N o n 0011020 D O - T E S T f o r m i n 0011040 ~ S i n ~ S ~ % ~ S ~ % " 0011060 \r 0011100 * 0011160 n a m e ( x c l - t e s 0011200 t : : c u r r e n t - f i l e - 0011220 n a m e ) \r 0011240 * 0011320 b ) ) ) \r 0011340 0011360 , ( l e t ( ( a f t e r ( 0011400 c l : g e t f o p t i o n s 0011420 : a f t e r ) ) ) \r 0011440 0011460 ( c l : i f a f t e 0011500 r ` ( c l : w h e n ( n u l 0011520 l ( x c l - t e s t : : w i t 0011540 h o u t - b a t c h - m o d e - 0011560 e r r o r s \r 0011600 * 0011660 , a f t e r t ) ) \r 0011700 * 0011740 ( c l : f 0011760 o r m a t * e r r o r - o u t 0012000 p u t * \r 0012020 * 0012060 " : A F T E 0012100 R f o r m s f o r t e s t 0012120 \ " ~ A \ " i n f i l e 0012140 ~ S f a i l e d . " \r 0012160 * 0012240 ' , n a m e \r 0012260 * 0012340 ( x c l - t e s t : : c u r r 0012360 e n t - f i l e - n a m e ) ) \r 0012400 * 0012460 ( s e t q x c l - t e s t : : 0012500 * a n y - e r r o r s * t ) ) 0012520 ) ) ) \r 0012540 ( e v a l ( c o n s ' p 0012560 r o g n x c l - t e s t : : * 0012600 t e s t - c l e a n u p - f o r 0012620 m s * ) ) \r 0012640 n i l ) ) ) \r \r ( d e f 0012660 m a c r o 006 002 x c l - t e s t 0012700 : t e s t - d e f m a c r o 006 001 0012720 ( n a m e & r e s t s t u 0012740 f f ) \r ( c l : i f ( c 0012760 l : f b o u n d p n a m e ) \r 0013000 ( c l : i f 0013020 ( c l : m a c r o - f u n c t 0013040 i o n n a m e ) \r 0013060 ( c l : p 0013100 u s h ` ( c l : s e t f ( c 0013120 l : s y m b o l - f u n c t i o 0013140 n ( c l : m a c r o - f u n c 0013160 t i o n ' , n a m e ) ) \r 0013200 * 0013240 ' , ( c l : s y m b o l - f u n 0013260 c t i o n ( c l : m a c r o - 0013300 f u n c t i o n n a m e ) ) ) 0013320 \r 0013340 x c l - t e 0013360 s t : : * t e s t - c l e a n u 0013400 p - f o r m s * ) \r 0013420 ( c l : e 0013440 r r o r " P l e a s e d o n 0013460 ' t r e d e f i n e ~ A i 0013500 n a t e s t f o r m " n 0013520 a m e ) ) \r 0013540 ( c l : p u s h ` ( r e m p r 0013560 o p ' , n a m e ' m a c r o 0013600 - f n ) x c l - t e s t : : * 0013620 t e s t - c l e a n u p - f o r 0013640 m s * ) ) \r ` ( d e f m a 0013660 c r o ( 006 002 \ \ \ , 006 001 n a 0013700 m e ) , @ s t u f f ) \r ) \r 0013720 \r ( d e f m a c r o 006 002 x c l 0013740 - t e s t : t e s t - d e f u n 0013760 006 001 ( n a m e & r e s t s 0014000 t u f f ) \r ( c l : i f 0014020 ( c l : f b o u n d p n a m e 0014040 ) \r ( c l : 0014060 i f ( o r ( c l : m a c r o 0014100 - f u n c t i o n n a m e ) \r 0014120 0014140 ( c l : s p e c i a l 0014160 - f o r m - p n a m e ) ) \r 0014200 0014220 ( c l : e r r o r " P l e a s 0014240 e d o n ' t r e d e f i n e 0014260 ~ A i n a t e s t f o 0014300 r m " n a m e ) \r 0014320 ( c l : p 0014340 u s h ` ( c l : s e t f ( c 0014360 l : s y m b o l - f u n c t i o 0014400 n ' , n a m e ) \r 0014420 0014440 ' , ( c 0014460 l : s y m b o l - f u n c t i o 0014500 n n a m e ) ) x c l - t e s 0014520 t : : * t e s t - c l e a n u p 0014540 - f o r m s * ) ) \r 0014560 ( c l : p u s h ` ( c 0014600 l : f m a k u n b o u n d ' , 0014620 n a m e ) x c l - t e s t : : 0014640 * t e s t - c l e a n u p - f o 0014660 r m s * ) ) \r ` ( c l : d 0014700 e f u n ( 006 002 \ \ \ , 006 001 n 0014720 a m e ) , @ s t u f f ) \r ) 0014740 \r \r ( d e f m a c r o 006 002 x c 0014760 l - t e s t : t e s t - s e t q 0015000 006 001 ( x y & r e s t s t 0015020 u f f ) ( c l : i f ( b o u 0015040 n d p x ) \r 0015060 * 0015120 ( c l 0015140 : p u s h \r 0015160 * 0015220 ` ( c 0015240 l : s e t q , x ' , ( c l : 0015260 s y m b o l - v a l u e x ) ) 0015300 \r 0015320 * 0015360 x c l - t e s 0015400 t : : * t e s t - c l e a n u p 0015420 - f o r m s * ) \r 0015440 * 0015500 ( 0015520 c l : p u s h ` ( c l : m a k 0015540 u n b o u n d ' , x ) \r 0015560 * 0015640 x c l - t 0015660 e s t : : * t e s t - c l e a n 0015700 u p - f o r m s * ) ) \r 0015720 * 0015760 ( c l : i 0016000 f s t u f f ` ( p r o g n 0016020 ( c l : s e t q , x , y ) \r 0016040 * 0016140 ( x c l - t e s t : t e 0016160 s t - s e t q , @ s t u f f ) 0016200 ) \r 0016220 * 0016260 ` ( c l : s e t 0016300 q , x , y ) ) ) \r \r ( d e f 0016320 m a c r o 006 002 x c l - t e s t 0016340 : : w i t h o u t - b a t c h - 0016360 m o d e - e r r o r s 006 001 ( & 0016400 b o d y b o d y ) ( c o n d 0016420 \r 0016440 * 0016500 ( 0016520 ( e q x c l - t e s t : * t e 0016540 s t - m o d e * : i n t e r a 0016560 c t i v e ) \r 0016600 * 0016660 ` ( p r o g n , @ 0016700 b o d y ) ) \r 0016720 * 0017000 ( t ` ( i g n o r e 0017020 - e r r o r s , @ b o d y ) ) 0017040 ) ) \r \r ( d e f m a c r o 006 002 0017060 x c l - t e s t : e x p e c t - 0017100 e r r o r s 006 001 ( e r r o r - 0017120 t y p e s & r e s t f o r m 0017140 s ) ` ( c o n d i t i o n - c 0017160 a s e ( p r o g n , @ f o r 0017200 m s n i l ) \r 0017220 * 0017300 ( , e r r 0017320 o r - t y p e s ( c o n d i t 0017340 i o n ) \r 0017360 * 0017440 ( 0017460 c l : v a l u e s t c o n d 0017500 i t i o n ) ) ) ) \r \r ( c l : d 0017520 e f u n 006 002 x c l - t e s t : 0017540 d o - a l l - t e s t s 006 001 ( 0017560 & k e y ( r e s u l t s x c 0017600 l - t e s t : * t e s t - b a t 0017620 c h - r e s u l t s * ) \r 0017640 * 0017700 ( p a t t e r n x c l - 0017720 t e s t : * t e s t - f i l e - 0017740 p a t t e r n * ) \r 0017760 * 0020020 ( s y s o u t - t y p e n i l 0020040 ) ) ( c l : w i t h - o p e n 0020060 - f i l e ( * e r r o r - o u 0020100 t p u t * \r 0020120 * 0020200 x 0020220 c l - t e s t : * t e s t - b a 0020240 t c h - r e s u l t s * \r 0020260 * 0020400 : d i r e c t i o n : o u t 0020420 p u t \r 0020440 * 0020540 : i f - e x i s 0020560 t s \r 0020600 * 0020700 : n e w - v e r s 0020720 i o n ) \r 0020740 * 0021020 ( c l : f o r m a t 0021040 * e r r o r - o u t p u t * \r 0021060 * 0021160 " ; ; ; T e s t r e s u l t 0021200 s f o r s y s o u t o f 0021220 ~ A ~ % " \r 0021240 * 0021320 m a 0021340 k e s y s d a t e ) \r 0021360 * 0021440 ( c l : i 0021460 f s y s o u t - t y p e \r 0021500 * 0021600 ( f o r m a t * e r 0021620 r o r - o u t p u t * \r 0021640 * 0021740 " ; ; ; S y 0021760 s o u t t y p e i s ~ A ~ 0022000 % " \r 0022020 * 0022120 s y s o u t - t y p e ) ) \r 0022140 * 0022240 ( c l : f o r m a t * e r r o 0022260 r - o u t p u t * \r 0022300 * 0022400 " ; ; ; T e s t s r u n 0022420 o n ~ A ~ 2 % " \r 0022440 * 0022540 ( d a t e ) ) \r 0022560 * 0022640 ( 006 002 f o r 0022660 006 001 f n 006 002 i n 006 001 ( d i 0022700 r e c t o r y p a t t e r n ) 0022720 \r 0022740 * 0023020 006 002 d o 006 001 ( x c l - 0023040 t e s t : d o - t e s t - f i l 0023060 e f n ) ) \r 0023100 * 0023160 ( c l : f o r m a 0023200 t * e r r o r - o u t p u t * 0023220 \r 0023240 * 0023320 " ( E N D - O 0023340 F - T E S T S ) " ) ) ) \r \r ( c 0023360 l : d e f u n 006 002 x c l - t e 0023400 s t : : c u r r e n t - f i l e 0023420 - n a m e 006 001 n i l x c l - 0023440 t e s t : : * t e s t - f i l e 0023460 - n a m e * ) \r \r ( c l : d e f 0023500 u n 006 002 x c l - t e s t : c l 0023520 - r e a d f i l e 006 001 ( t e s 0023540 t - f i l e & o p t i o n a l 0023560 ( * r e a d t a b l e * c m 0023600 l r d t b l ) \r 0023620 0023640 ( e 0023660 n d t o k e n " S T O P " ) ) 0023700 006 003 006 001 006 003 ( * | P 0023720 a v e l | " 2 3 - S e p - 8 6 0023740 1 2 : 4 0 " ) 006 001 \r ( 006 0023760 002 | i f | 006 001 ( c l : p r o b 0024000 e - f i l e t e s t - f i l e 0024020 ) \r 006 002 | t h e n 0024040 | 006 001 ( l e t ( f o r m s - 0024060 l i s t t e m ( * p a c k a 0024100 g e * ( c l : f i n d - p a c 0024120 k a g e " X C L - T E S T " ) 0024140 ) ) \r 0024160 ( c l : w i t h - o 0024200 p e n - s t r e a m ( t e s t 0024220 - f i l e ( o p e n t e x t s 0024240 t r e a m ( m k a t o m t e 0024260 s t - f i l e ) ) ) \r 0024300 0024320 ( 006 002 | u n t i l | 006 0024340 001 ( o r ( n u l l ( i g n 0024360 o r e - e r r o r s ( c l : s 0024400 e t q t e m ( c l : r e a d 0024420 t e s t - f i l e ) ) ) ) \r 0024440 * 0024500 ( a n d ( c l : s 0024520 y m b o l p t e m ) \r 0024540 * 0024600 ( c l : s t r i 0024620 n g = t e m e n d t o k e n 0024640 ) ) ) 006 002 | d o | 006 001 ( c l 0024660 : p u s h t e m f o r m s - 0024700 l i s t ) \r 0024720 0024740 ) \r 0024760 0025000 ( c l : n r e v e r s e 0025020 f o r m s - l i s t ) ) ) \r 0025040 006 002 | e l s e | 006 001 ( p 0025060 r o g n ( c l : f o r m a t 0025100 * e r r o r - o u t p u t * " 0025120 ~ % C o u l d n ' t f i n d 0025140 f i l e ~ A ~ % " t e s t - 0025160 f i l e ) \r 0025200 n i l ) ) ) \r 0025220 \r ( c l : d e f u n 006 002 x c l 0025240 - t e s t : d o - t e s t - f i 0025260 l e 006 001 ( f i l e n a m e ) 0025300 006 003 006 001 0025320 006 003 ( * | P a v e 0025340 l | " 2 3 - S e p - 8 6 1 2 0025360 : 1 9 " ) 006 001 \r ( l e t * 0025400 ( ( * p a c k a g e * ( c l 0025420 : f i n d - p a c k a g e " u 0025440 s e r " ) ) \r 0025460 ( t e s t - f o r m s ( x c 0025500 l - t e s t : c l - r e a d f i 0025520 l e f i l e n a m e c m l r 0025540 d t b l ) ) \r 0025560 ( x c l - t e s t : : * t e s 0025600 t - f i l e - n a m e * ( l e 0025620 t ( ( p f ( p a t h n a m e 0025640 f i l e n a m e ) ) ) \r 0025660 * 0025720 ( c l : f o r m 0025740 a t n i l " ~ A . ~ A ; ~ A 0025760 " ( c l : p a t h n a m e - n 0026000 a m e p f ) \r 0026020 * 0026060 ( c l : p a 0026100 t h n a m e - t y p e p f ) \r 0026120 * 0026200 ( c l : p a t h n a m e - v 0026220 e r s i o n p f ) ) ) ) \r 0026240 ( x c l - t e s 0026260 t : : * a n y - e r r o r s * 0026300 n i l ) ) \r ( 0026320 x c l - t e s t : : d o - t e s 0026340 t - l i s t t e s t - f o r m 0026360 s ) \r ( 006 002 | 0026400 i f | 006 001 x c l - t e s t : : 0026420 * a n y - e r r o r s * \r 0026440 006 002 | t h e 0026460 n | 006 001 ( c l : t e r p r i 0026500 * e r r o r - o u t p u t * ) ) 0026520 ) ) \r \r ( c l : d e f u n 006 002 0026540 x c l - t e s t : : d o - t e s 0026560 t - l i s t 006 001 ( t e s t - f 0026600 o r m s & o p t i o n a l o 0026620 p t i o n s n a m e ) \r 0026640 ( l e t ( ( d f n f l g n i 0026660 l ) ) \r ( 006 002 | 0026700 i f | 006 001 ( n u l l t e s t 0026720 - f o r m s ) \r 0026740 006 002 | t h e n | 006 001 ( 0026760 c l : f o r m a t * e r r o r 0027000 - o u t p u t * " ~ % ( T r o 0027020 u b l e r e a d i n g ~ A ) 0027040 ~ % " ( x c l - t e s t : : c 0027060 u r r e n t - f i l e - n a m e 0027100 ) \r 0027120 ) \r 0027140 0027160 ( c l : s e t q x c l - t e s 0027200 t : : * a n y - e r r o r s * 0027220 t ) \r 006 002 | 0027240 e l s e | 006 001 ( 006 002 | f o r | 0027260 006 001 f o r m 006 002 | i n | 006 001 0027300 t e s t - f o r m s \r 0027320 0027340 006 002 | d o | 006 001 ( c l : i f 0027360 ( a n d ( c l : c o n s p f 0027400 o r m ) \r 0027420 0027440 ( o r ( e 0027460 q ( c a r f o r m ) \r 0027500 * 0027540 ' x c l - t 0027560 e s t : d o - t e s t ) \r 0027600 * 0027640 ( e q ( c a r f 0027660 o r m ) \r 0027700 * 0027740 ' x c l - t e s t : d o - t 0027760 e s t - g r o u p ) ) ) \r 0030000 0030020 ( c l 0030040 : i f x c l - t e s t : * t e 0030060 s t - c o m p i l e * \r 0030100 * 0030140 ( c l : f u n c a l l ( 0030160 c o m p i l e r : : x c l - c o 0030200 m p i l e n i l \r 0030220 * 0030300 ` ( c l : l a m b d a 0030320 n i l , f o r m ) ) ) \r 0030340 * 0030400 ( c l : e v a l f o r 0030420 m ) ) \r 0030440 0030460 ( c l : f o r m a t * 0030500 e r r o r - o u t p u t * " N 0030520 o n D O - T E S T f o r m 0030540 a t t o p l e v e l i n 0030560 ~ S ~ % ~ S ~ % " \r 0030600 * 0030640 ( x c l - t e s t : : c u r r 0030660 e n t - f i l e - n a m e ) \r 0030700 * 0030740 f o r m ) ) ) ) ) ) 0030760 \r \r ( c l : d e f v a r 006 002 x 0031000 c l - t e s t : : * a n y - e r 0031020 r o r s * 006 001 n i l ) \r \r ( c 0031040 l : d e f v a r 006 002 x c l - t 0031060 e s t : : * t e s t - c l e a n 0031100 u p - f o r m s * 006 001 n i l ) 0031120 \r \r ( c l : d e f v a r 006 002 x 0031140 c l - t e s t : * t e s t - c o 0031160 m p i l e * 006 001 n i l ) \r \r ( 0031200 c l : d e f v a r 006 002 x c l - 0031220 t e s t : * t e s t - m o d e * 0031240 006 001 : b a t c h ) \r \r ( c l : 0031260 d e f v a r 006 002 x c l - t e s 0031300 t : * t e s t - b a t c h - r e 0031320 s u l t s * 006 001 " { e r i s } 0031340 < l i s p c o r e > c m l > t e 0031360 s t > t e s t - r e s u l t s " 0031400 ) \r \r ( c l : d e f v a r 006 0031420 002 x c l - t e s t : * t e s t - 0031440 f i l e - p a t t e r n * 006 001 0031460 " { E R I S } < L I S P C O R E 0031500 > C M L > T E S T > * . T E S T 0031520 ; " ) \r \r ( c l : d e f v a r 0031540 006 002 x c l - t e s t : : * t e 0031560 s t - f i l e - n a m e * 006 001 0031600 " u n k n o w n " ) \r \r ( d e 0031620 f p a c k a g e " X C L - T E 0031640 S T " ( : e x p o r t x c l 0031660 - t e s t : d o - t e s t x c 0031700 l - t e s t : d o - t e s t - g 0031720 r o u p x c l - t e s t : e x 0031740 p e c t - e r r o r s \r 0031760 0032000 x c l - t 0032020 e s t : t e s t - d e f u n x 0032040 c l - t e s t : t e s t - d e f 0032060 m a c r o x c l - t e s t : t 0032100 e s t - s e t q \r 0032120 0032140 x c l - t e s t 0032160 : d o - a l l - t e s t s x c 0032200 l - t e s t : c l - r e a d f i 0032220 l e x c l - t e s t : d o - t 0032240 e s t - f i l e \r 0032260 0032300 x c l - t e s t 0032320 : * t e s t - m o d e * x c l 0032340 - t e s t : * t e s t - b a t c 0032360 h - r e s u l t s * \r 0032400 0032420 x c l - t e 0032440 s t : * t e s t - c o m p i l e 0032460 * x c l - t e s t : * t e s t 0032500 - f i l e - p a t t e r n * ) ) 0032520 \r \r ( p u t p r o p s 006 002 x c 0032540 l - t e s t : d o - t e s t m 0032560 a k e f i l e - e n v i r o n m 0032600 e n t 006 001 ( : r e a d t a b l 0032620 e " x c l " : p a c k a g e 0032640 ( d e f p a c k a g e " X C 0032660 L - T E S T " \r 0032700 * 0033000 ( : u s e 0033020 " L I S P " ) ) ) ) \r \r ( p u t 0033040 p r o p s 006 002 x c l - t e s t 0033060 : d o - t e s t f i l e t y p 0033100 e 006 001 c l : c o m p i l e - f 0033120 i l e ) \r ( p u t p r o p s d 0033140 o - t e s t c o p y r i g h t 0033160 ( " X e r o x C o r p o r a 0033200 t i o n " 1 9 8 6 ) ) \r ( d e 0033220 c l a r e \ : d o n t c o p y 0033240 \r ( f i l e m a p ( n i l 0033260 ) ) ) \r s t o p \r 0033271