$ 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