| %!PS-Adobe-2.0 |
| %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software |
| %%Title: overview.dvi |
| %%Pages: 100 |
| %%PageOrder: Ascend |
| %%BoundingBox: 0 0 596 842 |
| %%DocumentFonts: Helvetica-Bold Palatino-Roman Palatino-Bold |
| %%+ Palatino-Italic Courier Courier-Oblique Helvetica |
| %%EndComments |
| %DVIPSWebPage: (www.radicaleye.com) |
| %DVIPSCommandLine: dvips -o overview.ps overview.dvi |
| %DVIPSParameters: dpi=600, compressed |
| %DVIPSSource: TeX output 2004.01.24:2130 |
| %%BeginProcSet: texc.pro |
| %! |
| /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S |
| N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 |
| mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 |
| 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ |
| landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize |
| mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ |
| matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round |
| exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ |
| statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] |
| N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin |
| /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array |
| /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 |
| array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N |
| df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A |
| definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get |
| }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} |
| B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr |
| 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 |
| 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx |
| 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx |
| sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ |
| rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp |
| gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B |
| /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ |
| /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ |
| A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy |
| get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} |
| ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp |
| fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 |
| {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add |
| chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ |
| 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} |
| forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn |
| /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put |
| }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ |
| bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A |
| mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ |
| SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ |
| userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X |
| 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 |
| index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N |
| /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ |
| /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) |
| (LaserWriter 16/600)]{A length product length le{A length product exch 0 |
| exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse |
| end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask |
| grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} |
| imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round |
| exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto |
| fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p |
| delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} |
| B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ |
| p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S |
| rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end |
| |
| %%EndProcSet |
| %%BeginProcSet: 8r.enc |
| % @@psencodingfile@{ |
| % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", |
| % version = "0.6", |
| % date = "22 June 1996", |
| % filename = "8r.enc", |
| % email = "kb@@mail.tug.org", |
| % address = "135 Center Hill Rd. // Plymouth, MA 02360", |
| % codetable = "ISO/ASCII", |
| % checksum = "119 662 4424", |
| % docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." |
| % @} |
| % |
| % Idea is to have all the characters normally included in Type 1 fonts |
| % available for typesetting. This is effectively the characters in Adobe |
| % Standard Encoding + ISO Latin 1 + extra characters from Lucida. |
| % |
| % Character code assignments were made as follows: |
| % |
| % (1) the Windows ANSI characters are almost all in their Windows ANSI |
| % positions, because some Windows users cannot easily reencode the |
| % fonts, and it makes no difference on other systems. The only Windows |
| % ANSI characters not available are those that make no sense for |
| % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen |
| % (173). quotesingle and grave are moved just because it's such an |
| % irritation not having them in TeX positions. |
| % |
| % (2) Remaining characters are assigned arbitrarily to the lower part |
| % of the range, avoiding 0, 10 and 13 in case we meet dumb software. |
| % |
| % (3) Y&Y Lucida Bright includes some extra text characters; in the |
| % hopes that other PostScript fonts, perhaps created for public |
| % consumption, will include them, they are included starting at 0x12. |
| % |
| % (4) Remaining positions left undefined are for use in (hopefully) |
| % upward-compatible revisions, if someday more characters are generally |
| % available. |
| % |
| % (5) hyphen appears twice for compatibility with both ASCII and Windows. |
| % |
| /TeXBase1Encoding [ |
| % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) |
| /.notdef /dotaccent /fi /fl |
| /fraction /hungarumlaut /Lslash /lslash |
| /ogonek /ring /.notdef |
| /breve /minus /.notdef |
| % These are the only two remaining unencoded characters, so may as |
| % well include them. |
| /Zcaron /zcaron |
| % 0x10 |
| /caron /dotlessi |
| % (unusual TeX characters available in, e.g., Lucida Bright) |
| /dotlessj /ff /ffi /ffl |
| /.notdef /.notdef /.notdef /.notdef |
| /.notdef /.notdef /.notdef /.notdef |
| % very contentious; it's so painful not having quoteleft and quoteright |
| % at 96 and 145 that we move the things normally found there down to here. |
| /grave /quotesingle |
| % 0x20 (ASCII begins) |
| /space /exclam /quotedbl /numbersign |
| /dollar /percent /ampersand /quoteright |
| /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash |
| % 0x30 |
| /zero /one /two /three /four /five /six /seven |
| /eight /nine /colon /semicolon /less /equal /greater /question |
| % 0x40 |
| /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O |
| % 0x50 |
| /P /Q /R /S /T /U /V /W |
| /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore |
| % 0x60 |
| /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o |
| % 0x70 |
| /p /q /r /s /t /u /v /w |
| /x /y /z /braceleft /bar /braceright /asciitilde |
| /.notdef % rubout; ASCII ends |
| % 0x80 |
| /.notdef /.notdef /quotesinglbase /florin |
| /quotedblbase /ellipsis /dagger /daggerdbl |
| /circumflex /perthousand /Scaron /guilsinglleft |
| /OE /.notdef /.notdef /.notdef |
| % 0x90 |
| /.notdef /.notdef /.notdef /quotedblleft |
| /quotedblright /bullet /endash /emdash |
| /tilde /trademark /scaron /guilsinglright |
| /oe /.notdef /.notdef /Ydieresis |
| % 0xA0 |
| /.notdef % nobreakspace |
| /exclamdown /cent /sterling |
| /currency /yen /brokenbar /section |
| /dieresis /copyright /ordfeminine /guillemotleft |
| /logicalnot |
| /hyphen % Y&Y (also at 45); Windows' softhyphen |
| /registered |
| /macron |
| % 0xD0 |
| /degree /plusminus /twosuperior /threesuperior |
| /acute /mu /paragraph /periodcentered |
| /cedilla /onesuperior /ordmasculine /guillemotright |
| /onequarter /onehalf /threequarters /questiondown |
| % 0xC0 |
| /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla |
| /Egrave /Eacute /Ecircumflex /Edieresis |
| /Igrave /Iacute /Icircumflex /Idieresis |
| % 0xD0 |
| /Eth /Ntilde /Ograve /Oacute |
| /Ocircumflex /Otilde /Odieresis /multiply |
| /Oslash /Ugrave /Uacute /Ucircumflex |
| /Udieresis /Yacute /Thorn /germandbls |
| % 0xE0 |
| /agrave /aacute /acircumflex /atilde |
| /adieresis /aring /ae /ccedilla |
| /egrave /eacute /ecircumflex /edieresis |
| /igrave /iacute /icircumflex /idieresis |
| % 0xF0 |
| /eth /ntilde /ograve /oacute |
| /ocircumflex /otilde /odieresis /divide |
| /oslash /ugrave /uacute /ucircumflex |
| /udieresis /yacute /thorn /ydieresis |
| ] def |
| |
| %%EndProcSet |
| %%BeginProcSet: texps.pro |
| %! |
| TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 |
| index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll |
| exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics |
| exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub |
| dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} |
| ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict |
| end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ |
| dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 |
| roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def |
| dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} |
| if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} |
| def end |
| |
| %%EndProcSet |
| %%BeginProcSet: special.pro |
| %! |
| TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N |
| /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N |
| /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N |
| /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ |
| /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho |
| X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B |
| /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ |
| /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known |
| {userdict/md get type/dicttype eq{userdict begin md length 10 add md |
| maxlength ge{/md md dup length 20 add dict copy def}if end md begin |
| /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S |
| atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ |
| itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll |
| transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll |
| curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf |
| pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} |
| if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 |
| -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 |
| get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip |
| yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub |
| neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ |
| noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop |
| 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get |
| neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr |
| 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr |
| 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 |
| -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S |
| TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ |
| Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale |
| }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState |
| save N userdict maxlength dict begin/magscale true def normalscale |
| currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts |
| /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x |
| psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx |
| psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub |
| TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ |
| psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 |
| roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath |
| moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict |
| begin/SpecialSave save N gsave normalscale currentpoint TR |
| @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ |
| CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto |
| closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx |
| sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR |
| }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse |
| CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury |
| lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N |
| /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} |
| repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N |
| /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX |
| currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY |
| moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X |
| /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 |
| 1 startangle endangle arc savematrix setmatrix}N end |
| |
| %%EndProcSet |
| %%BeginProcSet: color.pro |
| %! |
| TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop |
| setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll |
| }repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def |
| /TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ |
| setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ |
| /currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch |
| known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC |
| /Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC |
| /Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 |
| setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 |
| setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 |
| 0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC |
| /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 |
| setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 |
| 0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ |
| 0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ |
| 0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC |
| /Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 |
| setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 |
| setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 |
| 0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC |
| /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 |
| setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 |
| 0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ |
| 0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ |
| 0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC |
| /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 |
| setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC |
| /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 |
| 0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 |
| 0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 |
| 0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 |
| setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 |
| 0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC |
| /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 |
| setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 |
| 0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 |
| 1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC |
| /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 |
| setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ |
| 0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} |
| DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 |
| setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 |
| setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 |
| setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end |
| |
| %%EndProcSet |
| TeXDict begin 39158280 55380996 1000 600 600 (overview.dvi) |
| @start /Fa 134[50 50 50 50 50 50 50 50 1[50 50 50 50 |
| 50 1[50 50 50 50 50 50 50 50 50 50 1[50 14[50 29[50 50 |
| 3[50 45[{TeXBase1Encoding ReEncodeFont}28 83.022 /Courier-Oblique |
| rf /Fb 130[40 1[40 1[40 40 40 40 40 40 40 40 40 40 40 |
| 40 40 40 40 40 40 40 40 40 40 40 40 40 40 1[40 10[40 |
| 40 24[40 2[40 3[40 7[40 6[40 36[{TeXBase1Encoding ReEncodeFont}35 |
| 67.2479 /Courier rf /Fc 134[37 37 54 37 42 21 37 25 1[42 |
| 42 42 62 17 37 17 17 42 42 21 42 42 37 42 42 1[42 7[71 |
| 2[46 4[58 10[54 2[50 5[21 12[21 25 21 44[{TeXBase1Encoding ReEncodeFont} |
| 34 74.7198 /Helvetica rf /Fd 139[25 4[46 9[42 22[54 19[25 |
| 58[{TeXBase1Encoding ReEncodeFont}5 74.7198 /Helvetica-Bold |
| rf /Fe 134[45 45 45 45 45 45 45 45 1[45 45 45 45 45 1[45 |
| 45 45 45 45 45 45 45 45 45 1[45 44[45 45 3[45 45[{ |
| TeXBase1Encoding ReEncodeFont}27 74.7198 /Courier-Oblique |
| rf /Ff 107[45 21[45 45 1[45 45 45 45 45 45 45 45 45 45 |
| 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 |
| 45 45 45 45 45 1[45 45 45 45 45 45 45 45 1[45 45 45 45 |
| 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 |
| 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 |
| 45 45 45 1[45 45 45 45 33[{TeXBase1Encoding ReEncodeFont}91 |
| 74.7198 /Courier rf /Fg 106[40 149[{TeXBase1Encoding ReEncodeFont}1 |
| 66.4176 /Palatino-Roman rf /Fh 200[25 25 25 25 25 25 |
| 25 49[{TeXBase1Encoding ReEncodeFont}7 49.8132 /Palatino-Roman |
| rf /Fi 134[56 1[78 56 61 33 56 39 1[61 61 61 89 28 56 |
| 28 28 61 61 33 56 61 56 61 56 8[67 95 67 73 61 67 73 |
| 1[67 78 73 84 61 2[28 73 78 61 1[73 73 73 73 1[61 16[28 |
| 1[28 59 3[28 36[61 2[{TeXBase1Encoding ReEncodeFont}49 |
| 100.457 /Helvetica-Bold rf /Fj 130[28 1[28 37 42 42 60 |
| 42 46 28 32 32 38 42 37 46 65 23 37 23 23 42 42 23 32 |
| 42 34 38 37 1[42 1[28 50 28 2[60 78 60 65 51 46 55 1[51 |
| 65 65 78 46 55 1[28 65 60 46 51 65 55 51 60 1[42 1[50 |
| 2[21 42 42 42 42 42 42 42 42 42 42 1[21 28 21 50 32 28 |
| 28 3[42 1[42 30[45 44 2[{TeXBase1Encoding ReEncodeFont}78 |
| 83.022 /Palatino-Italic rf /Fk 129[50 3[42 46 42 69 46 |
| 51 28 37 32 1[51 46 51 74 28 51 28 28 51 46 32 42 51 |
| 37 51 42 1[42 8[65 65 55 51 60 1[51 69 69 83 51 2[32 |
| 69 69 46 51 69 60 55 65 6[21 42 42 42 42 42 42 42 42 |
| 42 42 1[21 28 1[50 1[28 28 23 69 3[33 31[51 2[{ |
| TeXBase1Encoding ReEncodeFont}66 83.022 /Palatino-Bold |
| rf /Fl 86[62 20[42 42 20[50 28 1[28 42 46 43 69 47 50 |
| 27 35 33 46 50 45 48 73 24 46 19 24 48 46 28 40 51 37 |
| 46 42 1[42 1[28 50 28 1[55 55 83 60 65 51 44 55 1[50 |
| 65 69 79 51 60 28 28 69 63 46 51 64 59 51 65 62 37 50 |
| 50 1[21 21 42 42 42 42 42 42 42 42 42 42 50 21 28 21 |
| 50 32 28 28 23 65 1[42 42 31 23 29[50 50 2[{ |
| TeXBase1Encoding ReEncodeFont}92 83.022 /Palatino-Roman |
| rf /Fm 130[32 1[32 1[46 46 65 46 51 28 46 32 1[51 51 |
| 51 74 23 46 23 23 51 51 28 46 51 46 51 46 1[46 6[55 78 |
| 55 60 51 55 60 65 55 65 60 69 51 60 1[23 60 65 51 55 |
| 60 60 60 60 6[28 2[46 3[46 7[48 6[46 32[51 51 2[{ |
| TeXBase1Encoding ReEncodeFont}57 83.022 /Helvetica-Bold |
| rf /Fn 107[46 46 25[51 51 71 51 56 30 51 36 1[56 56 56 |
| 81 25 51 25 25 56 56 30 51 56 51 56 51 9[86 61 66 56 |
| 61 66 1[61 71 66 76 56 2[25 66 71 56 1[66 66 66 66 17[25 |
| 25 1[25 41[56 2[{TeXBase1Encoding ReEncodeFont}49 91.3242 |
| /Helvetica-Bold rf /Fo 134[61 2[61 1[37 61 3[68 9[61 |
| 2[68 61 13[74 80 3[80 78[{TeXBase1Encoding ReEncodeFont}11 |
| 110.502 /Helvetica-Bold rf /Fp 133[61 1[68 95 68 74 40 |
| 68 47 1[74 74 74 108 34 68 34 34 74 74 40 68 74 68 74 |
| 68 11[88 74 1[88 1[81 95 88 4[34 1[95 74 81 88 88 1[88 |
| 8[68 68 68 68 68 68 68 68 2[34 46[{TeXBase1Encoding ReEncodeFont}46 |
| 121.553 /Helvetica-Bold rf /Fq 138[82 6[82 3[37 4[74 |
| 3[74 25[104 2[97 68[{TeXBase1Encoding ReEncodeFont}7 |
| 133.707 /Helvetica-Bold rf end |
| %%EndProlog |
| %%BeginSetup |
| %%Feature: *Resolution 600dpi |
| TeXDict begin |
| %%PaperSize: A4 |
| |
| %%EndSetup |
| %%Page: 1 1 |
| 1 0 bop Black 0 TeXcolorgray Black Black 1666 104 a Fq(DejaGn)o(u)197 |
| 328 y Fp(The)34 b(GNU)f(T)-7 b(esting)34 b(Frame)n(w)n(ork)1628 |
| 1611 y Fo(Rob)c(Sa)n(v)m(o)n(y)o(e)1377 1702 y Fn(Free)24 |
| b(Software)i(Foundation)p Black Black eop |
| %%Page: 2 2 |
| 2 1 bop Black 0 TeXcolorgray Black Black 197 89 a Fm(DejaGn)o(u:)22 |
| b(The)h(GNU)g(T)-5 b(esting)22 b(Frame)o(w)n(ork)197 |
| 180 y Fl(by)f(Rob)g(Savoye)197 363 y(1.4.4)e(Edition)197 |
| 454 y(Copyright)j(\251)e(2002)f(by)i(Fr)o(ee)f(Softwar)o(e)f |
| (Foundation,)i(Inc.)197 629 y(Revision)h(History)197 |
| 764 y(Revision)g(0.6.2)69 b(2002-7-16)d(Revised)21 b(by:)f(r)o |
| (ob@welcomehome.or)o(g)197 865 y(Add)g(new)h(tutorial)g(as)f(a)h(new)g |
| (chapter)-6 b(.)197 967 y(Revision)22 b(0.6.1)69 b(2001-2-16)d(Revised) |
| 21 b(by:)f(r)o(ob@welcomehome.or)o(g)197 1068 y(Add)g(info)h(on)g(the)g |
| (new)g(dejagnu.h)g(\002le.)197 1169 y(Revision)h(0.6)132 |
| b(2001-2-16)66 b(Revised)21 b(by:)f(r)o(ob@welcomehome.or)o(g)197 |
| 1271 y(Updated)f(for)i(new)g(r)o(elease.)197 1372 y(Revision)h(0.5)132 |
| b(2000-1-24)66 b(Revised)21 b(by:)f(r)o(ob@welcomehome.or)o(g)197 |
| 1473 y(Initial)h(version)g(after)f(conversion)i(to)f(DocBook.)p |
| Black Black eop |
| %%Page: 3 3 |
| 3 2 bop Black 0 TeXcolorgray Black Black 197 95 a Fp(T)-10 |
| b(ab)o(le)33 b(of)i(Contents)p 0 TeXcolorgray 596 247 |
| a Fk(Abstract)p Black Black 10 w(.)p Black Black -3 w(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black 0 TeXcolorgray 13 w(i)p Black 0 |
| TeXcolorgray 596 358 a(1.)20 b(Overview)p Black Black |
| 16 w(.)p Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black 0 TeXcolorgray -1 w(1)p |
| Black 0 TeXcolorgray 795 469 a Fl(What)g(is)i(DejaGnu)f(?)p |
| Black Black 4 w(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black 0 TeXcolorgray -1 w(1)p Black 0 |
| TeXcolorgray 795 561 a(What's)g(New)f(In)i(This)f(Release)p |
| Black Black 12 w(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| 0 TeXcolorgray -1 w(1)p Black 0 TeXcolorgray 994 652 |
| a(W)-5 b(indows)22 b(Support)p Black Black 6 w(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black 0 TeXcolorgray -1 w(2)p Black 0 TeXcolorgray 795 |
| 743 a(Design)f(Goals)p Black Black 15 w(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black 0 TeXcolorgray |
| -1 w(2)p Black 0 TeXcolorgray 795 835 a(A)f(POSIX)h(conforming)h(test)f |
| (framework)p Black Black 18 w(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black 0 TeXcolorgray -1 w(2)p Black 0 TeXcolorgray 596 |
| 946 a Fk(2.)f(Getting)f(DejaGnu)g(up)h(and)g(running)p |
| Black Black 5 w(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black 0 TeXcolorgray -1 w(5)p Black 0 TeXcolorgray 795 |
| 1057 a Fl(T)-8 b(est)21 b(your)g(installation)p Black |
| Black(.)p Black Black 1 w(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| 0 TeXcolorgray -1 w(5)p Black 0 TeXcolorgray 994 1148 |
| a(W)-5 b(indows)p Black Black 15 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black 0 TeXcolorgray |
| -1 w(5)p Black 0 TeXcolorgray 994 1240 a(Getting)22 b(the)f(sour)o(ce)f |
| (code)g(for)h(the)g(calc)f(example)p Black Black 12 w(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black 0 TeXcolorgray -1 w(5)p |
| Black 0 TeXcolorgray 795 1331 a(Cr)o(eate)f(a)h(minimal)i(pr)o(oject,)e |
| (e.g.)g(calc)p Black Black 19 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| 0 TeXcolorgray -1 w(6)p Black 0 TeXcolorgray 994 1422 |
| a(A)g(simple)i(pr)o(oject)e(without)i(the)f(GNU)g(autotools)p |
| Black Black 2 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black 0 TeXcolorgray |
| -1 w(6)p Black 0 TeXcolorgray 994 1514 a(Using)g |
| (autoconf/autoheader/automake)p Black Black 1 w(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black 0 TeXcolorgray -1 w(6)p Black 0 TeXcolorgray |
| 795 1605 a(Our)g(\002rst)g(automated)f(tests)p Black |
| Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black 0 TeXcolorgray |
| -1 w(8)p Black 0 TeXcolorgray 994 1696 a(Running)j(the)d(test)h(for)g |
| (the)g(calc)f(example)p Black Black(.)p Black Black -1 |
| w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black 0 TeXcolorgray -1 w(8)p Black 0 |
| TeXcolorgray 994 1788 a(The)h(various)f(con\002g)i(\002les)f(or)g(how)h |
| (to)f(avoid)f(warnings)p Black Black 15 w(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| 0 TeXcolorgray -1 w(9)p Black 0 TeXcolorgray 994 1879 |
| a(When)h(tr)o(ouble)g(strikes)p Black Black 15 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(10)p Black 0 TeXcolorgray 994 1970 a(T)-8 |
| b(esting)22 b(\223Hello)e(world\224)h(locally)p Black |
| Black 16 w(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(10)p Black 0 TeXcolorgray |
| 795 2062 a(A)f(\002rst)h(r)o(emote)f(test)p Black Black |
| 11 w(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(11)p Black 0 TeXcolorgray 994 2153 a(Setup)g(telnet)h |
| (to)g(your)g(own)h(host)p Black Black 6 w(.)p Black Black |
| 1 w(.)p Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(11)p Black 0 TeXcolorgray 994 2244 a(A)e(test)h(case)f |
| (for)h(login)h(via)e(telnet)p Black Black 8 w(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black 0 TeXcolorgray(11)p Black 0 TeXcolorgray 994 2336 |
| a(Remote)h(testing)h(\223Hello)f(world\224)p Black Black |
| 14 w(.)p Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(12)p Black 0 TeXcolorgray 994 2427 a(T)-7 |
| b(ransferring)20 b(\002les)h(fr)o(om/to)g(the)g(tar)o(get)p |
| Black Black 6 w(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black 0 TeXcolorgray(13)p Black 0 TeXcolorgray 994 2518 |
| a(Pr)o(eparing)f(for)g(cr)o(osscompilation)p Black Black |
| 20 w(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(13)p Black 0 TeXcolorgray |
| 994 2610 a(Remote)h(testing)h(of)f(calc)p Black Black |
| 18 w(.)p Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(14)p Black 0 TeXcolorgray |
| 994 2701 a(Using)g(W)-5 b(indows)22 b(as)f(host)h(and)e(vxW)-8 |
| b(orks)21 b(as)g(tar)o(get)p Black Black 12 w(.)p Black |
| Black -2 w(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(14)p Black |
| 0 TeXcolorgray 596 2812 a Fk(3.)f(Running)f(T)-9 b(ests)p |
| Black Black 10 w(.)p Black Black -1 w(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(15)p |
| Black 0 TeXcolorgray 795 2923 a Fl(Make)20 b(check)p |
| Black Black 5 w(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(15)p |
| Black 0 TeXcolorgray 795 3015 a(Runtest)p Black Black |
| 12 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(15)p |
| Black 0 TeXcolorgray 994 3106 a(Output)h(States)p Black |
| Black 6 w(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(15)p Black 0 TeXcolorgray |
| 994 3197 a(Invoking)h(Runtest)p Black Black 20 w(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(16)p Black 0 TeXcolorgray 994 3289 a(Common)g(Options)p |
| Black Black 18 w(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(19)p Black 0 TeXcolorgray 795 3380 a(The)f(\002les)g |
| (DejaGnu)g(pr)o(oduces.)p Black Black 5 w(.)p Black Black |
| -2 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(20)p |
| Black 0 TeXcolorgray 994 3471 a(Summary)g(File)p Black |
| Black 15 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black 0 TeXcolorgray(20)p Black 0 TeXcolorgray 994 3563 |
| a(Log)g(File)p Black Black 6 w(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(20)p Black 0 TeXcolorgray 994 3654 a(Debug)g(Log)g(File) |
| p Black Black 9 w(.)p Black Black(.)p Black Black -1 |
| w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(21)p |
| Black 0 TeXcolorgray 596 3765 a Fk(4.)f(Customizing)e(DejaGnu)p |
| Black Black 8 w(.)p Black Black -2 w(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(23)p Black 0 TeXcolorgray 795 3877 a Fl(Local)i |
| (Con\002g)i(File)p Black Black 4 w(.)p Black Black -1 |
| w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(23)p Black 0 TeXcolorgray |
| 795 3968 a(Global)f(Con\002g)h(File)p Black Black 20 |
| w(.)p Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(24)p Black |
| 0 TeXcolorgray 795 4059 a(Boar)o(d)d(Con\002g)j(File)p |
| Black Black 3 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(25)p Black 0 TeXcolorgray |
| 795 4151 a(Remote)f(Host)h(T)-8 b(esting)p Black Black |
| 9 w(.)p Black Black 1 w(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(26)p Black 0 TeXcolorgray |
| 795 4242 a(Con\002g)21 b(File)g(V)-8 b(alues)p Black |
| Black 1 w(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(28)p Black 0 TeXcolorgray 994 4333 a(Command)21 |
| b(Line)g(Option)h(V)-8 b(ariables)p Black Black 2 w(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(28)p Black 0 TeXcolorgray |
| 994 4425 a(Personal)21 b(Con\002g)h(File)p Black Black |
| 18 w(.)p Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(29)p Black 0 TeXcolorgray |
| 596 4536 a Fk(5.)e(Extending)e(DejaGnu)p Black Black |
| 5 w(.)p Black Black -2 w(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(31)p Black 0 TeXcolorgray |
| 795 4647 a Fl(Adding)i(A)h(New)f(T)-8 b(estsuite)p Black |
| Black 6 w(.)p Black Black 1 w(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(31)p Black 0 TeXcolorgray |
| 795 4738 a(Adding)20 b(A)h(New)f(T)-8 b(ool)p Black Black |
| 4 w(.)p Black Black 1 w(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(31)p |
| Black 0 TeXcolorgray 795 4830 a(Adding)20 b(A)h(New)f(T)-8 |
| b(ar)o(get)p Black Black 15 w(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(34)p |
| Black 0 TeXcolorgray 795 4921 a(Adding)20 b(A)h(New)f(Boar)o(d)p |
| Black Black 4 w(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(34)p Black 0 TeXcolorgray 795 5012 a(Boar)o(d)f |
| (Con\002g)j(File)f(V)-8 b(alues)p Black Black 9 w(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(35)p Black 0 TeXcolorgray 795 5104 a(W)i(riting)21 |
| b(A)f(T)-8 b(est)21 b(Case)p Black Black 4 w(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(37)p |
| Black 0 TeXcolorgray 795 5195 a(Debugging)g(A)g(T)-8 |
| b(est)21 b(Case)p Black Black 17 w(.)p Black Black -1 |
| w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(38)p Black 0 TeXcolorgray |
| 795 5286 a(Adding)f(A)h(T)-8 b(est)21 b(Case)f(T)-8 b(o)21 |
| b(A)f(T)-8 b(estsuite.)p Black Black 1 w(.)p Black Black |
| 1 w(.)p Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(39)p Black 0 TeXcolorgray 795 5378 a(Hints)21 |
| b(On)h(W)-6 b(riting)21 b(A)f(T)-8 b(est)21 b(Case)p |
| Black Black 18 w(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(39)p Black 0 TeXcolorgray |
| 795 5469 a(Special)e(variables)h(used)h(by)f(test)h(cases.)p |
| Black Black 10 w(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(40)p Black Black 3615 |
| 5585 a Fj(iii)p Black eop |
| %%Page: 4 4 |
| 4 3 bop Black 0 TeXcolorgray Black Black 0 TeXcolorgray |
| 596 89 a Fk(6.)20 b(Unit)f(T)-9 b(esting)p Black Black |
| 5 w(.)p Black Black -1 w(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(41)p |
| Black 0 TeXcolorgray 795 200 a Fl(What)20 b(Is)h(Unit)g(T)-8 |
| b(esting)22 b(?)p Black Black 3 w(.)p Black Black -1 |
| w(.)p Black Black(.)p Black Black(.)p Black Black -1 |
| w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(41)p Black 0 TeXcolorgray |
| 795 292 a(The)f(dejagnu.h)f(Header)g(File)p Black Black |
| 5 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black 0 TeXcolorgray(41)p Black 0 TeXcolorgray 596 403 |
| a Fk(7.)g(Reference)p Black Black 12 w(.)p Black Black |
| -3 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(43)p |
| Black 0 TeXcolorgray 795 514 a Fl(Obtaining)h(DejaGnu)p |
| Black Black 12 w(.)p Black Black 1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(43)p Black 0 TeXcolorgray |
| 795 605 a(Installation)p Black Black 4 w(.)p Black Black |
| 1 w(.)p Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(43)p Black 0 TeXcolorgray |
| 994 697 a(Con\002guring)h(DejaGnu)p Black Black 3 w(.)p |
| Black Black 1 w(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(43)p |
| Black 0 TeXcolorgray 994 788 a(Installing)g(DejaGnu)p |
| Black Black 3 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(43)p Black |
| 0 TeXcolorgray 795 879 a(Builtin)f(Pr)o(ocedur)o(es)p |
| Black Black 9 w(.)p Black Black -1 w(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(44)p Black 0 TeXcolorgray 994 971 a(Cor)o(e)f(Internal)h |
| (Pr)o(ocedur)o(es)p Black Black 9 w(.)p Black Black -3 |
| w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(44)p Black |
| 0 TeXcolorgray 994 1062 a(Pr)o(ocedur)o(es)e(For)i(Remote)h |
| (Communication)p Black Black 12 w(.)p Black Black 1 w(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(53)p |
| Black 0 TeXcolorgray 994 1153 a(Pr)o(ocedur)o(es)d(For)i(Using)g |
| (Utilities)h(to)f(Connect)p Black Black 3 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(65)p Black 0 TeXcolorgray |
| 994 1245 a(Pr)o(ocedur)o(es)e(For)i(T)-8 b(ar)o(get)20 |
| b(Boar)o(ds)p Black Black 11 w(.)p Black Black -1 w(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(72)p Black 0 TeXcolorgray 994 1336 a(T)-8 |
| b(ar)o(get)20 b(Database)f(Pr)o(ocedur)o(es)p Black Black |
| 12 w(.)p Black Black -2 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(75)p Black 0 TeXcolorgray |
| 994 1427 a(Platform)i(Dependant)f(Pr)o(ocedur)o(es)p |
| Black Black 12 w(.)p Black Black -2 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(78)p Black 0 TeXcolorgray 994 1519 a(Utility)h(Pr)o |
| (ocedur)o(es)p Black Black 8 w(.)p Black Black -2 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(80)p Black 0 TeXcolorgray |
| 994 1610 a(Libgloss,)g(A)g(Fr)o(ee)e(BSP)p Black Black |
| 4 w(.)p Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(84)p Black 0 TeXcolorgray |
| 994 1701 a(Pr)o(ocedur)o(es)g(for)i(debugging)g(your)g(T)-9 |
| b(cl)20 b(code.)p Black Black 19 w(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(88)p Black |
| 0 TeXcolorgray 795 1793 a(File)h(Map)p Black Black 11 |
| w(.)p Black Black -1 w(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black 0 TeXcolorgray(91)p Black 0 TeXcolorgray 596 1904 |
| a Fk(8.)f(Unit)f(T)-9 b(esting)19 b(API)p Black Black |
| 3 w(.)p Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black 0 TeXcolorgray(93)p Black 0 TeXcolorgray 795 2015 |
| a Fl(C)h(Unit)h(T)-8 b(esting)22 b(API)p Black Black |
| 18 w(.)p Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(93)p Black 0 TeXcolorgray |
| 994 2107 a(Pass)f(Function)p Black Black 2 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(93)p Black 0 TeXcolorgray 994 2198 a(Fail)g(Function)p |
| Black Black 7 w(.)p Black Black 1 w(.)p Black Black -1 |
| w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(93)p Black 0 TeXcolorgray 994 2289 a(Untested)f |
| (Function)p Black Black 19 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(93)p |
| Black 0 TeXcolorgray 994 2380 a(Unr)o(esolved)g(Function)p |
| Black Black 7 w(.)p Black Black 1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(93)p Black 0 TeXcolorgray |
| 994 2472 a(T)-8 b(otals)21 b(Function)p Black Black 9 |
| w(.)p Black Black 2 w(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black 0 TeXcolorgray(93)p Black 0 TeXcolorgray |
| 795 2563 a(C++)g(Unit)g(T)-8 b(esting)22 b(API)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black 0 TeXcolorgray(93)p Black 0 TeXcolorgray 994 2654 |
| a(Pass)f(Method)p Black Black 17 w(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black 0 TeXcolorgray(93)p Black 0 TeXcolorgray |
| 994 2746 a(Fail)g(Method)p Black Black 2 w(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black 0 TeXcolorgray(94)p Black 0 TeXcolorgray 994 2837 |
| a(Untested)f(Method)p Black Black 13 w(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(94)p |
| Black 0 TeXcolorgray 994 2928 a(Unr)o(esolved)g(Method)p |
| Black Black 2 w(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| 0 TeXcolorgray(94)p Black 0 TeXcolorgray 994 3020 a(T)-8 |
| b(otals)21 b(Method)p Black Black 4 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black(.)p |
| Black Black -1 w(.)p Black Black(.)p Black Black(.)p |
| Black Black(.)p Black Black -1 w(.)p Black Black(.)p |
| Black Black(.)p Black Black(.)p Black Black -1 w(.)p |
| Black Black(.)p Black Black(.)p Black Black(.)p Black |
| Black -1 w(.)p Black Black(.)p Black Black(.)p Black |
| Black(.)p Black Black -1 w(.)p Black Black(.)p Black |
| Black(.)p Black Black(.)p Black Black -1 w(.)p Black |
| Black(.)p Black Black(.)p Black Black(.)p Black Black |
| -1 w(.)p Black Black(.)p Black 0 TeXcolorgray(94)p Black |
| Black 197 5585 a Fj(iv)p Black eop |
| %%Page: 1 5 |
| 1 4 bop Black 0 TeXcolorgray Black Black 197 92 a Fp(Abstract)596 |
| 286 y Fl(This)23 b(document)g(describes)g(the)g(functionality)g(of)g |
| (DejaGnu,)h(the)f(testing)g(framework)g(of)g(the)596 |
| 377 y(GNU)f(pr)o(oject.)g(DejaGnu)h(is)f(written)h(in)g(Expect,)e |
| (which)i(uses)g(T)-9 b(cl)22 b(as)g(a)g(command)h(language.)596 |
| 468 y(Expect)f(acts)g(as)h(a)g(very)f(pr)o(ogrammable)g(shell.)i(As)e |
| (with)i(other)g(Unix)e(command)i(shells,)f(you)596 560 |
| y(can)35 b(r)o(un)i(any)e(pr)o(ogram,)g(but)h(once)g(the)h(pr)o(ogram)e |
| (is)h(started,)f(your)h(test)g(script)g(has)g(pr)o(o-)596 |
| 651 y(grammable)29 b(contr)o(ol)h(over)f(its)h(input)g(and)f(output.)h |
| (This)g(does)g(not)g(just)h(apply)e(to)h(the)g(pr)o(o-)596 |
| 742 y(grams)19 b(under)h(test;)f Fk(expect)f Fl(can)h(also)h(r)o(un)h |
| (any)e(auxiliary)g(pr)o(ogram,)g(such)h(as)g Fk(dif)o(f)f |
| Fl(or)h Fk(sh)p Fl(,)f(with)596 834 y(full)h(contr)o(ol)h(over)g(its)g |
| (input)g(and)g(output.)596 966 y(DejaGnu)f(itself)h(is)f(mer)o(ely)g(a) |
| g(framework)g(for)g(the)g(cr)o(eation)g(of)g(testsuites.)g(T)-8 |
| b(estsuites)21 b(ar)o(e)e(dis-)596 1058 y(tributed)h(with)h(each)g |
| (application.)p Black 3661 5585 a Fj(i)p Black eop |
| %%Page: 2 6 |
| 2 5 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Abstract)p |
| Black Black 197 5585 a(ii)p Black eop |
| %%Page: 1 7 |
| 1 6 bop Black 0 TeXcolorgray Black Black 197 95 a Fp(Chapter)34 |
| b(1.)f(Over)q(vie)n(w)197 405 y Fi(What)28 b(is)g(DejaGn)o(u)g(?)596 |
| 547 y Fl(DejaGnu)19 b(is)f(a)g(framework)g(for)g(testing)h(other)g(pr)o |
| (ograms.)f(Its)g(purpose)g(is)h(to)g(pr)o(ovide)e(a)h(single)596 |
| 638 y(fr)o(ont)h(end)h(for)f(all)h(tests.)g(Think)g(of)g(it)g(as)f(a)h |
| (custom)g(library)g(of)f(T)-9 b(cl)20 b(pr)o(ocedur)o(es)e(crafted)g |
| (to)i(sup-)596 729 y(port)i(writing)i(a)e(test)h(harness.)f(A)h |
| Fj(T)-9 b(est)22 b(Harness)h Fl(is)g(the)g(testing)h(infrastr)o(uctur)o |
| (e)d(that)i(is)g(cr)o(eated)596 821 y(to)f(support)g(a)g(speci\002c)g |
| (pr)o(ogram)f(or)h(tool.)g(Each)g(pr)o(ogram)f(can)h(have)f(multiple)i |
| (testsuites,)f(all)596 912 y(supported)g(by)g(a)g(single)h(test)f |
| (harness.)h(DejaGnu)g(is)f(written)h(in)g(Expect,)e(which)i(in)g(turn)g |
| (uses)596 1003 y(T)-9 b(cl)19 b(--)g(T)-8 b(ool)21 b(command)f |
| (language.)f(Ther)o(e)g(is)h(mor)o(e)g(information)h(on)f(T)-9 |
| b(cl)19 b(at)h(the)g(Scriptics)3485 970 y Fh(1)3529 1003 |
| y Fl(web)596 1095 y(site)g(and)h(the)g(Expect)f(web)g(site)h(is)g(at)g |
| (NIST)1992 1061 y Fh(2)2016 1095 y Fl(.)596 1227 y(Julia)g(Menapace)f |
| (\002rst)i(coined)h(the)f(term)g(\223DejaGnu\224)f(to)i(describe)e(an)h |
| (earlier)f(testing)h(frame-)596 1319 y(work)30 b(at)f(Cygnus)h(Support) |
| f(she)h(had)f(written)h(for)f Fk(GDB)p Fl(.)h(When)g(we)f(r)o(eplaced)f |
| (it)i(with)g(the)596 1410 y(Expect-based)13 b(framework,)j(it)g(was)g |
| (like)g(DejaGnu)h(all)f(over)g(again.)f(Mor)o(e)g(importantly)-9 |
| b(,)17 b(it)f(was)596 1501 y(also)i(named)g(after)g(my)h(daughter)-6 |
| b(,)17 b(Deja)i(Snow)g(Savoye)2400 1468 y Fh(3)2442 1501 |
| y Fl(\(now)g(13)f(years)g(old)g(as)h(of)f(September)596 |
| 1593 y(2003\),)g(who)j(was)g(a)f(toddler)h(during)g(DejaGnu's)g |
| (beginnings.)596 1726 y(DejaGnu)g(of)o(fers)f(several)f(advantages)h |
| (for)g(testing:)p Black 596 1941 a Fg(\225)p Black 43 |
| w Fl(The)29 b(\003exibility)h(and)f(consistency)h(of)f(the)g(DejaGnu)h |
| (framework)f(make)g(it)g(easy)g(to)h(write)679 2033 y(tests)21 |
| b(for)f(any)h(pr)o(ogram,)f(with)h(either)g(batch)f(oriented,)h(or)g |
| (interactive)f(pr)o(ograms.)p Black 596 2124 a Fg(\225)p |
| Black 43 w Fl(DejaGnu)28 b(pr)o(ovides)e(a)h(layer)g(of)h(abstraction)f |
| (which)h(allows)g(you)g(to)g(write)f(tests)h(that)f(ar)o(e)679 |
| 2215 y(portable)21 b(to)h(any)f(host)i(or)f(tar)o(get)e(wher)o(e)h(a)g |
| (pr)o(ogram)g(must)i(be)e(tested.)g(For)h(instance,)g(a)f(test)679 |
| 2307 y(for)d Fk(GDB)h Fl(can)f(r)o(un)h(fr)o(om)g(any)f(supported)g |
| (host)i(system)f(on)g(any)g(supported)f(tar)o(get)f(system.)679 |
| 2398 y(DejaGnu)29 b(r)o(uns)h(tests)g(on)g(many)f(single)h(boar)o(d)e |
| (computers,)i(whose)g(operating)f(softwar)o(e)679 2489 |
| y(ranges)20 b(fr)o(om)g(a)h(simple)g(boot)g(monitor)h(to)f(a)g(r)o |
| (eal-time)e(OS.)p Black 596 2581 a Fg(\225)p Black 43 |
| w Fl(All)k(tests)h(have)f(the)g(same)h(output)g(format.)f(This)h(makes) |
| f(it)h(easy)f(to)h(integrate)f(testing)h(into)679 2672 |
| y(other)c(softwar)o(e)g(development)g(pr)o(ocesses.)g(DejaGnu's)h |
| (output)g(is)g(designed)f(to)h(be)f(parsed)679 2763 y(by)g(other)h |
| (\002ltering)h(script)f(and)f(it)h(is)g(also)g(human)g(r)o(eadable.)p |
| Black 596 2855 a Fg(\225)p Black 43 w Fl(Using)32 b(T)-9 |
| b(cl)31 b(and)g(Expect,)g(it's)h(easy)f(to)i(cr)o(eate)d(wrappers)g |
| (for)i(existing)g(testsuites.)g(By)g(in-)679 2946 y(corporating)25 |
| b(existing)g(tests)g(under)f(DejaGnu,)i(it's)f(easier)f(to)h(have)f(a)h |
| (single)g(set)g(of)g(r)o(eport)679 3037 y(analyse)20 |
| b(pr)o(ograms..)596 3170 y(Running)31 b(tests)g(r)o(equir)o(es)e(two)h |
| (things:)h(the)f(testing)h(framework)f(and)f(the)h(testsuites)h(them-) |
| 596 3261 y(selves.)21 b(T)-8 b(ests)23 b(ar)o(e)e(usually)h(written)h |
| (in)f(Expect)g(using)h(T)-9 b(cl,)21 b(but)h(you)h(can)f(also)g(use)g |
| (a)g(T)-9 b(cl)22 b(script)596 3353 y(to)g(r)o(un)h(a)e(testsuite)i |
| (that)f(is)h(not)f(based)g(on)h(Expect.)e(Expect)g(script)h |
| (\002lenames)h(conventionally)596 3444 y(use)d Fj(.exp)g |
| Fl(as)g(a)g(suf)o(\002x;)f(for)i(example,)e(the)i(main)f |
| (implementation)i(of)e(the)h(DejaGnu)g(test)g(driver)596 |
| 3535 y(is)g(in)g(the)g(\002le)g(r)o(untest.exp.\))197 |
| 3853 y Fi(What')-6 b(s)28 b(Ne)n(w)g(In)g(This)h(Release)596 |
| 3995 y Fl(This)d(r)o(elease)d(has)j(a)f(number)g(of)h(substantial)f |
| (changes)h(over)f(version)h(1.3.)e(The)h(most)i(visible)596 |
| 4086 y(change)i(is)g(that)h(the)f(version)h(of)f(Expect)g(and)f(T)-9 |
| b(cl)29 b(included)g(in)h(the)g(r)o(elease)d(ar)o(e)h(up-to-date)596 |
| 4178 y(with)e(the)g(curr)o(ent)f(stable)g(net)h(r)o(eleases.)f(The)g |
| (biggest)i(change)e(is)i(years)e(of)h(modi\002cations)h(to)596 |
| 4269 y(the)e(tar)o(get)g(con\002guration)h(system,)g(used)g(for)f(cr)o |
| (oss)h(testing.)g(While)g(this)g(gr)o(eatly)f(impr)o(oved)596 |
| 4360 y(cr)o(oss)f(testing,)g(is)h(has)f(made)g(that)g(subsystem)h(very) |
| f(complicated.)g(The)g(goal)g(is)h(to)f(have)g(this)596 |
| 4452 y(entir)o(ely)c(r)o(ewritten)g(using)i(iT)-9 b(cl)20 |
| b(by)h(the)g(next)g(r)o(elease.)e(Other)i(changes)g(ar)o(e:)p |
| Black 596 4667 a Fg(\225)p Black 43 w Fl(Mor)o(e)16 b(built-in)j |
| (support)f(for)f(building)i(tar)o(get)d(binaries)i(with)g(the)g(corr)o |
| (ect)f(linker)h(\003ags.)g(Cur)o(-)679 4759 y(r)o(ently)30 |
| b(this)g(only)i(works)f(with)g(GCC)f(as)g(the)g(cr)o(oss)g(compiler)-6 |
| b(,)30 b(pr)o(eferably)e(with)j(a)f(tar)o(get)679 4850 |
| y(supported)20 b(by)p 0 TeXcolorgray 21 w(Libgloss)p |
| Black(.)p Black 596 4983 a Fg(\225)p Black 43 w Fl(Lots)h(of)f(little)h |
| (bug)g(\002xes)g(fr)o(om)f(years)h(of)f(heavy)h(use)g(at)f(Cygnus)h |
| (Solutions.)p Black 596 5116 a Fg(\225)p Black 43 w Fl(DejaGnu)g(now)h |
| (uses)f(Automake)f(for)h(Make\002le)f(con\002guration.)p |
| Black 596 5249 a Fg(\225)p Black 43 w Fl(Updated)h(documentation,)i |
| (now)h(in)g(SGML)e(\(using)i(the)f(fr)o(ee)e(GNU)i(DocBook)h(tools)3475 |
| 5215 y Fh(4)3501 5249 y Fl(\))f(for)o(-)679 5340 y(mat.)p |
| Black 3642 5585 a Fj(1)p Black eop |
| %%Page: 2 8 |
| 2 7 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(1.)g(Overview)p Black Black 596 89 a Fg(\225)p Black |
| 43 w Fl(W)-5 b(indows)26 b(support.)f(Ther)o(e)f(is)i(beta)e(level)h |
| (support)g(for)g(W)-5 b(indows)27 b(that)e(is)g(still)h(a)f(work)g(in) |
| 679 180 y(pr)o(ogr)o(ess.)19 b(This)j(r)o(equir)o(es)d(the)i(Cygwin) |
| 1960 147 y Fh(5)2007 180 y Fl(POSIX)g(subsystem)h(for)e(W)-5 |
| b(indows.)596 432 y Fn(Windo)o(ws)24 b(Suppor)r(t)596 |
| 569 y Fl(T)-8 b(o)16 b(use)h(DejaGnu)g(on)f(W)-5 b(indows,)18 |
| b(you)f(need)e(to)i(\002rst)g(install)f(the)h(Cygwin)2950 |
| 536 y Fh(6)2992 569 y Fl(r)o(elease.)d(This)j(works)596 |
| 661 y(as)29 b(of)i(the)f(B20.1)e(r)o(elease.)h(Cygwin)i(is)f(a)g(POSIX) |
| g(system)h(for)f(W)-5 b(indows.)32 b(This)e(covers)g(both)596 |
| 752 y(utility)i(pr)o(ograms)e(and)h(a)g(library)g(that)g(adds)f(POSIX)i |
| (system)g(calls)f(to)h(W)-5 b(indows.)32 b(Among)596 |
| 843 y(them)22 b(is)f(pseudo)h(tty)g(support)g(for)f(W)-5 |
| b(indows)23 b(that)f(emulates)f(the)h(POSIX)g(pty)f(standar)o(d.)f(The) |
| 596 935 y(latest)h(Cygwin)h(is)g(always)f(available)f(fr)o(om)h(this)h |
| (location)2484 901 y Fh(7)2509 935 y Fl(.)g(This)g(works)g(well)f |
| (enough)i(to)e(r)o(un)596 1026 y Fj("make)g(check")f |
| Fl(of)i(the)g(GNU)g(development)g(tr)o(ee)f(on)h(W)-5 |
| b(indows)24 b(after)c(a)i(native)f(build.)h(But)g(the)596 |
| 1117 y(natur)o(e)d(of)i(ptys)g(on)h(W)-5 b(indows)22 |
| b(is)f(still)g(evolving.)h(Y)-8 b(our)21 b(mileage)g(may)g(vary)-9 |
| b(.)197 1518 y Fi(Design)28 b(Goals)596 1660 y Fl(DejaGnu)22 |
| b(gr)o(ew)g(out)g(of)g(the)h(internal)f(needs)f(of)i(Cygnus)f |
| (Solutions,)h(the)g(company)f(formerly)596 1751 y(known)j(as)e(Cygnus)i |
| (Support.)e(Cygnus)i(maintained)f(and)f(enhanced)h(a)f(variety)g(of)h |
| (fr)o(ee)f(pr)o(o-)596 1843 y(grams)d(in)h(many)h(dif)o(fer)o(ent)c |
| (envir)o(onments)k(and)e(we)h(needed)f(a)g(testing)h(tool)h(that:)p |
| Black 596 2058 a Fg(\225)p Black 43 w Fl(was)e(useful)h(to)g |
| (developers)f(while)i(\002xing)f(bugs;)p Black 596 2191 |
| a Fg(\225)p Black 43 w Fl(automated)f(r)o(unning)i(many)f(tests)g |
| (during)g(a)f(softwar)o(e)g(r)o(elease)f(pr)o(ocess;)p |
| Black 596 2324 a Fg(\225)p Black 43 w Fl(was)h(portable)g(among)i(a)e |
| (variety)g(of)h(host)h(computers;)p Black 596 2457 a |
| Fg(\225)p Black 43 w Fl(supported)e(cr)o(oss-development)g(testing;)p |
| Black 596 2590 a Fg(\225)p Black 43 w Fl(permitted)g(testing)h |
| (interactive)f(pr)o(ograms,)g(like)h Fk(GDB)p Fl(;)h(and)p |
| Black 596 2723 a Fg(\225)p Black 43 w Fl(permitted)e(testing)h(batch)g |
| (oriented)f(pr)o(ograms,)g(like)h Fk(GCC)p Fl(.)596 2855 |
| y(Some)33 b(of)g(the)g(r)o(equir)o(ements)g(pr)o(oved)f(challenging.)i |
| (For)g(example,)e(interactive)g(pr)o(ograms)596 2947 |
| y(do)23 b(not)i(lend)e(themselves)h(very)f(well)h(to)g(automated)f |
| (testing.)i(But)e(all)g(the)h(r)o(equir)o(ements)f(ar)o(e)596 |
| 3038 y(important:)g(for)g(instance,)g(it)h(is)f(imperative)g(to)g(make) |
| g(sur)o(e)g(that)g Fk(GDB)h Fl(works)g(as)f(well)g(when)596 |
| 3129 y(cr)o(oss-debugging)d(as)h(it)g(does)f(in)i(a)e(native)g |
| (con\002guration.)596 3262 y(Pr)o(obably)33 b(the)i(gr)o(eatest)e |
| (challenge)h(was)g(testing)h(in)g(a)f(cr)o(oss-development)g(envir)o |
| (onment.)596 3354 y(Most)41 b(cr)o(oss-development)h(envir)o(onments)g |
| (ar)o(e)e(customized)i(by)g(each)f(developer)-6 b(.)40 |
| b(Even)596 3445 y(when)48 b(buying)g(packaged)e(boar)o(ds)h(fr)o(om)g |
| (vendors)g(ther)o(e)g(ar)o(e)f(many)i(dif)o(fer)o(ences.)d(The)596 |
| 3536 y(communication)22 b(interfaces)d(vary)h(fr)o(om)g(a)g(serial)g |
| (line)h(to)g(Ethernet.)f(DejaGnu)i(was)e(designed)596 |
| 3628 y(with)29 b(a)f(modular)g(communication)j(setup,)d(so)h(that)f |
| (each)g(kind)h(of)g(communication)h(can)e(be)596 3719 |
| y(added)j(as)i(r)o(equir)o(ed)f(and)h(supported)g(ther)o(eafter)-6 |
| b(.)31 b(Once)j(a)e(communication)j(pr)o(ocedur)o(e)d(is)596 |
| 3810 y(coded,)21 b(any)h(test)g(can)g(use)g(it.)g(Curr)o(ently)f |
| (DejaGnu)i(can)f(use)g Fk(rsh)p Fl(,)g Fk(rlogin)p Fl(,)f |
| Fk(telnet)p Fl(,)e Fk(tip)p Fl(,)i Fk(kermit)596 3902 |
| y Fl(and)f Fk(mondfe)g Fl(for)g(r)o(emote)h(communications.)197 |
| 4220 y Fi(A)27 b(POSIX)h(conf)n(orming)j(test)d(frame)n(w)n(ork)596 |
| 4361 y Fl(DejaGnu)i(conforms)g(to)f(the)h(POSIX)g(1003.3)c(standar)o(d) |
| i(for)h(test)h(frameworks.)f(Rob)h(Savoye)596 4452 y(was)20 |
| b(a)g(member)h(of)g(that)g(committee.)596 4585 y(The)c(POSIX)i(standar) |
| o(d)d(1003.3)f(de\002nes)j(what)g(a)f(testing)i(framework)f(needs)f(to) |
| i(pr)o(ovide,)d(in)j(or)o(-)596 4677 y(der)g(to)h(permit)g(the)g(cr)o |
| (eation)f(of)h(POSIX)g(conformance)g(test)g(suites.)g(This)h(standar)o |
| (d)d(is)i(primar)o(-)596 4768 y(ily)25 b(oriented)h(to)g(r)o(unning)h |
| (POSIX)f(conformance)f(tests,)h(but)f(its)h(r)o(equir)o(ements)f(also)h |
| (support)596 4859 y(testing)18 b(of)f(featur)o(es)f(not)i(r)o(elated)d |
| (to)j(POSIX)g(conformance.)f(POSIX)g(1003.3)e(does)i(not)h(specify)f(a) |
| 596 4951 y(particular)g(testing)j(framework,)e(but)h(at)f(this)h(time)g |
| (ther)o(e)f(is)i(only)f(one)h(other)f(POSIX)g(conform-)596 |
| 5042 y(ing)j(test)h(framework:)e(TET)-6 b(.)21 b(TET)h(was)g(cr)o |
| (eated)e(by)i(Unisoft)h(for)f(a)f(consortium)j(comprised)e(of)596 |
| 5133 y(X/Open,)f(Unix)g(International)g(and)f(the)h(Open)g(Softwar)o(e) |
| e(Foundation.)596 5266 y(The)g(POSIX)h(documentation)h(r)o(efers)d(to)i |
| Fj(assertions)p Fl(.)h(An)f(assertion)g(is)g(a)f(description)h(of)g |
| (behav-)596 5357 y(ior)-6 b(.)21 b(For)i(example,)e(if)h(a)f(standar)o |
| (d)g(says)h(\223The)g(sun)g(shall)h(shine\224,)f(a)f(corr)o(esponding)i |
| (assertion)p Black 197 5585 a Fj(2)p Black eop |
| %%Page: 3 9 |
| 3 8 bop Black 0 TeXcolorgray Black 2985 -132 a Fj(Chapter)20 |
| b(1.)g(Overview)p Black 596 89 a Fl(might)25 b(be)f(\223The)h(sun)g(is) |
| g(shining.\224)g(A)f(test)h(based)f(on)h(this)g(assertion)g(would)h |
| (pass)e(or)h(fail)f(de-)596 180 y(pending)d(on)g(whether)g(it)g(is)h |
| (day)e(or)h(night.)h(It)e(is)i(important)f(to)g(note)h(that)e(the)h |
| (standar)o(d)f(being)596 272 y(tested)27 b(is)h(never)f(1003.3;)e(the)j |
| (standar)o(d)e(being)j(tested)e(is)h(some)g(other)h(standar)o(d,)c(for) |
| j(which)596 363 y(the)20 b(assertions)i(wer)o(e)e(written.)596 |
| 496 y(As)31 b(ther)o(e)g(is)g(no)h(testsuite)g(to)g(test)g(testing)g |
| (frameworks)f(for)h(POSIX)f(1003.3)e(conformance,)596 |
| 587 y(verifying)d(conformance)h(to)g(this)h(standar)o(d)d(is)i(done)g |
| (by)f(r)o(epeatedly)f(r)o(eading)h(the)h(standar)o(d)596 |
| 679 y(and)c(experimenting.)g(One)h(of)g(the)f(main)h(things)h(1003.3)c |
| (does)i(specify)g(is)h(the)g(set)g(of)f(allowed)596 770 |
| y(output)j(messages)h(and)f(their)h(de\002nitions.)g(Four)g(messages)g |
| (ar)o(e)e(supported)h(for)g(a)g(r)o(equir)o(ed)596 861 |
| y(featur)o(e)c(of)i(POSIX)h(conforming)h(systems)f(and)f(a)g(\002fth)h |
| (for)f(a)g(conditional)h(featur)o(e.)d(DejaGnu)596 953 |
| y(supports)d(the)h(use)f(of)g(all)g(\002ve)g(output)h(messages.)f(In)g |
| (this)h(sense)g(a)e(testsuite)i(that)f(uses)h(exactly)596 |
| 1044 y(these)26 b(messages)h(can)f(be)g(consider)o(ed)f(POSIX)i |
| (conforming.)h(These)e(de\002nitions)i(specify)e(the)596 |
| 1135 y(output)21 b(of)f(a)h(test)g(case:)197 1351 y(P)-8 |
| b(ASS)p Black Black 762 1484 a(A)20 b(test)h(has)g(succeeded.)e(That)h |
| (is,)h(it)g(demonstrated)g(that)f(the)h(assertion)g(is)g(tr)o(ue.)197 |
| 1658 y(XF)-6 b(AIL)p Black Black 762 1791 a(POSIX)24 |
| b(1003.3)e(does)j(not)g(incorporate)g(the)f(notion)i(of)f(expected)e |
| (failur)o(es,)g(so)i Fj(P)-11 b(ASS)p Fl(,)25 b(in-)762 |
| 1882 y(stead)20 b(of)h Fj(XP)-11 b(ASS)p Fl(,)22 b(must)g(also)f(be)g |
| (r)o(eturned)f(for)h(test)g(cases)g(which)h(wer)o(e)f(expected)f(to)h |
| (fail)762 1974 y(and)31 b(did)g(not.)g(This)h(means)g(that)f |
| Fj(P)-11 b(ASS)32 b Fl(is)g(in)g(some)g(sense)f(mor)o(e)g(ambiguous)i |
| (than)e(if)762 2065 y Fj(XP)-11 b(ASS)21 b Fl(is)g(also)g(used.)197 |
| 2239 y(F)-6 b(AIL)p Black Black 762 2372 a(A)25 b(test)h(has)g(pr)o |
| (oduced)e(the)i(bug)g(it)g(was)g(intended)f(to)i(captur)o(e.)d(That)h |
| (is,)h(it)g(has)g(demon-)762 2464 y(strated)17 b(that)h(the)g |
| (assertion)h(is)f(false.)f(The)h Fj(F)-9 b(AIL)18 b Fl(message)g(is)h |
| (based)e(on)i(the)f(test)g(case)f(only)-9 b(.)762 2555 |
| y(Other)25 b(messages)h(ar)o(e)e(used)h(to)h(indicate)f(a)g(failur)o(e) |
| f(of)h(the)h(framework.)e(As)i(with)g Fj(P)-11 b(ASS)p |
| Fl(,)762 2646 y(POSIX)21 b(tests)g(must)g(r)o(eturn)f |
| Fj(F)-9 b(AIL)21 b Fl(rather)f(than)h Fj(XF)-9 b(AIL)20 |
| b Fl(even)g(if)h(a)f(failur)o(e)g(was)g(expected.)197 |
| 2821 y(UNRESOL)-8 b(VED)p Black Black 762 2953 a(A)25 |
| b(test)g(pr)o(oduced)f(indeterminate)h(r)o(esults.)g(Usually)-9 |
| b(,)25 b(this)h(means)g(the)g(test)f(executed)f(in)762 |
| 3045 y(an)16 b(unexpected)f(fashion;)h(this)h(outcome)g(r)o(equir)o(es) |
| f(that)g(a)f(human)i(being)g(go)f(over)g(r)o(esults,)762 |
| 3136 y(to)24 b(determine)g(if)g(the)g(test)g(should)h(have)f(passed)f |
| (or)i(failed.)e(This)h(message)g(is)h(also)f(used)762 |
| 3227 y(for)i(any)g(test)h(that)g(r)o(equir)o(es)e(human)i(intervention) |
| h(because)e(it)g(is)h(beyond)g(the)g(abilities)762 3319 |
| y(of)c(the)g(testing)h(framework.)e(Any)h(unr)o(esolved)g(test)g |
| (should)h(r)o(esolved)e(to)i Fj(P)-11 b(ASS)23 b Fl(or)g |
| Fj(F)-9 b(AIL)762 3410 y Fl(befor)o(e)19 b(a)h(test)h(r)o(un)g(can)g |
| (be)f(consider)o(ed)g(\002nished.)762 3543 y(Note)26 |
| b(that)h(for)f(POSIX,)h(each)f(assertion)h(must)g(pr)o(oduce)e(a)h |
| (test)h(r)o(esult)f(code.)g(If)g(the)h(test)762 3634 |
| y(isn't)f(actually)g(r)o(un,)g(it)g(must)h(pr)o(oduce)e |
| Fj(UNRESOL)-6 b(VED)24 b Fl(rather)h(than)h(just)h(leaving)f(that)762 |
| 3725 y(test)20 b(out)g(of)h(the)f(output.)g(This)h(means)f(that)g(you)h |
| (have)f(to)g(be)g(car)o(eful)f(when)i(writing)g(tests)762 |
| 3817 y(to)e(not)h(car)o(elessly)e(use)h(T)-9 b(cl)19 |
| b(commands)h(like)f Fj(r)o(eturn)p Fl(---if)f(you)i(alter)e(the)h |
| (\003ow)h(of)g(contr)o(ol)f(of)762 3908 y(the)h(T)-9 |
| b(cl)21 b(code)f(you)i(must)f(insur)o(e)g(that)f(every)g(test)h(still)h |
| (pr)o(oduces)e(some)h(r)o(esult)f(code.)762 4041 y(Her)o(e)f(ar)o(e)h |
| (some)h(of)g(the)g(ways)f(a)h(test)g(may)f(wind)h(up)g |
| Fj(UNRESOL)-6 b(VED)p Fl(:)p Black 596 4390 a Fg(\225)p |
| Black 43 w Fl(A)20 b(test's)h(execution)g(is)g(interr)o(upted.)p |
| Black 596 4522 a Fg(\225)p Black 43 w Fl(A)28 b(test)h(does)h(not)g(pr) |
| o(oduce)e(a)g(clear)g(r)o(esult.)h(This)h(is)f(usually)h(because)e |
| (ther)o(e)g(was)h(an)g Fj(ER-)679 4614 y(ROR)21 b Fl(fr)o(om)g(DejaGnu) |
| h(while)g(pr)o(ocessing)f(the)g(test,)g(or)h(because)e(ther)o(e)g(wer)o |
| (e)h(thr)o(ee)f(or)h(mor)o(e)679 4705 y Fj(W)-8 b(ARNING)20 |
| b Fl(messages.)h(Any)g Fj(W)-8 b(ARNING)20 b Fl(or)h |
| Fj(ERROR)g Fl(messages)g(can)g(invalidate)f(the)h(out-)679 |
| 4796 y(put)j(of)h(the)f(test.)h(This)g(usually)g(r)o(equir)o(es)e(a)h |
| (human)h(being)g(to)g(examine)f(the)h(output)g(to)g(de-)679 |
| 4888 y(termine)20 b(what)h(r)o(eally)f(happened---and)f(to)i(impr)o |
| (ove)f(the)h(test)g(case.)p Black 596 5021 a Fg(\225)p |
| Black 43 w Fl(A)f(test)h(depends)f(on)h(a)g(pr)o(evious)f(test,)h |
| (which)g(fails.)p Black 596 5153 a Fg(\225)p Black 43 |
| w Fl(The)f(test)h(was)g(set)g(up)f(incorr)o(ectly)-9 |
| b(.)p Black 3642 5585 a Fj(3)p Black eop |
| %%Page: 4 10 |
| 4 9 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(1.)g(Overview)p Black 197 89 a Fl(UNTESTED)p Black |
| Black 762 222 a(A)26 b(test)i(was)f(not)h(r)o(un.)f(This)h(is)g(a)f |
| (place-holder)-6 b(,)25 b(used)i(when)h(ther)o(e)f(is)g(no)h(r)o(eal)e |
| (test)i(case)762 313 y(yet.)596 446 y(The)20 b(only)h(r)o(emaining)f |
| (output)h(message)g(left)e(is)i(intended)f(to)h(test)f(featur)o(es)f |
| (that)h(ar)o(e)f(speci\002ed)596 537 y(by)h(the)h(applicable)f(POSIX)h |
| (standar)o(d)e(as)i(conditional:)197 753 y(UNSUPPOR)m(TED)p |
| Black Black 762 886 a(Ther)o(e)27 b(is)h(no)h(support)f(for)g(the)h |
| (tested)e(case.)h(This)g(may)g(mean)h(that)f(a)f(conditional)i(fea-)762 |
| 977 y(tur)o(e)20 b(of)i(an)g(operating)f(system,)h(or)g(of)g(a)f |
| (compiler)-6 b(,)21 b(is)h(not)h(implemented.)e(DejaGnu)i(also)762 |
| 1069 y(uses)17 b(this)i(message)e(when)h(a)g(testing)g(envir)o(onment)g |
| (\(often)f(a)g(\223bar)o(e)f(boar)o(d\224)g(tar)o(get\))g(lacks)762 |
| 1160 y(basic)23 b(support)g(for)h(compiling)g(or)g(r)o(unning)h(the)f |
| (test)f(case.)g(For)h(example,)e(a)h(test)h(for)f(the)762 |
| 1251 y(system)17 b(subr)o(outine)g Fj(gethostname)e Fl(would)j(never)e |
| (work)h(on)g(a)g(tar)o(get)e(boar)o(d)h(r)o(unning)i(only)762 |
| 1343 y(a)i(boot)h(monitor)-6 b(.)596 1476 y(DejaGnu)31 |
| b(uses)g(the)h(same)e(output)i(pr)o(ocedur)o(es)d(to)i(pr)o(oduce)f |
| (these)h(messages)h(for)e(all)h(test-)596 1567 y(suites)e(and)g(these)g |
| (pr)o(ocedur)o(es)f(ar)o(e)f(alr)o(eady)h(known)i(to)g(conform)g(to)f |
| (POSIX)h(1003.3.)c(For)j(a)596 1658 y(DejaGnu)f(testsuite)h(to)f |
| (conform)h(to)g(POSIX)f(1003.3,)d(you)k(must)g(avoid)e(the)i |
| Fj(setup)p Fl(xfail})e(pr)o(o-)596 1750 y(cedur)o(e)j(as)h(described)g |
| (in)h(the)g Fj(P)-11 b(ASS)32 b Fl(section)h(above)e(and)g(you)i(must)f |
| (be)f(car)o(eful)f(to)j(r)o(eturn)596 1841 y Fj(UNRESOL)-6 |
| b(VED)16 b Fl(wher)o(e)i(appr)o(opriate,)f(as)h(described)f(in)i(the)g |
| Fj(UNRESOL)-6 b(VED)17 b Fl(section)i(above.)197 2087 |
| y Fo(Notes)p Black 596 2234 a Fl(1.)p Black 69 w(http://www)-8 |
| b(.scriptics.com)p Black 596 2366 a(2.)p Black 69 w |
| (http://expect.nist.gov)p Black 596 2499 a(3.)p Black |
| 69 w(mailto:deja@welcomehome.or)o(g)p Black 596 2632 |
| a(4.)p Black 69 w(http://nis-www)g(.lanl.gov/~r)o |
| (osalia/mydocs/docbook-intr)o(o.html)p Black 596 2765 |
| a(5.)p Black 69 w(http://www)g(.cygwin.com/)p Black 596 |
| 2898 a(6.)p Black 69 w(http://www)g(.cygwin.com/)p Black |
| 596 3031 a(7.)p Black 69 w(http://www)g(.cygwin.com/)p |
| Black 197 5585 a Fj(4)p Black eop |
| %%Page: 5 11 |
| 5 10 bop Black 0 TeXcolorgray Black Black 197 95 a Fp(Chapter)34 |
| b(2.)f(Getting)h(DejaGn)o(u)f(up)h(and)g(running)596 |
| 288 y Fl(This)c(chapter)f(was)h(originally)g(written)g(by)g(Niklaus)g |
| (Giger)g(\(ngiger@mus.ch\))g(because)f(he)596 380 y(lost)21 |
| b(a)f(week)h(to)g(\002gur)o(e)f(out)i(how)f(DejaGnu)h(works)f(and)f |
| (how)i(to)f(write)g(a)f(\002rst)h(test.)596 512 y(Follow)27 |
| b(these)f(instr)o(uctions)i(as)e(closely)h(a)e(possible)i(in)f(or)o |
| (der)f(get)h(a)g(good)h(insight)g(into)g(how)596 604 |
| y(DejaGnu)32 b(works,)g(else)g(you)g(might)h(r)o(un)f(into)h(a)e(lot)i |
| (of)f(subtle)g(pr)o(oblems.)f(Y)-8 b(ou)33 b(have)e(been)596 |
| 695 y(warned.)596 828 y(It)16 b(should)h(be)f(no)g(big)h(pr)o(oblems)f |
| (installing)h(DejaGnu)g(using)g(your)g(package)e(manager)g(or)h(fr)o |
| (om)596 919 y(the)k(sour)o(ce)h(code.)f(Under)g(a)g(Debian/GNU/Linux)h |
| (systems)h(just)g(type)e(\(as)g(r)o(oot\))596 1084 y |
| Ff(apt-get)43 b(dejagnu)596 1259 y Fl(.)20 b(These)g(examples)g(wer)o |
| (e)f(r)o(un)i(on)g(a)f(primary)g(machine)h(with)g(a)f(AMD)g(K6)g(and)g |
| (a)g(Mac)g(Power)o(-)596 1350 y(book)h(G3)g(serving)g(as)f(a)g(r)o |
| (emote)h(tar)o(get.)596 1483 y(The)16 b(tests)h(for)g(W)-5 |
| b(indows)18 b(wer)o(e)e(r)o(un)i(under)e(W)-5 b(indows)18 |
| b(NT)f(using)h(the)f(actual)f(Cygwin)h(version)596 1574 |
| y(\(1.3.x)25 b(as)j(of)g(October)g(2001\).)d(It's)j(tar)o(get)f(system) |
| h(was)g(a)f(PPC)h(embedded)f(system)h(r)o(unning)596 |
| 1666 y(vxW)-8 b(orks.)197 1934 y Fi(T)i(est)28 b(y)m(our)i |
| (installation)596 2076 y Fl(Cr)o(eate)22 b(a)i(new)h(user)f(called)f |
| ("dgt")h(\(DejaGnuT)-8 b(est\),)25 b(which)g(uses)g(bash)f(as)g(it)g |
| (login)i(shell.)f(PS1)596 2167 y(must)e(be)g(set)h(to)f('\\u:\\w\\$)h |
| (')g(in)f(its)h(~/.bashr)o(c.)f(Login)h(as)f(this)h(user)-6 |
| b(,)22 b(cr)o(eate)g(an)h(empty)g(dir)o(ec-)596 2259 |
| y(tory)e(and)f(change)h(the)g(working)g(dir)o(ectory)f(to)i(it.)e(e.g) |
| 596 2424 y Ff(dgt:~$)43 b(mkdir)h(~/dejagnu.test)596 |
| 2506 y(dgt:~$)f(cd)i(~/dejagnu.test)596 2680 y Fl(Now)27 |
| b(you)f(ar)o(e)f(r)o(eady)g(to)i(test)g(DejaGnu's)g(main)g(pr)o(ogram)f |
| (called)f(r)o(untest.)i(The)f(expecteted)596 2772 y(output)21 |
| b(is)g(shown)596 2988 y Fk(Example)d(2-1.)h(Runtest)g(output)g(in)h(a)g |
| (empty)g(directory)596 3153 y Ff(dgt:~/dejagnu.test$)41 |
| b(runtest)596 3235 y(WARNING:)i(Couldn't)g(find)i(the)f(global)g |
| (config)g(file.)596 3317 y(WARNING:)f(No)h(tool)h(specified)e(Test)596 |
| 3399 y(Run)h(By)g(dgt)h(on)f(Sun)g(Nov)h(25)f(17:07:03)g(2001)g(Native) |
| g(configuration)e(is)j(i586-pc-linux-gnu)596 3482 y(===)f(tests)g(===) |
| 596 3564 y(Schedule)f(of)h(variations:)f(unix)596 3646 |
| y(Running)g(target)h(unix)g(Using)g |
| (/usr/share/dejagnu/baseboards/unix.exp)39 b(as)44 b(board)g |
| (description)f(file)h(for)h(target.)596 3728 y(Using)f |
| (/usr/share/dejagnu/config/unix.exp)39 b(as)44 b(generic)g(interface)f |
| (file)h(for)h(target.)596 3810 y(ERROR:)e(Couldn't)h(find)g(tool)g |
| (config)g(file)g(for)g(unix.)596 3893 y(===)g(Summary)f(===)596 |
| 4025 y Fl(W)-8 b(e)23 b(will)h(show)g(you)f(later)g(how)h(to)f(get)g |
| (rid)g(of)g(all)g(the)g(W)-8 b(ARNING-)23 b(and)g(ERROR-messages.)596 |
| 4117 y(The)h(\002les)h(testr)o(un.sum)g(and)f(testr)o(un.log)h(have)f |
| (been)g(cr)o(eated,)e(which)j(do)g(not)g(inter)o(est)f(us)g(at)596 |
| 4208 y(this)d(point.)g(Let's)g(r)o(emove)f(them.)596 |
| 4332 y Ff(:~/dejagnu.test$)42 b(rm)i(testrun.sum)f(testrun.log)596 |
| 4598 y Fn(Windo)o(ws)596 4735 y Fl(On)31 b(W)-5 b(indows)31 |
| b(systems)h(DejaGnu)f(is)g(part)e(of)i(a)f(port)g(of)h(a)f(lot)h(of)f |
| (Unix)g(tools)i(to)f(the)f(W)-5 b(in-)596 4827 y(dows)26 |
| b(OS,)f(called)g(Cygwin.)h(Cygwin)h(may)e(be)g(downloaded)h(and)f |
| (installed)h(fr)o(om)f(a)g(mirr)o(or)596 4918 y(of)e(http://www)-8 |
| b(.cygwin.com/.)26 b(All)d(examples)f(wer)o(e)g(also)i(r)o(un)f(on)h(W) |
| -5 b(indows)25 b(NT)-6 b(.)22 b(If)h(noth-)596 5009 y(ing)c(is)g(said,) |
| f(you)h(can)g(assume)g(that)f(you)i(should)f(get)g(the)g(same)f(output) |
| i(as)e(on)i(a)e(Unix)g(system.)596 5142 y(Y)-8 b(ou)22 |
| b(will)g(need)g(a)f(telnet)g(daemon)h(if)f(you)h(want)g(to)g(use)f(a)g |
| (W)-5 b(indows)23 b(box)f(as)f(a)g(r)o(emote)g(tar)o(get.)596 |
| 5233 y(Ther)o(e)e(seems)i(to)g(be)g(a)f(fr)o(eewar)o(e)e(telnet)j |
| (daemon)g(at)f(http://www)-8 b(.\002ctional.net/.)p Black |
| 3642 5585 a Fj(5)p Black eop |
| %%Page: 6 12 |
| 6 11 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(2.)g(Getting)g(DejaGnu)h(up)g(and)f(running)p Black |
| 596 89 a Fn(Getting)26 b(the)f(sour)n(ce)f(code)g(f)n(or)i(the)f(calc)g |
| (e)o(xample)596 226 y Fl(If)52 b(you)i(ar)o(e)e(r)o(unning)j(a)e |
| (Debian)g(distribution)h(you)g(can)f(\002nd)h(the)f(examples)g(under) |
| 596 317 y(/usr/shar)o(e/doc/dejagnu/examples.)39 b(These)g(examples)g |
| (seem)g(to)h(be)f(missing)i(in)f(Red)596 409 y(Hat's)26 |
| b(RPM.)g(In)g(this)h(case)e(download)i(the)f(sour)o(ces)g(of)g(DejaGnu) |
| h(and)e(adjust)h(the)h(pathes)f(to)596 500 y(the)20 b(DejaGnu)i |
| (examples)e(accor)o(dingly)-9 b(.)197 901 y Fi(Create)28 |
| b(a)f(minimal)i(pr)n(oject,)g(e)r(.g.)f(calc)596 1043 |
| y Fl(In)j(this)h(section)g(you)f(will)h(to)f(start)g(a)g(small)g(pr)o |
| (oject,)g(using)h(the)f(sample)g(application)g(calc,)596 |
| 1134 y(which)21 b(is)g(part)f(of)h(your)g(DejaGnu)h(distribution)596 |
| 1386 y Fn(A)j(simple)h(pr)n(oject)f(without)h(the)f(GNU)g(autotools)596 |
| 1523 y Fl(The)h(r)o(untest)h(pr)o(ogram)e(can)h(be)g(r)o(un)h |
| (standalone.)f(All)g(the)h(autoconf/automake)f(support)h(is)596 |
| 1614 y(just)d(cause)f(those)i(pr)o(ograms)e(ar)o(e)f(commonly)k(used)d |
| (for)h(other)g(GNU)g(applications.)f(The)h(key)596 1706 |
| y(to)h(r)o(unning)i(r)o(untest)e(standalone)g(is)h(having)f(the)g |
| (local)g(site.exp)g(\002le)g(setup)g(corr)o(ectly)-9 |
| b(,)24 b(which)596 1797 y(automake)c(does.)596 1930 y(The)g(generated)g |
| (site.exp)g(should)i(like)f(like:)596 2095 y Ff(set)44 |
| b(tool)g(calc)596 2177 y(set)g(srcdir)g(.)596 2259 y(set)g(objdir)g |
| (/home/dgt/dejagnu.test)596 2609 y Fn(Using)25 b |
| (autoconf/autoheader/automake)596 2746 y Fl(W)-8 b(e)24 |
| b(have)g(to)h(pr)o(epar)o(e)d(some)j(input)g(\002le)g(in)g(or)o(der)f |
| (to)h(r)o(un)g(autocon)g(and)f(automake.)g(Ther)o(e)g(is)596 |
| 2837 y(book)e(\223GNU)g(autoconf,)g(automake)g(and)f(libtool\224)i(by)f |
| (Garry)g(V)-11 b(.)22 b(V)-8 b(aughan,)22 b(et)g(al.)f(NewRider)-6 |
| b(,)596 2929 y(ISBN)20 b(1-57870-190-2)14 b(which)22 |
| b(describes)e(this)i(pr)o(ocess)e(thor)o(oughly)-9 b(.)596 |
| 3061 y(Fr)o(om)16 b(the)g(calc)f(example)h(distributed)f(with)i(the)g |
| (DejaGnu)f(documentation)h(you)g(should)g(copy)596 3153 |
| y(the)22 b(pr)o(ogram)f(\002le)i(itself)f(\(calc.c\))e(and)i(some)h |
| (additional)e(\002les,)i(which)g(you)f(might)i(examine)d(a)596 |
| 3244 y(little)g(bit)g(close)g(to)g(derive)f(their)g(meanings.)596 |
| 3409 y Ff(dgt:~/dejagnu.test$)41 b(cp)k(-r)f |
| (/usr/share/doc/dejagnu/examples/calc/\\)596 3491 y |
| ({configure.in,Makefile.am,calc.c,tes)o(tsuite)o(})39 |
| b(.)596 3666 y Fl(In)25 b(Makemake.am)e(note)i(the)g(pr)o(esence)f(of)g |
| (the)h(AUT)o(OMAKE_OPTIONS)e(=)i(dejagnu.)f(This)596 |
| 3757 y(option)d(is)g(needed.)596 3890 y(Run)f(aclocal)f(to)i(generate)e |
| (aclocal.m4,)f(which)j(is)f(a)g(collection)g(of)g(macr)o(os)g(needed)e |
| (by)i(con\002g-)596 3981 y(ur)o(e.in)596 4146 y Ff(dgt:~/dejagnu.test$) |
| 41 b(aclocal)596 4321 y Fl(autoconf)24 b(is)i(another)f(part)f(of)g |
| (the)h(auto-tools.)h(Run)f(it)g(to)h(generate)e(con\002gur)o(e)g(based) |
| g(on)i(in-)596 4412 y(formation)21 b(contained)g(in)g(con\002gur)o |
| (e.in.)596 4577 y Ff(dgt:~/dejagnu.test$)41 b(autoconf)596 |
| 4752 y Fl(autoheader)19 b(is)i(another)g(part)f(of)h(the)g(auto-tools.) |
| g(Run)h(it)f(to)g(generate)f(calc.h.in.)596 4917 y Ff |
| (dgt:~/dejagnu.test$)41 b(autoheader)596 5091 y Fl(The)31 |
| b(Make\002le.am)f(of)i(this)g(example)e(was)i(developed)e(as)i(port)f |
| (of)g(the)h(DejaGnu)g(distribu-)596 5183 y(tion.)22 b(Adapt)f |
| (Make\002le.am)g(for)h(this)h(test.)f(Replace)f(the)i(line)f |
| (\223#noinst_PROGRAMS)h(=)f(calc\224)596 5274 y(to)32 |
| b(\223bin_PROGRAMS)g(=)h(calc\224.)e(Change)h(the)h(RUNTESTDEF)-6 |
| b(AUL)g(TFLAGS)29 b(fr)o(om)j(\223$$sr)o(-)596 5365 y |
| (cdir/testsuite\224)20 b(to)h(\223./testsuite\224.)p |
| Black 197 5585 a Fj(6)p Black eop |
| %%Page: 7 13 |
| 7 12 bop Black 0 TeXcolorgray Black 2169 -132 a Fj(Chapter)20 |
| b(2.)g(Getting)g(DejaGnu)h(up)f(and)g(running)p Black |
| 596 89 a Fl(Running)25 b(automake)f(at)f(this)i(point)g(contains)f(a)g |
| (series)g(of)f(warning)i(in)f(its)h(output)f(as)g(shown)596 |
| 180 y(in)d(the)g(following)h(example:)596 396 y Fk(Example)c(2-2.)h |
| (Sample)g(output)g(of)i(automake)e(with)g(missing)h(\002les)596 |
| 561 y Ff(dgt:~/dejagnu.test$)41 b(automake)j(--add-missing)596 |
| 644 y(automake:)f(configure.in:)f(installing)i(`./install-sh')596 |
| 726 y(automake:)f(configure.in:)f(installing)i(`./mkinstalldirs')596 |
| 808 y(automake:)f(configure.in:)f(installing)i(`./missing')596 |
| 890 y(automake:)f(Makefile.am:)g(installing)g(`./INSTALL')596 |
| 972 y(automake:)g(Makefile.am:)g(required)g(file)h(`./NEWS')g(not)g |
| (found)596 1055 y(automake:)f(Makefile.am:)g(required)g(file)h |
| (`./README')f(not)i(found)596 1137 y(automake:)e(Makefile.am:)g |
| (installing)g(`./COPYING')596 1219 y(automake:)g(Makefile.am:)g |
| (required)g(file)h(`./AUTHORS')f(not)i(found)596 1301 |
| y(automake:)e(Makefile.am:)g(required)g(file)h(`./ChangeLog')f(not)h |
| (found)596 1383 y(configure.in:)e(4:)j(required)e(file)h(`./calc.h.in') |
| f(not)h(found)596 1466 y(Makefile.am:6:)e(required)h(directory)h(./doc) |
| g(does)g(not)g(exist)596 1640 y Fl(Cr)o(eate)34 b(a)i(empty)g(dir)o |
| (ectory)f(doc)i(and)e(empty)i(\002les)f(INST)-6 b(ALL,)35 |
| b(NEWS,)g(README,)g(AU-)596 1731 y(THORS,)26 b(ChangeLog)i(and)e |
| (COPYING.)i(The)f(default)e(COPYING)j(will)g(point)g(to)f(the)g(GNU)596 |
| 1823 y(Public)20 b(License)g(\(GPL\).)g(In)g(a)g(r)o(eal)f(pr)o(oject)h |
| (it)g(would)h(be)f(time)h(to)f(add)g(some)g(meaningfull)h(text)596 |
| 1914 y(in)g(each)f(\002le.)596 2047 y(Adapt)f(calc)h(to)h(your)g(envir) |
| o(onment)h(by)f(calling)g(con\002gur)o(e.)596 2263 y |
| Fk(Example)d(2-3.)h(Sample)g(output)g(of)i(con\002gure)596 |
| 2428 y Ff(dgt:~/dejagnu.test$)41 b(./configure)596 2510 |
| y(creating)i(cache)h(./config.cache)596 2592 y(checking)f(whether)h(to) |
| g(enable)g(maintainer-specific)e(portions)h(of)i(Makefiles...)d(no)596 |
| 2674 y(checking)h(for)h(a)h(BSD)f(compatible)f(install...)h |
| (/usr/bin/install)e(-c)596 2757 y(checking)h(whether)h(build)g |
| (environment)f(is)h(sane...)g(yes)596 2839 y(checking)f(whether)h(make) |
| g(sets)g(${MAKE}...)f(yes)596 2921 y(checking)g(for)h(working)g |
| (aclocal...)f(found)596 3003 y(checking)g(for)h(working)g(autoconf...)f |
| (found)596 3085 y(checking)g(for)h(working)g(automake...)f(found)596 |
| 3168 y(checking)g(for)h(working)g(autoheader...)f(found)596 |
| 3250 y(checking)g(for)h(working)g(makeinfo...)f(found)596 |
| 3332 y(checking)g(for)h(gcc...)g(gcc)g(checking)g(whether)g(the)g(C)h |
| (compiler)e(\(gcc)h(\))h(works...)e(yes)596 3414 y(checking)g(whether)h |
| (the)g(C)h(compiler)e(\(gcc)h(\))h(is)f(a)h(cross-compiler...)d(no)596 |
| 3496 y(checking)h(whether)h(we)g(are)g(using)g(GNU)h(C...)f(yes)596 |
| 3578 y(checking)f(whether)h(gcc)g(accepts)g(-g...)g(yes)596 |
| 3661 y(checking)f(for)h(a)h(BSD)f(compatible)f(install...)h |
| (/usr/bin/install)e(-c)596 3743 y(checking)h(how)h(to)h(run)f(the)g(C)h |
| (preprocessor...)d(gcc)j(-E)596 3825 y(checking)e(for)h(stdlib.h...)f |
| (yes)596 3907 y(checking)g(for)h(strcmp...)g(yes)596 |
| 3989 y(updating)f(cache)h(./config.cache)596 4072 y(creating)f |
| (./config.status)596 4154 y(creating)g(Makefile)g(creating)h(calc.h)596 |
| 4328 y Fl(If)24 b(you)h(ar)o(e)e(familiar)h(with)h(GNU)g(softwar)o(e,)e |
| (this)j(output)f(should)g(not)g(contain)g(any)g(surprise)596 |
| 4420 y(to)c(you.)g(Any)g(err)o(ors)e(should)j(be)e(easy)h(to)g(\002x)g |
| (for)f(such)i(a)e(simple)h(pr)o(ogram.)596 4552 y(Build)f(the)h(calc)f |
| (executable:)596 4768 y Fk(Example)e(2-4.)h(Sample)g(output)g(building) |
| g(calc)596 4933 y Ff(dgt:~/dejagnu.test$)41 b(make)596 |
| 5016 y(gcc)j(-DHAVE_CONFIG_H)e(-I.)i(-I.)h(-I.)f(-g)h(-O2)f(-c)g |
| (calc.c)596 5098 y(gcc)g(-g)g(-O2)h(-o)f(calc)g(calc.o)596 |
| 5272 y Fl(Y)-8 b(ou)20 b(pr)o(epar)o(ed)c(a)i(few)h(\002les)g(and)g |
| (then)g(called)g(some)g(commands.)h(Respecting)f(the)h(right)f(or)o |
| (der)596 5363 y(assur)o(es)31 b(a)h(automatic)g(and)f(corr)o(ectly)h |
| (compiled)g(calc)g(pr)o(ogram.)f(The)h(following)i(example)596 |
| 5455 y(r)o(esumes)20 b(the)h(corr)o(ect)f(or)o(der)-6 |
| b(.)p Black 3642 5585 a Fj(7)p Black eop |
| %%Page: 8 14 |
| 8 13 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(2.)g(Getting)g(DejaGnu)h(up)g(and)f(running)p Black |
| 596 89 a Fk(Example)e(2-5.)h(Creating)g(the)h(calc)f(program)i(using)f |
| (the)g(GNU)g(autotools)596 254 y Ff(dgt:~/dejagnu.test$)41 |
| b(aclocal)596 336 y(dgt:~/dejagnu.test$)g(autoconf)596 |
| 419 y(dgt:~/dejagnu.test$)g(autoheader)596 501 y(dgt:~/dejagnu.test$)g |
| (automake)j(--add-missing)596 583 y(dgt:~/dejagnu.test$)d(./configure) |
| 596 665 y(dgt:~/dejagnu.test$)g(make)596 840 y Fl(Play)28 |
| b(with)h(calc)f(and)h(verify)f(whether)g(it)h(works)h(corr)o(ectly)-9 |
| b(.)27 b(A)h(sample)h(session)g(might)h(look)596 931 |
| y(like)21 b(this:)596 1096 y Ff(dgt:~/dejagnu.test$)41 |
| b(./calc)596 1178 y(calc:)j(version)596 1261 y(Version:)f(1.1)596 |
| 1343 y(calc:)h(add)g(3)g(4)596 1425 y(7)596 1507 y(calc:)g(multiply)f |
| (3)i(4)596 1589 y(12)596 1671 y(calc:)f(multiply)f(2)i(4)596 |
| 1754 y(12)596 1836 y(calc:)f(quit)596 2010 y Fl(Look)21 |
| b(at)f(the)h(intentional)h(bug)f(that)g(2)f(times)h(4)f(equals)h(12.) |
| 596 2143 y(The)c(tests)h(r)o(un)g(by)g(DejaGnu)g(need)f(a)h(\002le)f |
| (called)g(site.exp,)g(which)i(is)f(automatically)f(generated)596 |
| 2234 y(if)25 b(we)g(call)g(\223make)f(site.exp\224.)g(This)i(was)f(the) |
| h(purpose)f(of)g(the)g(\223AUT)o(OMAKE_OPTIONS)e(=)596 |
| 2326 y(dejagnu\224)d(in)h(Make\002le.am.)596 2542 y Fk(Example)d(2-6.)h |
| (Sample)g(output)g(generating)g(a)h(site.exp)596 2707 |
| y Ff(dgt:)44 b(make)g(site.exp)596 2789 y(dgt:~/dejagnu.test$)d(make)j |
| (site.exp)596 2871 y(Making)f(a)i(new)f(site.exp)g(file...)197 |
| 3314 y Fi(Our)29 b(\002r)n(st)g(automated)h(tests)596 |
| 3566 y Fn(Running)24 b(the)i(test)f(f)n(or)h(the)f(calc)g(e)o(xample) |
| 596 3703 y Fl(Now)c(we)g(ar)o(e)e(r)o(eady)g(to)i(call)g(the)g |
| (automated)f(tests)596 3919 y Fk(Example)e(2-7.)h(Sample)g(output)g(of) |
| i(runtest)e(in)h(a)h(con\002gured)e(directory)596 4084 |
| y Ff(dgt:~/dejagnu.test$)41 b(make)j(check)596 4166 y(make)g |
| (check-DEJAGNU)596 4248 y(make[1]:)f(Entering)g(directory)h |
| (`/home/dgt/dejagnu.test')d(srcdir=`cd)i(.)h(&&)h(pwd`;)f(export)g |
| (srcdir;)f(\\)596 4330 y(EXPECT=expect;)f(export)i(EXPECT;)f(\\)i |
| (runtest=runtest;)d(\\)596 4413 y(if)i(/bin/sh)g(-c)g("$runtest)f |
| (--version")h(>)g(/dev/null)g(2>&1;)g(then)g(\\)596 4495 |
| y($runtest)f(--tool)h(calc)g(CALC=`pwd`/calc)e(--srcdir)i(./testsuite)f |
| (;)h(\\)596 4577 y(else)g(echo)g("WARNING:)f(could)h(not)g(find)h |
| (\\`runtest'")e(1>&2;)h(:;\\)596 4659 y(fi)596 4741 y(WARNING:)f |
| (Couldn't)g(find)i(the)f(global)g(config)g(file.)596 |
| 4823 y(WARNING:)f(Couldn't)g(find)i(tool)f(init)g(file)596 |
| 4906 y(Test)g(Run)g(By)g(dgt)h(on)f(Sun)h(Nov)f(25)g(21:42:21)g(2001) |
| 596 4988 y(Native)f(configuration)g(is)h(i586-pc-linux-gnu)909 |
| 5152 y(===)h(calc)f(tests)g(===)596 5317 y(Schedule)f(of)h(variations:) |
| 730 5399 y(unix)p Black 197 5585 a Fj(8)p Black eop |
| %%Page: 9 15 |
| 9 14 bop Black 0 TeXcolorgray Black 2169 -132 a Fj(Chapter)20 |
| b(2.)g(Getting)g(DejaGnu)h(up)f(and)g(running)p Black |
| 596 89 a Ff(Running)43 b(target)h(unix)596 171 y(Using)g |
| (/usr/share/dejagnu/baseboards/unix.e)o(xp)39 b(as)44 |
| b(board)g(description)f(file)i(for)f(target.)596 253 |
| y(Using)g(/usr/share/dejagnu/config/unix.exp)39 b(as)44 |
| b(generic)g(interface)f(file)h(for)h(target.)596 336 |
| y(Using)f(./testsuite/config/unix.exp)c(as)k(tool-and-target-specific)d |
| (interface)i(file.)596 418 y(Running)g(./testsuite/calc.test/calc.exp)d |
| (...)596 500 y(FAIL:)k(multiply2)f(\(bad)h(match\))596 |
| 664 y(===)g(calc)g(Summary)g(===)596 829 y(#)g(of)h(expected)e(passes)h |
| (5)596 911 y(#)g(of)h(unexpected)e(failures)g(1)596 993 |
| y(/home/Dgt/dejagnu.test/calc)d(version)j(Version:)h(1.1)596 |
| 1075 y(make[1]:)f(***)h([check-DEJAGNU])f(Fehler)g(1)596 |
| 1158 y(make[1]:)g(Leaving)h(directory)f(`/home/Dgt/dejagnu.test')e |
| (make:)j(***)g([check-am])f(Fehler)h(2)596 1332 y Fl(Did)18 |
| b(you)h(see)g(the)g(line)g(\223F)-6 b(AIL:\223?)16 b(The)j(test)f |
| (cases)h(for)f(calc)g(catch)g(the)h(bug)g(in)g(the)g(calc.c)e(\002le.)i |
| (Fix)596 1423 y(the)h(err)o(or)g(in)h(calc.c)f(later)g(as)h(the)g |
| (following)h(examples)e(assume)h(a)f(unchanged)h(calc.c.)596 |
| 1556 y(Examine)g(the)h(output)h(\002les)f(calc.sum)g(and)g(calc.log.)g |
| (T)-7 b(ry)21 b(to)h(understand)g(the)g(testcases)g(writ-)596 |
| 1647 y(ten)j(in)g(~/dejagnu.test/testsuite/calc.test/calc.exp.)f(T)-8 |
| b(o)26 b(understand)e(Expect)g(you)i(might)596 1739 y(take)17 |
| b(a)g(look)i(at)f(the)g(book)h("Exploring)f(Expect",)f(which)i(is)f(an) |
| g(excellent)f(r)o(esour)o(ce)g(for)h(learning)596 1830 |
| y(and)26 b(using)i(Expect.)d(\(Pub:)i(O'Reilly)-9 b(,)27 |
| b(ISBN)f(1-56592-090-2\))21 b(The)26 b(book)i(contains)g(hundr)o(eds) |
| 596 1921 y(of)20 b(examples)g(and)h(also)g(includes)g(a)f(tutorial)h |
| (on)g(T)-9 b(cl.)20 b(Exploring)i(Expect)e(is)h(602)e(pages)h(long.)596 |
| 2229 y Fn(The)k(v)n(arious)h(con\002g)f(\002les)h(or)g(ho)o(w)g(to)g(a) |
| o(v)m(oid)g(warnings)596 2366 y Fl(DejaGnu)f(may)f(be)g(customized)g |
| (by)h(each)e(user)-6 b(.)23 b(It)h(\002rst)f(sear)o(ches)f(for)h(a)g |
| (\002le)h(called)e(~/.dejag-)596 2458 y(nur)o(c.)e(Cr)o(eate)f(the)h |
| (\002le)h(~/.dejagnur)o(c)g(and)f(insert)h(the)g(following)h(line:)596 |
| 2623 y Ff(puts)44 b("I)g(am)h(~/.dejagnurc")596 2797 |
| y Fl(Rer)o(un)33 b(make)g(check.)g(T)-8 b(est)33 b(whether)g(the)g |
| (output)g(contains)h("I)f(am)g(~/.dejagnur)o(c".)f(Cr)o(eate)596 |
| 2889 y(~/my_dejagnu.exp)20 b(and)g(insert)h(the)g(following)i(line:)596 |
| 3054 y Ff(puts)44 b("I)g(am)h(~/my_dejagnu.exp")596 3228 |
| y Fl(In)21 b(a)f(Bash-Shell)g(enter)596 3393 y Ff(dgt:~/dejagnu.test$) |
| 41 b(export)j(DEJAGNU=~/my_dejagnu.exp)596 3568 y Fl(Run)21 |
| b(\223make)e(check\224)h(again.)f(The)h(output)h(should)g(not)g |
| (contain)g(\223W)-8 b(ARNING:)20 b(Couldn't)h(\002nd)596 |
| 3659 y(the)d(global)g(con\002g)h(\002le.\224.)e(Cr)o(eate)g(the)h |
| (sub-dir)o(ectory)f(lib.)h(Cr)o(eate)e(the)j(\002le)f(\223calc.exp\224) |
| e(in)i(it)g(and)596 3750 y(insert)j(the)f(following)j(line:)596 |
| 3916 y Ff(puts)44 b("I)g(am)h(lib/calc.exp")596 4090 |
| y Fl(The)d(last)h(warning)h(\223W)-8 b(ARNING:)42 b(Couldn't)i(\002nd)f |
| (tool)h(init)f(\002le\224)g(should)h(not)f(be)g(part)596 |
| 4181 y(of)51 b(the)h(output)h(of)e(make)h(check.)f(Cr)o(eate)g(the)h |
| (dir)o(ectory)f(~/boar)o(ds.)g(Cr)o(eate)f(the)i(\002le)596 |
| 4273 y(~/boar)o(ds/standar)o(d.exp)18 b(and)i(insert)h(the)g(following) |
| h(line:)596 4438 y Ff(puts)44 b("I)g(am)h(boards/standard.exp")596 |
| 4612 y Fl(If)25 b(the)g(variable)g(DEJAGNU)f(is)i(still)h(not)f(empty)g |
| (then)g(the)g(\(abbr)o(eviated\))c(output)k(of)g(\223make)596 |
| 4703 y(check\224)20 b(should)h(look)h(like)f(this:)596 |
| 4919 y Fk(Example)d(2-8.)h(Sample)g(output)g(of)i(runtest)e(with)h(the) |
| g(usual)f(con\002guration)g(\002les)596 5085 y Ff(dgt:~/dejagnu.test$) |
| 41 b(make)j(check)596 5167 y(<...>)596 5249 y(fi)596 |
| 5331 y(I)g(am)h(~/.dejagnurc)596 5413 y(I)f(am)h(~/my_dejagnu.exp)p |
| Black 3642 5585 a Fj(9)p Black eop |
| %%Page: 10 16 |
| 10 15 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(2.)g(Getting)g(DejaGnu)h(up)g(and)f(running)p Black |
| 596 89 a Ff(I)44 b(am)h(lib/calc.exp)596 171 y(Test)f(Run)g(By)g(dgt)h |
| (on)f(Sun)h(Nov)f(25)g(22:19:14)g(2001)596 253 y(Native)f |
| (configuration)g(is)h(i586-pc-linux-gnu)820 418 y(===)g(calc)g(tests)g |
| (===)596 500 y(Using)g(/home/Dgt/boards/standard.exp)39 |
| b(as)45 b(standard)e(board)h(description\\)596 582 y(file)g(for)g |
| (build.)596 664 y(I)g(am)h(~/boards/standard.exp)596 |
| 747 y(Using)f(/home/Dgt/boards/standard.exp)39 b(as)45 |
| b(standard)e(board)h(description\\)640 829 y(file)h(for)f(host.)596 |
| 911 y(I)g(am)h(~/boards/standard.exp)596 1075 y(Schedule)e(of)h |
| (variations:)685 1158 y(unix)596 1322 y(Running)f(target)h(unix)596 |
| 1404 y(Using)g(/home/Dgt/boards/standard.exp)39 b(as)45 |
| b(standard)e(board)h(description\\)640 1486 y(file)h(for)f(target.)596 |
| 1569 y(I)g(am)h(~/boards/standard.exp)596 1651 y(Using)f |
| (/usr/share/dejagnu/baseboards/unix.e)o(xp)39 b(as)44 |
| b(board)g(description)f(file\\)596 1733 y(for)h(target.)596 |
| 1815 y(<...>)596 1989 y Fl(It)28 b(is)g(up)g(to)g(you)h(to)f(decide)f |
| (when)i(and)e(wher)o(e)g(to)i(use)f(any)g(of)g(the)g(above)f(mentioned) |
| i(con-)596 2081 y(\002g)g(\002les)h(for)f(customizing.)h(This)g |
| (chapters)f(showed)g(you)h(wher)o(e)f(and)g(in)g(which)i(or)o(der)d |
| (the)596 2172 y(dif)o(fer)o(ent)18 b(con\002g)k(\002les)f(ar)o(e)e(r)o |
| (un.)596 2480 y Fn(When)24 b(tr)n(oub)o(le)i(strikes)596 |
| 2617 y Fl(Calling)34 b(r)o(untest)h(with)h(the)e('-v'-\003ag)g(shows)i |
| (you)f(in)g(even)f(mor)o(e)g(details)g(which)i(\002les)e(ar)o(e)596 |
| 2708 y(sear)o(ched)19 b(in)i(which)h(or)o(der)-6 b(.)19 |
| b(Passing)i(it)g(several)f(times)h(gives)g(mor)o(e)g(and)f(mor)o(e)h |
| (details.)596 2924 y Fk(Example)d(2-9.)h(Displaying)g(details)f(about)i |
| (runtest)f(execution)596 3089 y Ff(runtest)43 b(-v)i(-v)f(-v)h(--tool)e |
| (calc)i(CALC=`pwd`/calc)d(--srcdir)h(./testsuite)596 |
| 3264 y Fl(Calling)23 b(r)o(untest)h(with)g(the)f('--debug'-\003ag)f |
| (logs)i(a)f(lot)h(of)f(details)g(to)g(dbg.log)h(wher)o(e)e(you)i(can) |
| 596 3355 y(analyse)c(it)h(afterwar)o(ds.)596 3488 y(In)31 |
| b(all)f(test)h(cases)g(you)g(can)f(temporary)h(adjust)g(the)g |
| (verbosity)g(of)g(information)g(by)g(adding)596 3579 |
| y(the)25 b(following)i(T)-9 b(cl-command)24 b(to)i(any)f(tcl)h(\002le)f |
| (that)g(gets)g(loaded)g(by)g(dejagnu,)g(for)g(instance,)596 |
| 3671 y(~/.dejagnur)o(c:)596 3836 y Ff(set)44 b(verbose)f(9)596 |
| 4185 y Fn(T)-5 b(esting)24 b(\223Hello)i(w)n(orld\224)e(locall)o(y)596 |
| 4322 y Fl(This)99 b(test)g(checks,)g(whether)g(the)g(built-in)g(shell)h |
| (command)f(\223echo)f(Hello)596 4414 y(world\224)72 b(will)i(r)o(eally) |
| e(write)h(\223Hello)g(world\224)g(on)g(the)h(console.)f(Cr)o(eate)f |
| (the)h(\002le)596 4505 y |
| (~/dejagnu.test/testsuite/calc.test/local_echo.exp.)37 |
| b(It)h(should)g(contain)h(the)e(following)596 4596 y(lines)596 |
| 4812 y Fk(Example)18 b(2-10.)g(A)j(\002rst)f(\(local\))f(test)g(case) |
| 596 4977 y Ff(set)44 b(test)g("Local)g(Hello)g(World")596 |
| 5060 y(send)g("echo)g(Hello)g(World")596 5142 y(expect)f({)730 |
| 5224 y(-re)h("Hello)g(World")89 b({)44 b(pass)h("$test")e(})596 |
| 5306 y(})596 5481 y Fl(Run)21 b(r)o(untest)g(again)g(and)f(verify)g |
| (the)h(output)h(\223calc.log\224)p Black 197 5585 a Fj(10)p |
| Black eop |
| %%Page: 11 17 |
| 11 16 bop Black 0 TeXcolorgray Black 2169 -132 a Fj(Chapter)20 |
| b(2.)g(Getting)g(DejaGnu)h(up)f(and)g(running)p Black |
| 197 89 a Fi(A)27 b(\002r)n(st)j(remote)e(test)596 231 |
| y Fl(T)-8 b(esting)21 b(r)o(emote)g(tar)o(gets)f(is)h(a)g(lot)g |
| (trickier)g(especially)g(if)g(you)g(ar)o(e)f(using)i(an)e(embedded)g |
| (tar)o(get)596 322 y(which)28 b(has)f(no)h(built)g(in)g(support)f(for)g |
| (things)i(like)e(a)g(compiler)-6 b(,)27 b(ftp)g(server)g(or)g(a)g |
| (Bash-shell.)596 413 y(Befor)o(e)19 b(you)i(can)g(test)f(calc)h(on)g(a) |
| f(r)o(emote)h(tar)o(get)e(you)i(have)g(to)g(acquir)o(e)f(a)g(few)g |
| (basics)h(skills.)596 665 y Fn(Setup)k(telnet)h(to)f(y)n(our)f(o)o(wn)h |
| (host)596 802 y Fl(The)g(easiest)g(r)o(emote)g(host)h(is)g(usually)g |
| (the)f(host)h(you)g(ar)o(e)e(working)j(on.)f(In)f(this)h(example)f(we) |
| 596 894 y(will)16 b(use)g(telnet)g(to)g(login)h(in)f(your)h(own)f |
| (workstation.)h(For)f(security)g(r)o(eason)f(you)i(should)f(never)596 |
| 985 y(have)27 b(a)h(telnet)g(deamon)g(r)o(unning)i(on)e(machine)h |
| (connected)f(on)g(the)h(internet,)f(as)g(passwor)o(d)596 |
| 1076 y(and)17 b(usernames)h(ar)o(e)f(transmitted)h(in)h(clear)e(text.)h |
| (W)-8 b(e)18 b(assume)h(you)f(know)i(how)f(to)f(setup)h(your)596 |
| 1168 y(machine)i(for)f(a)g(telnet)h(daemon.)596 1300 |
| y(Next)k(try)g(whether)g(you)h(may)g(login)g(in)g(your)g(own)g(host)g |
| (by)g(issuing)g(the)g(command)f(\223telnet)596 1392 y(localhost.1\224.) |
| f(In)h(or)o(der)f(to)h(be)f(able)g(to)h(distinguish)i(between)d(a)h |
| (normal)g(session)h(an)f(a)f(telnet)596 1483 y(login)d(add)f(the)h |
| (following)h(lines)g(to)f(/home/dgt/.bashr)o(c.)596 1648 |
| y Ff(if)44 b([)h("$REMOTEHOST")d(])596 1730 y(then)730 |
| 1813 y(PS1='remote:\\w\\$)g(')596 1895 y(fi)596 2069 |
| y Fl(Now)21 b(on)g(the)g(machine)g(a)f(\223r)o(emote\224)g(login)i |
| (looks)g(like)f(this:)596 2285 y Fk(Example)d(2-11.)g(Sample)h(log)i |
| (of)g(a)f(telnet)f(login)h(to)g(localhost)596 2450 y |
| Ff(dgt:~/dejagnu.test$)41 b(telnet)j(localhost)596 2532 |
| y(Trying)f(127.0.0.1...)596 2615 y(Connected)g(to)h(127.0.0.1.)596 |
| 2697 y(Escape)f(character)h(is)g('^]'.)596 2779 y(Debian)f(GNU/Linux)h |
| (testing/unstable)e(Linux)596 2861 y(K6Linux)h(login:)h(dgt)596 |
| 2943 y(Password:)596 3026 y(Last)g(login:)f(Sun)i(Nov)f(25)h(22:46:34)e |
| (2001)h(from)g(localhost)g(on)g(pts/4)596 3108 y(Linux)g(K6Linux)f |
| (2.4.14)h(#1)g(Fre)h(Nov)f(16)h(19:28:25)e(CET)h(2001)h(i586)f(unknown) |
| 596 3190 y(No)g(mail.)596 3272 y(remote:~$)f(exit)596 |
| 3354 y(logout)596 3437 y(Connection)g(closed)g(by)i(foreign)f(host.)596 |
| 3786 y Fn(A)25 b(test)h(case)e(f)n(or)h(login)h(via)f(telnet)596 |
| 3923 y Fl(In)30 b(or)o(der)g(to)h(de\002ne)f(a)g(corr)o(ect)f(setup)i |
| (we)f(have)h(add)e(a)h(line)h(containing)h(\223set)e(tar)o(get)f |
| (unix\224)596 4014 y(either)24 b(to)h(~/.dejagnur)o(c)f(or)h(to)g |
| (~/my_dejagnu.exp.)f(In)h(~/boar)o(ds/standar)o(d.exp)d(add)i(the)596 |
| 4106 y(following)e(four)e(lines)i(to)f(de\002ne)f(a)h(few)f(patterns)g |
| (for)h(the)g(DejaGnu)g(telnet)g(login)h(pr)o(ocedur)o(e.)596 |
| 4322 y Fk(Example)c(2-12.)g(De\002ning)i(a)g(remote)g(target)f(board) |
| 596 4487 y Ff(set_board_info)42 b(shell_prompt)177 b("remote:")596 |
| 4569 y(set_board_info)42 b(telnet_username)g("dgt")596 |
| 4651 y(set_board_info)g(telnet_password)g("top_secret")596 |
| 4733 y(set_board_info)g(hostname)357 b("localhost")596 |
| 4908 y Fl(As)26 b(DejaGnu)h(will)g(be)f(parsing)g(the)g(telnet)h |
| (session)g(output)g(for)f(some)h(well)g(known)h(pattern)596 |
| 4999 y(the)17 b(output)g(ther)o(e)f(ar)o(e)g(a)h(lot)g(of)g(things)h |
| (that)f(can)g(go)h(wr)o(ong.)f(If)f(you)i(have)f(any)g(pr)o(oblems)g |
| (verify)596 5090 y(your)k(setup:)p Black 596 5306 a Fg(\225)p |
| Black 43 w Fl(Is)f Ff(/etc/motd)g Fl(empty?)p Black 596 |
| 5439 a Fg(\225)p Black 43 w Fl(Is)g Ff(/etc/issue.net)f |
| Fl(empty?)p Black 3601 5585 a Fj(11)p Black eop |
| %%Page: 12 18 |
| 12 17 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(2.)g(Getting)g(DejaGnu)h(up)g(and)f(running)p Black |
| Black 596 89 a Fg(\225)p Black 43 w Fl(Exists)g(a)h(empty)g |
| Ff(~/.hushlogin)p Fl(?)p Black 596 222 a Fg(\225)p Black |
| 43 w Fl(The)f(LANG)h(envir)o(onment)g(variable)e(must)j(be)e(either)h |
| (empty)g(or)g(set)g(to)g(\223C\224.)596 355 y(T)-8 b(o)75 |
| b(test)h(the)f(login)i(via)e(telnet)g(write)h(a)f(sample)g(test)g |
| (case.)g(Cr)o(eate)e(the)j(\002le)596 446 y |
| (~/dejagnu.test/testsuite/calc.test/r)o(emote_echo.exp)56 |
| b(and)h(add)f(the)h(following)h(few)596 537 y(lines:)596 |
| 753 y Fk(Example)18 b(2-13.)g(DejaGnu)i(script)f(for)j(logging)e(in)g |
| (into)g(a)h(remote)e(target)596 918 y Ff(puts)44 b("this)g(is)g |
| (remote_echo.exp)e(target)i(for)h($target)e(")596 1001 |
| y(target_info)f($target)596 1083 y(#set)i(verbose)f(9)596 |
| 1165 y(set)h(shell_id)f([remote_open)g($target])596 1247 |
| y(set)h(test)g("Remote)g(login)g(to)g($target")596 1329 |
| y(#set)g(verbose)f(0)596 1412 y(puts)h("Spawn)f(id)i(for)f(remote)g |
| (shell)g(is)h($shell_id")596 1494 y(if)f({)h($shell_id)e(>)i(0)f(})h({) |
| 730 1576 y(pass)f("$test")596 1658 y(})g(else)g({)730 |
| 1740 y(fail)g("Remote)g(open)g(to)g($target")596 1823 |
| y(})596 1997 y Fl(In)21 b(the)f(r)o(untest)i(output)f(you)g(should)h |
| (\002nd)f(something)h(like:)596 2162 y Ff(Running)43 |
| b(./testsuite/calc.test/local_echo.exp)c(...)596 2244 |
| y(Running)k(./testsuite/calc.test/remote_echoo.exp)c(...)596 |
| 2327 y(this)44 b(is)g(remote_echo.exp)e(target)i(is)h(unix)596 |
| 2409 y(Spawn)f(id)g(for)g(remote)g(shell)g(is)h(exp7)596 |
| 2583 y Fl(Have)15 b(again)i(a)f(look)h(at)f(calc.log)h(to)g(get)f(a)g |
| (feeling)h(how)g(DejaGnu)g(and)g(expect)e(parse)h(the)h(input.)596 |
| 2891 y Fn(Remote)25 b(testing)h(\223Hello)f(w)n(orld\224)596 |
| 3028 y Fl(Next)g(you)h(will)g(transform)f(the)h(above)f(\223hello)g |
| (world\224)h(example)e(to)i(its)g(r)o(emote)f(equivalent.)596 |
| 3119 y(This)c(can)f(be)h(done)g(by)f(adding)h(the)g(following)h(lines)f |
| (to)g(our)g(\002le)g(r)o(emote_echo.exp.)596 3335 y Fk(Example)d(2-14.) |
| g(A)j(\002rst)f(\(local\))f(remote)h("Hello)g(world")h(test)596 |
| 3500 y Ff(set)44 b(test)g("Remote_send)f(Hello)h(World")596 |
| 3583 y(set)g(status)g([remote_send)e($target)i("echo)g(\\"Hello\\")f |
| (\\"World\\"\\n")g(])596 3665 y(pass)h("$test")596 3747 |
| y(set)g(test)g("Remote_expect)e(Hello)i(World")596 3829 |
| y(remote_expect)e($target)i(5)g({)730 3911 y(-re)g("Hello)g(World")89 |
| b({)44 b(pass)h("$test")e(})596 3994 y(})596 4168 y Fl(Call)18 |
| b(make)h(check.)g(The)h(output)f(should)h(contain)g(\223#)f(of)g |
| (expected)f(passes)h(9\224)f(and)h(\223#)f(of)h(unex-)596 |
| 4259 y(cpected)g(failur)o(es)h(1\224.)596 4392 y(Have)45 |
| b(a)h(look)h(at)f(the)g(pr)o(ocedur)o(es)f(in)h(/usr/shar)o |
| (e/dejagnu/r)o(emote.exp)g(to)g(have)g(an)596 4483 y(overview)20 |
| b(of)h(the)g(of)o(fer)o(ed)d(pr)o(ocedur)o(es)h(and)h(their)h(featur)o |
| (es.)596 4616 y(Now)g(setup)g(a)g(r)o(eal)e(tar)o(get.)h(In)h(the)g |
| (following)i(example)d(we)h(assume)g(as)g(tar)o(get)f(a)g(PowerBook)596 |
| 4708 y(r)o(unning)32 b(Debian.)e(As)h(above)f(add)g(a)g(test)h(user)g |
| ("dgt",)f(install)h(telnet)g(and)g(FTP)g(servers.)f(In)596 |
| 4799 y(or)o(der)19 b(to)i(distinguish)i(it)e(fr)o(om)f(the)h(host)h |
| (add)d(the)i(line)596 4964 y Ff(PS1='test:>')596 5138 |
| y Fl(to)50 b(/home/dgt/.bash_pr)o(o\002le.)h(Also)g(add)e(a)h(corr)o |
| (esponding)h(entry)g("powerbook")g(to)596 5230 y(/etc/hosts)e(and)f |
| (verify)f(that)h(you)h(ar)o(e)d(able)h(to)i(ping,)f(telnet)g(and)g(ftp) |
| g(to)g(the)g(tar)o(get)596 5321 y("powerbook".)p Black |
| 197 5585 a Fj(12)p Black eop |
| %%Page: 13 19 |
| 13 18 bop Black 0 TeXcolorgray Black 2169 -132 a Fj(Chapter)20 |
| b(2.)g(Getting)g(DejaGnu)h(up)f(and)g(running)p Black |
| 596 89 a Fl(In)29 b(or)o(der)f(to)i(let)f(r)o(untest)h(r)o(un)g(its)f |
| (test)h(on)g(the)f("powerbook")h(tar)o(get)e(change)h(the)g(following) |
| 596 180 y(lines)21 b(in)g(~/boar)o(ds/standar)o(d.exp:)596 |
| 396 y Fk(Example)d(2-15.)g(Board)j(de\002nition)d(for)k(a)e(remote)g |
| (target)596 561 y Ff(set_board_info)42 b(protocol)357 |
| b("telnet")596 644 y(set_board_info)42 b(telnet_username)g("dgt")596 |
| 726 y(set_board_info)g(telnet_password)g("top_secret")596 |
| 808 y(set_board_info)g(shell_prompt)177 b("test:>)44 |
| b(")596 890 y(set_board_info)e(hostname)357 b("powerbook")596 |
| 1065 y Fl(Now)26 b(call)f(r)o(untest)h(again)g(with)g(the)g(same)g(ar)o |
| (guments)f(and)g(verify)g(whether)h(all)g(went)g(okay)596 |
| 1156 y(by)20 b(taking)h(a)g(close)g(look)h(at)e(calc.log.)596 |
| 1464 y Fn(T)-7 b(ransf)o(erring)23 b(\002les)i(fr)n(om/to)h(the)f(tar)o |
| (g)q(et)596 1601 y Fl(A)20 b(simple)h(pr)o(ocedur)o(e)e(like)i(this)g |
| (will)h(do)f(the)g(job)g(for)f(you:)596 1817 y Fk(Example)e(2-16.)g(T) |
| -9 b(est)20 b(script)g(to)h(transfer)f(a)g(\002le)f(to)i(a)f(remote)g |
| (target)596 1982 y Ff(set)44 b(test)g("Remote_download")596 |
| 2064 y(puts)g("Running)f(Remote_download")596 2146 y(#)h(set)h(verbose) |
| e(9)596 2229 y(set)h(remfile)f(/home/dgt/dejagnu2)596 |
| 2393 y(set)h(status)g([remote_download)e($target)h |
| (/home/dgt/.dejagnurc)f($remfile])596 2475 y(if)i({)h("$status")e(==)h |
| ("")h(})g({)820 2557 y(fail)f("Remote)f(download)h(to)g($remfile)g(on)g |
| ($target")596 2640 y(})g(else)g({)730 2722 y(pass)g("$test")596 |
| 2804 y(})596 2968 y(puts)g("status)f(of)i(remote_download)d(ist)i |
| ($status")596 3050 y(#)g(set)h(verbose)e(0)596 3225 y |
| Fl(After)16 b(r)o(unning)k(r)o(untest)e(again,)f(check)h(whether)g(the) |
| g(\002le)g(dejagnu2)f(exists)h(on)h(the)f(tar)o(get.)e(This)596 |
| 3316 y(example)26 b(will)h(only)h(work)f(if)g(the)g(r)o(cp)f(command)h |
| (works)h(with)f(your)h(tar)o(get.)d(If)i(you)g(have)f(a)596 |
| 3407 y(working)32 b(FTP-server)f(on)h(the)f(tar)o(get)g(you)h(can)f |
| (use)h(it)f(by)h(adding)f(the)g(following)i(lines)g(to)596 |
| 3499 y(~/boar)o(ds/standar)o(d.exp:)596 3715 y Fk(Example)18 |
| b(2-17.)g(De\002ning)i(a)g(board)g(to)h(use)f(FTP)h(as)f(\002le)f |
| (transport)596 3880 y Ff(set_board_info)42 b(file_transfer)132 |
| b("ftp")596 3962 y(set_board_info)42 b(ftp_username)177 |
| b("dgt")596 4044 y(set_board_info)42 b(ftp_password)177 |
| b("1234")596 4394 y Fn(Preparing)23 b(f)n(or)i(cr)n(osscompilation)596 |
| 4531 y Fl(For)32 b(cr)o(osscompiling)i(you)f(need)f(working)h |
| (binutils,)g(gcc)f(and)g(a)g(base)g(library)g(like)g(libc)h(or)596 |
| 4622 y(glib)26 b(for)g(your)g(tar)o(get.)f(It)h(is)g(beyond)g(the)h |
| (scope)f(of)g(this)g(document)h(to)f(describe)g(how)h(to)f(get)596 |
| 4713 y(it)f(working.)h(The)e(following)j(examples)d(assume)h(a)g(cr)o |
| (oss)g(compiler)g(for)g(PowerPC)g(which)h(is)596 4805 |
| y(called)19 b(linux-powerpc-gcc.)596 4938 y(Add)f(AC_CANONICAL_T)-6 |
| b(ARGET)16 b(in)j(dejagnu.test/con\002gur)o(e.in)h(at)f(the)g |
| (following)h(loca-)596 5029 y(tion.)h(Copy)g(con\002g.guess)h(fr)o(om)e |
| (/usr/shar)o(e/automake)h(to)g(dejagnu.test.)596 5194 |
| y Ff(AM_CONFIG_HEADER\(calc.h\))596 5276 y(AC_CANONICAL_TARGET\([]\)) |
| 596 5358 y(AM_INIT_AUTOMAKE\(calc,)41 b(1.1\))p Black |
| 3601 5585 a Fj(13)p Black eop |
| %%Page: 14 20 |
| 14 19 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(2.)g(Getting)g(DejaGnu)h(up)g(and)f(running)p Black |
| 596 89 a Fl(Y)-8 b(ou)24 b(need)g(to)g(r)o(un)h(automake)e(2.5)g(or)h |
| (later)-6 b(.)22 b(Depending)j(on)f(your)g(installation)h(calling)f |
| (auto-)596 180 y(conf2.5)19 b(instead)i(of)f(autoconf)h(is)g(not)h |
| (needed.)d(The)i(sequence)g(to)g(r)o(egenerate)e(all)i(\002les)g(is:) |
| 596 396 y Fk(Example)d(2-18.)g(Using)i(autotools)f(for)j(cross)f |
| (development)596 561 y Ff($)44 b(autoconf2.5)596 644 |
| y($)g(autoheader)596 726 y($)g(automake)596 808 y($)g(./configure)f |
| (--host=powerpc-linux)f(--target=powerpc-linux)596 890 |
| y(configure:)h(WARNING:)g(If)i(you)f(wanted)g(to)g(set)h(the)f(--build) |
| g(type,)g(don't)g(use)g(--host.)775 972 y(If)g(a)h(cross)f(compiler)f |
| (is)i(detected)e(then)i(cross)f(compile)f(mode)h(will)h(be)f(used.)596 |
| 1055 y(checking)f(build)h(system)g(type...)f(./config.guess:)g |
| (./config.guess:)f(No)j(such)f(file)g(or)g(directory)596 |
| 1137 y(configure:)f(error:)g(cannot)h(guess)g(build)g(type;)g(you)h |
| (must)f(specify)f(one)596 1219 y($)h(cp)h |
| (/usr/share/automake/config.guess)39 b(.)596 1301 y($)44 |
| b(./configure)f(--host=powerpc-linux)f(--target=powerpc-linux)596 |
| 1383 y(configure:)h(WARNING:)g(If)i(you)f(wanted)g(to)g(set)h(the)f |
| (--build)g(type,)g(don't)g(use)g(--host.)596 1466 y(If)g(a)h(cross)f |
| (compiler)f(is)i(detected)e(then)h(cross)g(compile)g(mode)g(will)g(be)h |
| (used.)f(\\)596 1548 y(checking)f(build)h(system)g(type...)f |
| (i586-pc-linux-gnu)596 1630 y(checking)g(host)h(system)g(type...)g |
| (powerpc-unknown-linux-gnu)596 1712 y(<...>)596 1794 |
| y(checking)f(whether)h(we)g(are)g(cross)g(compiling...)f(yes)596 |
| 1877 y(<...>)596 1959 y(Configuration:)596 2041 y(Source)g(code)h |
| (location:)g(.)596 2123 y(C)g(Compiler:)f(powerpc-linux-gcc)596 |
| 2205 y(C)h(Compiler)g(flags:)f(-g)i(-O2)596 2380 y Fl(Everything)21 |
| b(should)g(be)g(r)o(eady)e(to)i(r)o(ecompile)f(for)h(the)g(tar)o(get:) |
| 596 2545 y Ff($)44 b(make)596 2627 y(powerpc-linux-gcc)d |
| (-DHAVE_CONFIG_H)i(-I.)h(-I.)g(-I.)h(-g)f(-O2)h(-c)f(calc.c)596 |
| 2709 y(powerpc-linux-gcc)d(-g)k(-O2)f(-o)h(calc)f(calc.o)596 |
| 3059 y Fn(Remote)25 b(testing)h(of)f(calc)596 3196 y |
| Fl(Not)30 b(yet)g(written,)g(as)g(I)g(have)g(pr)o(oblem)g(getting)g |
| (libc6-dev-powerpc)f(to)h(work.)g(Pr)o(obably)g(I)596 |
| 3287 y(\002rst)21 b(have)f(to)h(build)g(my)g(cr)o(oss)g(compiler)-6 |
| b(.)596 3595 y Fn(Using)25 b(Windo)o(ws)f(as)h(host)h(and)e(vxW)-5 |
| b(orks)24 b(as)h(tar)o(g)q(et)596 3732 y Fl(A)20 b(mor)o(e)g(thor)o |
| (ough)i(walk-thr)o(ough)f(will)g(be)g(written)g(in)g(a)g(few)f(weeks.) |
| 596 3865 y(In)30 b(or)o(der)e(to)j(test)e(the)h(vxW)-8 |
| b(orks)31 b(as)e(a)h(tar)o(get)e(I)i(changed)g(boar)o(ds/standar)o |
| (ds.exp)c(to)31 b(r)o(e\003ect)596 3956 y(my)43 b(settings)g(\(IP)-11 |
| b(,)42 b(username,)h(passwor)o(d\).)e(Then)i(I)f(r)o(econ\002gur)o(ed)g |
| (vxW)-8 b(orks)43 b(to)g(include)596 4048 y(a)35 b(FTP)h(and)f(telnet)i |
| (server)e(\(using)h(the)g(same)g(username/passwor)o(d)f(combination)i |
| (ad)e(in)596 4139 y(boar)o(ds/standar)o(d.exp\).)596 |
| 4272 y(W)-5 b(ith)51 b(this)g(setup)f(and)f(some)i(minor)g |
| (modi\002cation)g(\(e.g.)f(r)o(eplacing)f(echo)h(by)g(printf\))596 |
| 4363 y(in)57 b(my)h(test)f(cases)g(I)g(could)h(test)f(my)h(vxW)-8 |
| b(orks)58 b(system.)g(It)f(sur)o(e)g(does)g(not)h(seem)596 |
| 4454 y(to)63 b(be)g(a)g(corr)o(ect)f(setup)h(by)g(DejaGnu)h(standar)o |
| (d.)e(For)h(instance,)g(it)h(still)g(loading)596 4546 |
| y(/usr/shar)o(e/dejagnu/baseboar)o(ds/unix.exp)23 b(instead)h(of)g(vxW) |
| -8 b(orks.)25 b(In)f(any)h(case)f(I)g(found)596 4637 |
| y(that)j(\(at)h(least)f(under)h(W)-5 b(indows\))29 b(I)f(did)f(not)i |
| (\002nd)f(out)h(how)g(the)f(command)g(line)g(would)h(let)596 |
| 4728 y(me)20 b(override)g(settings)i(in)f(my)g(personal)g(con\002g)h |
| (\002les.)p Black 197 5585 a Fj(14)p Black eop |
| %%Page: 15 21 |
| 15 20 bop Black 0 TeXcolorgray Black Black 197 95 a Fp(Chapter)34 |
| b(3.)f(Running)i(T)-7 b(ests)596 288 y Fl(Ther)o(e)17 |
| b(ar)o(e)g(two)i(ways)g(to)g(execute)e(a)h(testsuite.)h(The)f(most)i |
| (common)g(way)e(is)h(when)g(ther)o(e)f(is)h(ex-)596 380 |
| y(isting)h(support)g(in)g(the)g Ff(Makefile)p Fl(.)e(This)i(support)g |
| (consists)h(of)e(a)g Fj(check)g Fl(tar)o(get.)g(The)g(other)h(way)596 |
| 471 y(is)d(to)g(execute)f(the)h Fk(runtest)f Fl(pr)o(ogram)g(dir)o |
| (ectly)-9 b(.)16 b(T)-8 b(o)17 b(r)o(un)h Fk(runtest)d |
| Fl(dir)o(ectcly)h(fr)o(om)g(the)i(command)596 562 y(line)i(r)o(equir)o |
| (es)f(either)h(all)g(the)g(corr)o(ect)f(options,)j(or)e(the)p |
| 0 TeXcolorgray 20 w(Local)g(Con\002g)h(File)p Black 20 |
| w(must)g(be)f(setup)g(cor)o(-)596 654 y(r)o(ectly)-9 |
| b(.)197 922 y Fi(Make)27 b(c)o(hec)n(k)596 1064 y Fl(T)-8 |
| b(o)18 b(r)o(un)h(tests)f(fr)o(om)g(an)g(existing)h(collection,)f |
| (\002rst)h(use)f Fk(con\002gure)f Fl(as)h(usual)g(to)h(set)f(up)g(the)g |
| (build)596 1155 y(dir)o(ectory)-9 b(.)19 b(Then)i(try)g(typing:)865 |
| 1321 y Ff(make)44 b(check)596 1577 y Fl(If)20 b(the)h |
| Fj(check)g Fl(tar)o(get)e(exists,)i(it)g(usually)h(saves)e(you)i(some)f |
| (tr)o(ouble.)f(For)h(instance,)g(it)g(can)g(set)g(up)596 |
| 1668 y(any)h(auxiliary)g(pr)o(ograms)g(or)h(other)g(\002les)f(needed)g |
| (by)h(the)f(tests.)h(The)g(most)g(common)h(\002le)f(the)596 |
| 1760 y(check)g(builds)h(is)g(the)g Fj(site.exp)p Fl(.)f(The)h(site.exp) |
| f(\002le)h(contains)h(various)f(variables)e(that)i(DejaGnu)596 |
| 1851 y(used)e(to)h(dertermine)f(the)g(con\002guration)i(of)e(the)h(pr)o |
| (ogram)f(being)h(tested.)f(This)h(is)f(mostly)i(for)596 |
| 1942 y(supporting)d(r)o(emote)f(testing.)596 2075 y(The)48 |
| b Fj(check)h Fl(tar)o(get)f(is)h(supported)g(by)g(GNU)g(Automake.)f(T) |
| -8 b(o)50 b(have)e(DejaGnu)i(support)596 2167 y(added)c(to)i(your)g |
| (generated)f Ff(Makefile.in)p Fl(,)f(just)i(add)f(the)h(keywor)o(d)g |
| (dejagnu)g(to)g(the)596 2258 y(AUT)o(OMAKE_OPTIONS)18 |
| b(variable)h(in)j(your)f Ff(Makefile.am)e Fl(\002le.)596 |
| 2391 y(Once)29 b(you)g(have)g(r)o(un)h Fj(make)e(check)h |
| Fl(to)h(build)f(any)g(auxiliary)f(\002les,)h(you)h(can)f(invoke)h(the)f |
| (test)596 2482 y(driver)d Fk(runtest)g Fl(dir)o(ectly)h(to)h(r)o(epeat) |
| e(the)h(tests.)h(Y)-8 b(ou)29 b(will)f(also)g(have)f(to)h(execute)e |
| Fk(runtest)g Fl(di-)596 2573 y(r)o(ectly)20 b(for)g(test)h(collections) |
| h(with)f(no)h Fj(check)e Fl(tar)o(get)g(in)h(the)g Ff(Makefile)p |
| Fl(.)197 2891 y Fi(Runtest)596 3033 y Fk(runtest)c Fl(is)j(the)g |
| (executable)e(test)h(driver)g(for)g(DejaGnu.)h(Y)-8 b(ou)20 |
| b(can)f(specify)g(two)h(kinds)g(of)g(things)596 3124 |
| y(on)28 b(the)f Fk(runtest)g Fl(command)g(line:)h(command)g(line)g |
| (options,)h(and)e(T)-9 b(cl)27 b(variables)g(for)g(the)h(test)596 |
| 3216 y(scripts.)20 b(The)h(options)h(ar)o(e)d(listed)i(alphabetically)f |
| (below)-8 b(.)596 3348 y Fk(runtest)19 b Fl(r)o(eturns)h(an)g(exit)g |
| (code)h(of)f Fj(1)g Fl(if)h(any)f(test)h(has)g(an)f(unexpected)g(r)o |
| (esult;)g(otherwise)h(\(if)f(all)596 3440 y(tests)h(pass)f(or)h(fail)f |
| (as)h(expected\))e(it)i(r)o(eturns)f Fj(0)g Fl(as)h(the)g(exit)f(code.) |
| 596 3692 y Fn(Output)25 b(States)596 3829 y Ff(runtest)f |
| Fl(\003ags)i(the)g(outcome)g(of)g(each)f(test)h(as)g(one)g(of)f(these)h |
| (cases.)p 0 TeXcolorgray 25 w(A)g(POSIX)g(Conforming)596 |
| 3920 y(T)-8 b(est)19 b(Framework)p Black 19 w(for)g(a)g(discussion)i |
| (of)e(how)h(POSIX)f(speci\002es)h(the)f(meanings)h(of)f(these)h(cases.) |
| 197 4136 y(P)-8 b(ASS)p Black Black 762 4269 a(The)20 |
| b(most)i(desirable)e(outcome:)h(the)g(test)g(succeeded,)e(and)h(was)h |
| (expected)e(to)j(succeed.)197 4443 y(XP)-8 b(ASS)p Black |
| Black 762 4576 a(A)24 b(pleasant)h(kind)g(of)g(failur)o(e:)f(a)h(test)g |
| (was)g(expected)f(to)h(fail,)f(but)i(succeeded.)d(This)j(may)762 |
| 4667 y(indicate)20 b(pr)o(ogr)o(ess;)h(inspect)g(the)g(test)h(case)e |
| (to)i(determine)f(whether)g(you)h(should)g(amend)762 |
| 4759 y(it)f(to)g(stop)g(expecting)g(failur)o(e.)197 4933 |
| y(F)-6 b(AIL)p Black Black 762 5066 a(A)30 b(test)h(failed,)f(although) |
| i(it)f(was)g(expected)e(to)j(succeed.)e(This)h(may)g(indicate)f(r)o |
| (egr)o(ess;)762 5157 y(inspect)21 b(the)f(test)h(case)f(and)h(the)g |
| (failing)g(softwar)o(e)e(to)i(ocate)g(the)g(bug.)p Black |
| 3601 5585 a Fj(15)p Black eop |
| %%Page: 16 22 |
| 16 21 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(3.)g(Running)i(T)-9 b(ests)p Black 197 89 a Fl(XF)j(AIL)p |
| Black Black 762 222 a(A)31 b(test)h(failed,)f(but)h(it)g(was)g |
| (expected)f(to)h(fail.)f(This)i(r)o(esult)f(indicates)f(no)i(change)f |
| (in)g(a)762 313 y(known)21 b(bug.)g(If)f(a)f(test)i(fails)f(because)f |
| (the)i(operating)f(system)h(wher)o(e)f(the)h(test)f(r)o(uns)h(lacks)762 |
| 405 y(some)g(facility)f(r)o(equir)o(ed)g(by)h(the)f(test,)h(the)g |
| (outcome)g(is)h Fj(UNSUPPOR)-5 b(TED)18 b Fl(instead.)197 |
| 579 y(UNRESOL)-8 b(VED)p Black Black 762 712 a(Output)20 |
| b(fr)o(om)g(a)g(test)g(r)o(equir)o(es)f(manual)h(inspection;)h(the)g |
| (testsuite)f(could)g(not)h(automati-)762 803 y(cally)g(determine)h(the) |
| f(outcome.)i(For)f(example,)e(your)i(tests)g(can)g(r)o(eport)f(this)h |
| (outcome)h(is)762 894 y(when)e(a)f(test)h(does)g(not)g(complete)g(as)g |
| (expected.)197 1069 y(UNTESTED)p Black Black 762 1202 |
| a(A)j(test)h(case)g(is)g(not)h(yet)f(complete,)g(and)f(in)i(particular) |
| e(cannot)h(yet)g(pr)o(oduce)f(a)h Fj(P)-11 b(ASS)25 b |
| Fl(or)762 1293 y Fj(F)-9 b(AIL)p Fl(.)27 b(Y)-8 b(ou)29 |
| b(can)f(also)g(use)h(this)f(outcome)h(in)g(dummy)f(\223tests\224)g |
| (that)g(note)g(explicitly)h(the)762 1384 y(absence)20 |
| b(of)g(a)h(r)o(eal)e(test)i(case)f(for)h(a)f(particular)f(pr)o(operty) |
| -9 b(.)197 1559 y(UNSUPPOR)m(TED)p Black Black 762 1691 |
| a(A)29 b(test)h(depends)f(on)h(a)f(conditionally)i(available)e(featur)o |
| (e)e(that)j(does)g(not)g(exist)g(\(in)g(the)762 1783 |
| y(con\002gur)o(ed)25 b(testing)h(envir)o(onment\).)g(For)g(example,)e |
| (you)j(can)e(use)h(this)g(outcome)g(to)g(r)o(e-)762 1874 |
| y(port)18 b(on)i(a)e(test)h(case)f(that)h(does)f(not)i(work)f(on)h(a)e |
| (particular)f(tar)o(get)h(because)g(its)h(operating)762 |
| 1965 y(system)i(support)g(does)g(not)g(include)g(a)f(r)o(equir)o(ed)g |
| (subr)o(outine.)596 2098 y(r)o(untest)h(may)g(also)g(display)f(the)h |
| (following)h(messages:)197 2314 y(ERROR)p Black Black |
| 762 2447 a(Indicates)27 b(a)g(major)h(pr)o(oblem)f(\(detected)f(by)h |
| (the)h(test)f(case)g(itself\))g(in)h(r)o(unning)h(the)f(test.)762 |
| 2538 y(This)33 b(is)g(usually)h(an)e(unr)o(ecoverable)g(err)o(or)-6 |
| b(,)31 b(such)j(as)e(a)h(missing)h(\002le)f(or)g(loss)h(of)f(com-)762 |
| 2630 y(munication)f(to)f(the)g(tar)o(get.)f(\(POSIX)h(testsuites)h |
| (should)f(not)h(emit)f(this)h(message;)f(use)762 2721 |
| y Fj(UNSUPPOR)-5 b(TED)p Fl(,)18 b Fj(UNTESTED)p Fl(,)g(or)j |
| Fj(UNRESOL)-6 b(VED)19 b Fl(instead,)h(as)h(appr)o(opriate.\))197 |
| 2895 y(W)-8 b(ARNING)p Black Black 762 3028 a(Indicates)25 |
| b(a)g(possible)i(pr)o(oblem)e(in)h(r)o(unning)i(the)e(test.)f(Usually)h |
| (warnings)g(corr)o(espond)762 3119 y(to)18 b(r)o(ecoverable)f(err)o |
| (ors,)g(or)i(display)f(an)h(important)g(message)f(about)g(the)h |
| (following)h(tests.)197 3294 y(NOTE)p Black Black 762 |
| 3427 a(An)g(informational)i(message)e(about)h(the)g(test)g(case.)596 |
| 3735 y Fn(In)l(v)m(oking)k(Runtest)596 3872 y Fl(This)18 |
| b(is)g(the)g(full)f(set)h(of)g(command)g(line)g(options)h(that)e |
| Ff(runtest)g Fl(r)o(ecognizes.)g(Ar)o(guments)g(may)596 |
| 3963 y(be)j(abbr)o(eviated)e(to)j(the)g(shortest)h(unique)f(string.)197 |
| 4179 y Ff(--all)f Fl(\(-a\))p Black Black 762 4312 a(Display)29 |
| b(all)g(test)h(output.)g(By)f(default,)f Fj(runtest)i |
| Fl(shows)g(only)h(the)e(output)h(of)f(tests)h(that)762 |
| 4403 y(pr)o(oduce)23 b(unexpected)h(r)o(esults;)g(that)h(is,)f(tests)h |
| (with)h(status)e Fj(F)-9 b(AIL)25 b Fl(\(unexpected)e(failur)o(e\),)762 |
| 4494 y Fj(XP)-11 b(ASS)30 b Fl(\(unexpected)e(success\),)i(or)g |
| Fj(ERROR)h Fl(\(a)e(sever)o(e)f(err)o(or)h(in)i(the)f(test)g(case)g |
| (itself\).)762 4586 y(Specify)18 b Fj(--all)h Fl(to)h(see)f(output)h |
| (for)f(tests)h(with)g(status)g Fj(P)-11 b(ASS)19 b Fl(\(success,)g(as)h |
| (expected\))d Fj(XF)-9 b(AIL)762 4677 y Fl(\(failur)o(e,)18 |
| b(as)j(expected\),)e(or)i Fj(W)-8 b(ARNING)20 b Fl(\(minor)h(err)o(or)f |
| (in)h(the)g(test)g(case)f(itself\).)197 4851 y Ff(--build)44 |
| b([string])p Black Black 762 4984 a Fj(string)21 b Fl(is)g(a)g(full)g |
| (con\002guration)h(\223triple\224)e(name)h(as)g(used)g(by)g |
| Fk(con\002gure)p Fl(.)g(This)g(is)h(the)f(type)762 5075 |
| y(of)k(machine)h(DejaGnu)h(and)e(the)h(tools)h(to)f(be)g(tested)f(ar)o |
| (e)f(built)i(on.)h(For)f(a)f(normal)h(cr)o(oss)762 5167 |
| y(this)21 b(is)g(the)g(same)g(as)f(the)h(host,)g(but)g(for)g(a)f |
| (canadian)g(cr)o(oss,)g(they)h(ar)o(e)e(seperate.)p Black |
| 197 5585 a Fj(16)p Black eop |
| %%Page: 17 23 |
| 17 22 bop Black 0 TeXcolorgray Black 2821 -132 a Fj(Chapter)21 |
| b(3.)f(Running)h(T)-9 b(ests)p Black 197 89 a Ff(--host)44 |
| b([string])p Black Black 762 222 a Fl(string)24 b(is)g(a)g(full)g |
| (con\002guration)h(\223triple\224)e(name)g(as)h(used)g(by)g |
| Fj(con\002gur)o(e)p Fl(.)f(Use)g(this)i(option)762 313 |
| y(to)k(override)f(the)i(default)e(string)i(r)o(ecor)o(ded)d(by)i(your)g |
| (con\002guration's)i(choice)e(of)g(host.)762 405 y(This)23 |
| b(choice)h(does)f(not)h(change)f(how)h(anything)g(is)f(actually)g |
| (con\002gur)o(ed)g(unless)h(--build)762 496 y(is)d(also)g(speci\002ed;) |
| g(it)g(af)o(fects)e Fj(only)i Fl(DejaGnu)h(pr)o(ocedur)o(es)d(that)i |
| (compar)o(e)f(the)h(host)h(string)762 587 y(with)e(particular)e |
| (values.)g(The)i(pr)o(ocedur)o(es)d Fj(ishost)p Fl(,)i |
| Fj(istar)o(get)p Fl(,)f Fj(isnative)p Fl(,)h(and)g Fj(setup)p |
| Fl(xfail})f(ar)o(e)762 679 y(af)o(fected)26 b(by)i Fj(--host)p |
| Fl(.)f(In)i(this)h(usage,)e Fj(host)f Fl(r)o(efers)h(to)h(the)f |
| (machine)h(that)g(the)f(tests)h(ar)o(e)f(to)762 770 y(be)j(r)o(un)h |
| (on,)g(which)h(may)e(not)i(be)e(the)h(same)f(as)h(the)g |
| Fj(build)g Fl(machine.)f(If)g Fj(--build)h Fl(is)g(also)762 |
| 861 y(speci\002ed,)24 b(then)j Fj(--host)d Fl(r)o(efers)g(to)i(the)f |
| (machine)h(that)g(the)f(tests)h(wil,)g(be)f(r)o(un)i(on,)f(not)g(the) |
| 762 953 y(machine)21 b(DejaGnu)g(is)g(r)o(un)g(on.)197 |
| 1127 y Ff(--host_board)43 b([name])p Black Black 762 |
| 1260 a Fl(The)20 b(host)i(boar)o(d)d(to)j(use.)197 1434 |
| y Ff(--target)43 b([string])p Black Black 762 1567 a |
| Fl(Use)25 b(this)h(option)g(to)g(override)f(the)g(default)f(setting)j |
| (\(r)o(unning)f(native)f(tests\).)g Fj(string)h Fl(is)f(a)762 |
| 1658 y(full)e(con\002guration)h(\223triple\224)d(name)i(of)g(the)g |
| (form)g Fj(cpu-vendor-os)f Fl(as)g(used)h(by)g Fk(con\002gure)p |
| Fl(.)762 1750 y(This)30 b(option)h(changes)f(the)g(con\002guration)h |
| Fj(runtest)g Fl(uses)f(for)f(the)h(default)f(tool)i(names,)762 |
| 1841 y(and)20 b(other)h(setup)g(information.)197 2015 |
| y Ff(--debug)f Fl(\(-de\))p Black Black 762 2148 a(T)-7 |
| b(urns)25 b(on)i(the)f Fj(expect)f Fl(internal)h(debugging)g(output.)g |
| (Debugging)h(output)f(is)h(displayed)762 2239 y(as)d(part)h(of)g(the)g |
| Fj(runtest)h Fl(output,)g(and)e(logged)i(to)f(a)g(\002le)g(called)g |
| Ff(dbg.log)p Fl(.)e(The)j(extra)e(de-)762 2331 y(bugging)f(output)g |
| (does)g Fj(not)f Fl(appear)f(on)i(standar)o(d)e(output,)i(unless)g(the) |
| g(verbose)f(level)h(is)762 2422 y(gr)o(eater)f(than)j(2)f(\(for)f |
| (instance,)i(to)f(see)g(debug)g(output)h(immediately)-9 |
| b(,)24 b(specify)g Fj(--debug)p Fl(-v)762 2513 y(-v}\).)17 |
| b(The)i(debugging)g(output)h(shows)g(all)f(attempts)f(at)h(matching)g |
| (the)h(test)f(output)g(of)g(the)762 2605 y(tool)e(with)g(the)f |
| (scripted)g(patterns)g(describing)g(expected)f(output.)i(The)f(output)h |
| (generated)762 2696 y(with)k Fj(--strace)f Fl(also)h(goes)g(into)h |
| Ff(dbg.log)p Fl(.)197 2870 y Ff(--help)e Fl(\(-he\))p |
| Black Black 762 3003 a(Prints)29 b(out)f(a)g(short)h(summary)g(of)f |
| (the)h Fj(runtest)f Fl(options,)i(then)f(exits)f(\(even)g(if)g(you)h |
| (also)762 3094 y(specify)20 b(other)h(options\).)197 |
| 3269 y Ff(--ignore)43 b([name\(s\)])p Black Black 762 |
| 3402 a Fl(The)20 b(names)h(of)g(speci\002c)g(tests)g(to)g(ignor)o(e.) |
| 197 3576 y Ff(--objdir)43 b([path])p Black Black 762 |
| 3709 a Fl(Use)25 b Fj(path)f Fl(as)h(the)h(top)g(dir)o(ectory)f |
| (containing)i(any)f(auxiliary)f(compiled)g(test)h(code.)f(This)762 |
| 3800 y(defaults)19 b(to)i Ff(.)p Fl(.)f(Use)g(this)h(option)h(to)f |
| (locate)f(pr)o(e-compiled)f(test)i(code.)e(Y)-8 b(ou)22 |
| b(can)e(normally)762 3891 y(pr)o(epar)o(e)e(any)i(auxiliary)h(\002les)g |
| (needed)f(with)h Fj(make)p Fl(.)197 4066 y Ff(--outdir)43 |
| b([path])p Black Black 762 4199 a Fl(W)-6 b(rite)29 b(output)g(logs)h |
| (in)g(dir)o(ectory)f Ff(path)p Fl(.)f(The)h(default)f(is)i |
| Fj(.},)f(the)f Fl(dir)o(ectory)h(wher)o(e)f(you)762 4290 |
| y(start)33 b Fj(runtest)p Fl(.)i(This)g(option)g(af)o(fects)d(only)k |
| (the)e(summary)g(and)g(the)h(detailed)e(log)i(\002les)762 |
| 4381 y Ff(tool.sum)k Fl(and)h Ff(tool.log)p Fl(.)g(The)h(DejaGnu)g |
| (debug)g(log)g Ff(dbg.log)f Fl(always)g(appears)762 4473 |
| y(\(when)21 b(r)o(equested\))e(in)i(the)g(local)g(dir)o(ectory)-9 |
| b(.)197 4647 y Ff(--reboot)43 b([name])p Black Black |
| 762 4780 a Fl(Reboot)22 b(the)g(tar)o(get)e(boar)o(d)g(when)j |
| Fj(runtest)f Fl(initializes.)f(Usually)-9 b(,)21 b(when)h(r)o(unning)h |
| (tests)f(on)762 4871 y(a)27 b(separate)f(tar)o(get)h(boar)o(d,)f(it)i |
| (is)g(safer)e(to)i(r)o(eboot)g(the)g(tar)o(get)e(to)i(be)g(certain)f |
| (of)g(its)i(state.)762 4962 y(However)-6 b(,)20 b(when)h(developing)g |
| (test)g(scripts,)g(r)o(ebooting)g(takes)f(a)h(lot)g(of)g(time.)197 |
| 5137 y Ff(--srcdir)43 b([path])p Black Black 762 5270 |
| a Fl(Use)17 b Ff(path)h Fl(as)g(the)g(top)h(dir)o(ectory)e(for)h(test)g |
| (scripts)h(to)f(r)o(un.)h Fj(runtest)g Fl(looks)g(in)g(this)g(dir)o |
| (ectory)762 5361 y(for)29 b(any)h(subdir)o(ectory)f(whose)i(name)e |
| (begins)i(with)f(the)g(toolname)h(\(speci\002ed)e(with)i |
| Fj(--)762 5452 y(tool)p Fl(\).)15 b(For)i(instance,)g(with)g |
| Fj(--tool)p Fl(gdb},)e Fj(runtest)i Fl(uses)g(tests)g(in)g(subdir)o |
| (ectories)f Ff(gdb.*)g Fl(\(with)p Black 3601 5585 a |
| Fj(17)p Black eop |
| %%Page: 18 24 |
| 18 23 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(3.)g(Running)i(T)-9 b(ests)p Black 762 89 a Fl(the)23 |
| b(usual)h(shell-like)g(\002lename)f(expansion\).)h(If)f(you)h(do)g(not) |
| g(use)f Fj(--sr)o(cdir)p Fl(,)g Fj(runtest)h Fl(looks)762 |
| 180 y(for)c(test)h(dir)o(ectories)f(under)g(the)h(curr)o(ent)f(working) |
| i(dir)o(ectory)-9 b(.)197 355 y Ff(--strace)43 b([number])p |
| Black Black 762 488 a Fl(T)-7 b(urn)24 b(on)i(internal)f(tracing)g(for) |
| g Fj(expect)p Fl(,)f(to)i(n)f(levels)g(deep.)g(By)g(adjusting)g(the)h |
| (level,)e(you)762 579 y(can)e(contr)o(ol)h(the)f(extent)g(to)h(which)h |
| (your)e(output)h(expands)f(multi-level)h(T)-9 b(cl)22 |
| b(statements.)762 670 y(This)17 b(allows)g(you)g(to)g(ignor)o(e)g(some) |
| h(levels)e(of)h Fj(case)g Fl(or)g Fj(if)28 b Fl(statements.)16 |
| b(Each)h(pr)o(ocedur)o(e)d(call)762 762 y(or)j(contr)o(ol)g(str)o |
| (uctur)o(e)g(counts)h(as)e(one)i(\223level\224.)e(The)h(output)g(is)h |
| (r)o(ecor)o(ded)c(in)k(the)f(same)g(\002le,)762 853 y |
| Ff(dbg.log)p Fl(,)i(used)h(for)h(output)g(fr)o(om)g Fj(--debug)p |
| Fl(.)197 1027 y Ff(--connect)43 b([program])p Black Black |
| 762 1160 a Fl(Connect)25 b(to)h(a)e(tar)o(get)g(testing)i(envir)o |
| (onment)g(as)f(speci\002ed)f(by)i Fj(type)p Fl(,)e(if)g(the)i(tar)o |
| (get)e(is)h(not)762 1251 y(the)20 b(computer)h(r)o(unning)h |
| Fj(runtest)p Fl(.)f(For)g(example,)f(use)g Fj(--connect)g |
| Fl(to)h(change)g(the)g(pr)o(ogram)762 1343 y(used)j(to)i(connect)f(to)g |
| (a)g(\223bar)o(e)e(boar)o(d\224)g(boot)i(monitor)-6 b(.)26 |
| b(The)f(choices)g(for)g Fj(type)f Fl(in)h(the)g(De-)762 |
| 1434 y(jaGnu)c(1.4)f(distribution)h(ar)o(e)f Fj(rlogin)p |
| Fl(,)g Fj(telnet)p Fl(,)h Fj(rsh)p Fl(,)f Fj(tip)p Fl(,)g |
| Fj(kermit)p Fl(,)g(and)h Fj(mondfe)p Fl(.)762 1567 y(The)i(default)f |
| (for)g(this)i(option)g(depends)f(on)h(the)f(con\002guration)h(most)g |
| (convenient)g(com-)762 1658 y(munication)17 b(method)h(available,)d |
| (but)i(often)g(other)g(alternatives)f(work)h(as)g(well;)g(you)g(may)762 |
| 1750 y(\002nd)j(it)g(useful)f(to)i(try)e(alternative)g(connect)i |
| (methods)f(if)g(you)g(suspect)g(a)f(communication)762 |
| 1841 y(pr)o(oblem)h(with)i(your)f(testing)g(tar)o(get.)197 |
| 2148 y Ff(--baud)44 b([number])p Black Black 762 2281 |
| a Fl(Set)29 b(the)g(default)g(baud)g(rate)g(to)h(something)h(other)f |
| (than)g(9600.)d(\(Some)j(serial)f(interface)762 2372 |
| y(pr)o(ograms,)20 b(like)h Fj(tip)p Fl(,)e(use)i(a)f(separate)g |
| (initialization)h(\002le)g(instead)f(of)h(this)h(value.\))197 |
| 2547 y Ff(--target_board)42 b([name\(s\)])p Black Black |
| 762 2679 a Fl(The)20 b(list)i(of)e(tar)o(get)g(boar)o(ds)g(to)h(r)o(un) |
| g(tests)g(on.)197 2854 y Ff(--tool[name\(s\)])p Black |
| Black 762 2987 a Fl(Speci\002es)d(which)h(testsuite)g(to)h(r)o(un,)f |
| (and)f(what)h(initialization)g(module)g(to)g(use.)g Ff(--tool)f |
| Fl(is)762 3078 y(used)j Fj(only)g Fl(for)h(these)f(two)i(purposes.)e |
| (It)h(is)g Fj(not)f Fl(used)h(to)g(name)f(the)h(executable)f(pr)o |
| (ogram)762 3169 y(to)e(test.)g(Executable)e(tool)j(names)f(\(and)f |
| (paths\))g(ar)o(e)g(r)o(ecor)o(ded)f(in)i Ff(site.exp)e |
| Fl(and)i(you)g(can)762 3261 y(override)h(them)h(by)g(specifying)g(T)-9 |
| b(cl)20 b(variables)g(on)h(the)g(command)g(line.)762 |
| 3393 y(For)16 b(example,)g(including)h(")p Ff(--tool)e |
| Fl(gcc")h(on)h(the)f Fj(runtest)h Fl(command)g(line)g(r)o(uns)g(tests)f |
| (fr)o(om)762 3485 y(all)31 b(test)g(subdir)o(ectories)f(whose)i(names)f |
| (match)h Ff(gcc.*)p Fl(,)e(and)g(uses)i(one)f(of)g(the)h(initial-)762 |
| 3576 y(ization)g(modules)h(named)f Ff(config/*-gcc.exp)p |
| Fl(.)d(T)-8 b(o)33 b(specify)f(the)g(name)g(of)g(the)h(com-)762 |
| 3667 y(piler)23 b(\(per)o(haps)f(as)i(an)f(alternative)g(path)g(to)h |
| (what)g Fj(runtest)g Fl(would)g(use)g(by)g(default\),)e(use)762 |
| 3759 y Fj(GCC=binname)g Fl(on)f(the)g Fj(runtest)g Fl(command)h(line.) |
| 197 4066 y Ff(--tool_exec)43 b([name])p Black Black 762 |
| 4199 a Fl(The)20 b(path)h(to)g(the)g(tool)h(executable)d(to)i(test.)197 |
| 4373 y Ff(--tool_opts)43 b([options])p Black Black 762 |
| 4506 a Fl(A)20 b(list)h(of)g(additional)f(options)i(to)g(pass)e(to)h |
| (the)g(tool.)197 4680 y Ff(--verbose)e Fl(\(-v\))p Black |
| Black 762 4813 a(T)-7 b(urns)32 b(on)h(mor)o(e)f(output.)h(Repeating)f |
| (this)h(option)h(incr)o(eases)d(the)i(amount)g(of)f(output)762 |
| 4904 y(displayed.)17 b(Level)h(one)g(\()p Fj(-v)p Fl(\))f(is)i(simply)g |
| (test)f(output.)h(Level)e(two)i(\()p Fj(-v)p Fl(-v}\))d(shows)k |
| (messages)762 4996 y(on)25 b(options,)g(con\002guration,)g(and)f(pr)o |
| (ocess)g(contr)o(ol.)h(V)-9 b(erbose)24 b(messages)g(appear)f(in)i(the) |
| 762 5087 y(detailed)19 b(\()p Ff(*.log)p Fl(\))g(log)j(\002le,)e(but)h |
| (not)h(in)f(the)g(summary)g(\()p Ff(*.sum)p Fl(\))e(log)j(\002le.)197 |
| 5261 y Ff(--version)d Fl(\(-V\))p Black Black 762 5394 |
| a(Prints)31 b(out)h(the)g(version)f(numbers)h(of)f(DejaGnu,)h |
| Fj(expect)e Fl(and)h(T)-9 b(cl,)31 b(and)f(exits)i(without)762 |
| 5486 y(r)o(unning)22 b(any)f(tests.)p Black 197 5585 |
| a Fj(18)p Black eop |
| %%Page: 19 25 |
| 19 24 bop Black 0 TeXcolorgray Black 2821 -132 a Fj(Chapter)21 |
| b(3.)f(Running)h(T)-9 b(ests)p Black 197 89 a Ff(--D[0-1])p |
| Black Black 762 222 a Fl(Start)27 b(the)j(internal)e(T)-9 |
| b(cl)29 b(debugger)-6 b(.)28 b(The)h(T)-9 b(cl)28 b(debugger)h |
| (supports)g(br)o(eakpoints,)f(single)762 313 y(stepping,)19 |
| b(and)g(other)h(common)h(debugging)e(activities.)g(See)g(the)g |
| (document)h("Debugger)762 405 y(for)26 b(T)-9 b(cl)27 |
| b(Applications")f(by)h(Don)h(Libes.)e(\(Distributed)h(in)g(PostScript)g |
| (form)g(with)h Fj(expect)762 496 y Fl(as)22 b(the)g(\002le)g |
| Ff(expect/tcl-debug.ps.)p Fl(.)d(If)j(you)h(specify)e |
| Fj(-D1)p Fl(,)g(the)i Fj(expect)e Fl(shell)i(stops)g(at)e(a)762 |
| 587 y(br)o(eakpoint)h(as)g(soon)i(as)f(DejaGnu)h(invokes)f(it.)g(If)g |
| (you)g(specify)g Fj(-D0)p Fl(,)e(DejaGnu)j(starts)e(as)762 |
| 679 y(usual,)27 b(but)h(you)g(can)f(enter)h(the)g(debugger)f(by)h |
| (sending)g(an)g(interr)o(upt)g(\(e.g.)e(by)i(typing)762 |
| 770 y Fk(C)p Fl(-)p Fk(c)p Fl(\).)197 944 y Ff(testfile)p |
| Fl(.exp[=ar)o(g\(s\)])p Black Black 762 1077 a(Specify)f(the)i(names)g |
| (of)f(testsuites)h(to)g(r)o(un.)g(By)g(default,)e Fj(runtest)i |
| Fl(r)o(uns)g(all)g(tests)f(for)h(the)762 1168 y(tool,)19 |
| b(but)g(you)h(can)e(r)o(estrict)g(it)h(to)h(particular)e(testsuites)h |
| (by)g(giving)h(the)f(names)g(of)g(the)g Fj(.exp)762 1260 |
| y(expect)k Fl(scripts)i(that)f(contr)o(ol)h(them.)g Fj(testsuite)p |
| Fl(.exp)f(may)g(not)h(include)g(path)f(information;)762 |
| 1351 y(use)c(plain)h(\002lenames.)197 1525 y Ff(testfile)p |
| Fl(.exp="test\002le1)e(...")p Black Black 762 1658 a(Specify)h(a)h |
| (subset)g(of)h(tests)f(in)h(a)f(suite)h(to)f(r)o(un.)h(For)g(compiler)f |
| (or)h(assembler)f(tests,)g(which)762 1750 y(often)31 |
| b(use)h(a)f(single)i Fj(.exp)d Fl(script)i(covering)g(many)g(dif)o(fer) |
| o(ent)d(sour)o(ce)j(\002les,)f(this)i(option)762 1841 |
| y(allows)17 b(you)h(to)f(further)f(r)o(estrict)g(the)i(tests)f(by)g |
| (listing)h(particular)e(sour)o(ce)g(\002les)h(to)h(compile.)762 |
| 1932 y(Some)f(tools)i(even)f(support)g(wildcar)o(ds)f(her)o(e.)f(The)i |
| (wildcar)o(ds)f(supported)g(depend)g(upon)762 2023 y(the)j(tool,)i(but) |
| f(typically)g(they)g(ar)o(e)e Fj(?)p Fl(,)h Fj(*)q Fl(,)h(and)f |
| Fj([chars])p Fl(.)197 2198 y(tclvar=value)p Black Black |
| 762 2331 a(Y)-8 b(ou)27 b(can)f(de\002ne)g(T)-9 b(cl)27 |
| b(variables)e(for)h(use)g(by)h(your)g(test)f(scripts)h(in)g(the)f(same) |
| g(style)h(used)762 2422 y(with)e Fj(make)e Fl(for)h(envir)o(onment)h |
| (variables.)e(For)i(example,)e Fj(runtest)h(GDB=gdb.old)f |
| Fl(de\002nes)762 2513 y(a)d(variable)f(called)h Fk(GDB)p |
| Fl(;)h(when)g(your)g(scripts)f(r)o(efer)f(to)i($GDB)f(in)h(this)h(r)o |
| (un,)e(they)h(use)g(the)762 2605 y(value)f Fj(gdb.old)p |
| Fl(.)762 2737 y(The)27 b(default)f(T)-9 b(cl)27 b(variables)f(used)h |
| (for)g(most)h(tools)h(ar)o(e)d(de\002ned)g(in)i(the)g(main)f(DejaGnu) |
| 762 2829 y Fj(Make\002le)p Fl(;)21 b(their)g(values)f(ar)o(e)f(captur)o |
| (ed)g(in)i(the)g Ff(site.exp)f Fl(\002le.)596 3270 y |
| Fn(Common)25 b(Options)596 3407 y Fl(T)-7 b(ypically)e(,)15 |
| b(you)h(don't)h(need)f(must)g(to)h(use)f(any)g(command-line)g(options.) |
| i Ff(--tool)d Fl(used)h(is)g(only)596 3498 y(r)o(equir)o(ed)25 |
| b(when)j(ther)o(e)f(ar)o(e)e(mor)o(e)i(than)h(one)f(testsuite)h(in)g |
| (the)f(same)g(dir)o(ectory)-9 b(.)26 b(The)h(default)596 |
| 3589 y(options)22 b(ar)o(e)d(in)i(the)g(local)g(site.exp)f(\002le,)h |
| (cr)o(eated)d(by)j("make)g(site.exp".)596 3722 y(For)26 |
| b(example,)e(if)i(the)g(dir)o(ectory)f Ff(gdb/testsuite)f |
| Fl(contains)i(a)g(collection)g(of)g(DejaGnu)h(tests)596 |
| 3813 y(for)20 b(GDB,)h(you)g(can)g(r)o(un)g(them)g(like)g(this:)730 |
| 3979 y Ff(eg$)44 b(cd)h(gdb/testsuite)730 4061 y(eg$)f(runtest)g |
| (--tool)g(gdb)596 4317 y Fl(T)-8 b(est)21 b(output)g(follows,)g(ending) |
| h(with:)685 4483 y Ff(===)45 b(gdb)f(Summary)f(===)685 |
| 4647 y(#)i(of)f(expected)g(passes)g(508)685 4729 y(#)h(of)f(expected)g |
| (failures)f(103)685 4811 y(/usr/latest/bin/gdb)f(version)h(4.14.4)h |
| (-nx)596 5068 y Fl(Y)-8 b(ou)18 b(can)f(use)h(the)g(option)g |
| Fj(--sr)o(cdir)f Fl(to)h(point)g(to)g(some)g(other)g(dir)o(ectory)e |
| (containing)j(a)e(collection)596 5159 y(of)j(tests:)730 |
| 5324 y Ff(eg$)44 b(runtest--srcdir)f(/devo/gdb/testsuite)p |
| Black 3601 5585 a Fj(19)p Black eop |
| %%Page: 20 26 |
| 20 25 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(3.)g(Running)i(T)-9 b(ests)p Black 596 89 a Fl(By)25 |
| b(default,)g Fk(runtest)g Fl(prints)h(only)h(the)f(names)g(of)g(the)g |
| (tests)h(it)f(r)o(uns,)h(output)f(fr)o(om)g(any)g(tests)596 |
| 180 y(that)e(have)h(unexpected)f(r)o(esults,)g(and)h(a)f(summary)h |
| (showing)i(how)f(many)f(tests)g(passed)f(and)596 272 |
| y(how)30 b(many)g(failed.)e(T)-8 b(o)30 b(display)g(output)g(fr)o(om)f |
| (all)g(tests)h(\(whether)g(or)f(not)i(they)e(behave)g(as)596 |
| 363 y(expected\),)24 b(use)h(the)i Fj(--all)e Fl(option.)h(For)h(mor)o |
| (e)e(verbose)h(output)g(about)g(pr)o(ocesses)f(being)i(r)o(un,)596 |
| 454 y(communication,)j(and)f(so)h(on,)f(use)g Fj(--verbose)p |
| Fl(.)h(T)-8 b(o)29 b(see)g(even)g(mor)o(e)g(output,)h(use)f(multiple)h |
| Fj(--)596 546 y(verbose)21 b Fl(options.)h(for)f(a)f(mor)o(e)g |
| (detailed)g(explanation)h(of)f(each)h Fk(runtest)e Fl(option.)596 |
| 679 y(T)-8 b(est)46 b(output)g(goes)g(into)h(two)f(\002les)g(in)g(your) |
| h(curr)o(ent)d(dir)o(ectory:)h(summary)h(output)g(in)596 |
| 770 y Ff(tool.sum)p Fl(,)18 b(and)i(detailed)f(output)i(in)65 |
| b Ff(tool.log)p Fl(.)19 b(\()p Fj(tool)g Fl(r)o(efers)g(to)h(the)h |
| (collection)g(of)f(tests;)g(for)596 861 y(example,)f(after)h(a)g(r)o |
| (un)h(with)h Fj(--tool)d Fl(gdb,)i(look)g(for)g(output)g(\002les)g |
| Ff(gdb.sum)f Fl(and)g Ff(gdb.log)p Fl(.\))197 1262 y |
| Fi(The)29 b(\002les)e(DejaGn)o(u)h(pr)n(oduces.)596 1404 |
| y Fl(DejaGnu)f(always)g(writes)g(two)h(kinds)f(of)g(output)h(\002les:)f |
| (summary)g(logs)h(and)e(detailed)g(logs.)596 1495 y(The)20 |
| b(contents)i(of)f(both)g(of)g(these)g(ar)o(e)e(determined)h(by)h(your)g |
| (tests.)596 1628 y(For)k(tr)o(oubleshooting,)h(a)f(thir)o(d)g(kind)h |
| (of)f(output)g(\002le)h(is)f(useful:)g(use)h Ff(--debug)e |
| Fl(to)h(r)o(equest)g(an)596 1719 y(output)c(\002le)g(showing)h(details) |
| e(of)h(what)g(Expect)f(is)h(doing)h(internally)-9 b(.)596 |
| 1971 y Fn(Summar)q(y)24 b(File)596 2108 y Fl(DejaGnu)29 |
| b(always)f(pr)o(oduces)f(a)h(summary)h(output)g(\002le)f |
| Ff(tool.sum)p Fl(.)f(This)i(summary)g(shows)596 2200 |
| y(the)g(names)h(of)g(all)f(test)h(\002les)g(r)o(un;)g(for)f(each)g |
| (test)h(\002le,)g(one)g(line)g(of)f(output)i(fr)o(om)e(each)g |
| Fk(pass)596 2291 y Fl(command)22 b(\(showing)h(status)e |
| Fj(P)-11 b(ASS)22 b Fl(or)g Fj(XP)-11 b(ASS)p Fl(\))22 |
| b(or)f Fk(fail)g Fl(command)h(\(status)g Fj(F)-9 b(AIL)21 |
| b Fl(or)h Fj(XF)-9 b(AIL)p Fl(\);)596 2382 y(trailing)25 |
| b(summary)h(statistics)f(that)h(count)g(passing)f(and)g(failing)g |
| (tests)h(\(expected)d(and)i(unex-)596 2474 y(pected\);)e(and)i(the)h |
| (full)g(pathname)f(and)g(version)h(number)f(of)h(the)f(tool)i(tested.)d |
| (\(All)h(possible)596 2565 y(outcomes,)d(and)f(all)h(err)o(ors,)e(ar)o |
| (e)h(always)g(r)o(e\003ected)g(in)h(the)g(summary)g(output)g(\002le,)g |
| (r)o(egar)o(dless)596 2656 y(of)e(whether)h(or)g(not)h(you)f(specify)f |
| Ff(--all)p Fl(.\))596 2789 y(If)25 b(any)g(of)h(your)g(tests)f(use)h |
| (the)g(pr)o(ocedur)o(es)d Fk(unresolved)p Fl(,)h Fk(unsupported)p |
| Fl(,)f(or)j Fk(runtested)p Fl(,)d(the)596 2880 y(summary)e(output)g |
| (also)g(tabulates)f(the)h(corr)o(esponding)g(outcomes.)596 |
| 3013 y(For)h(example,)f(after)g Fk(runtest)f(--tool)h(binutils)p |
| Fl(,)f(look)j(for)f(a)f(summary)i(log)g(in)f Ff(binutils.sum)p |
| Fl(.)596 3105 y(Normally)-9 b(,)45 b(DejaGnu)g(writes)h(this)g(\002le)f |
| (in)h(your)f(curr)o(ent)f(working)j(dir)o(ectory;)d(use)h(the)596 |
| 3196 y Ff(--outdir)19 b Fl(option)j(to)f(select)g(a)f(dif)o(fer)o(ent)e |
| (dir)o(ectory)-9 b(.)596 3412 y Fk(Example)18 b(3-1.)h(Here)h(is)g(a)h |
| (short)f(sample)f(summary)h(log)640 3577 y Ff(Test)45 |
| b(Run)f(By)g(rob)h(on)f(Mon)g(May)h(25)f(21:40:57)g(PDT)g(1992)730 |
| 3659 y(===)g(gdb)h(tests)f(===)640 3741 y(Running)g(./gdb.t00/echo.exp) |
| e(...)640 3823 y(PASS:)134 b(Echo)44 b(test)640 3906 |
| y(Running)g(./gdb.all/help.exp)e(...)640 3988 y(PASS:)134 |
| b(help)44 b(add-symbol-file)640 4070 y(PASS:)134 b(help)44 |
| b(aliases)640 4152 y(PASS:)134 b(help)44 b(breakpoint)f("bre")h |
| (abbreviation)640 4234 y(FAIL:)134 b(help)44 b(run)g("r")h |
| (abbreviation)640 4317 y(Running)f(./gdb.t10/crossload.exp)d(...)640 |
| 4399 y(PASS:)134 b(m68k-elf)43 b(\(elf-big\))h(explicit)f(format;)h |
| (loaded)640 4481 y(XFAIL:)89 b(mips-ecoff)43 b(\(ecoff-bigmips\))f |
| ("ptype)i(v_signed_char")f(signed)h(C)g(types)1313 4563 |
| y(===)g(gdb)g(Summary)g(===)640 4645 y(#)h(of)g(expected)e(passes)h(5) |
| 640 4728 y(#)h(of)g(expected)e(failures)g(1)640 4810 |
| y(#)i(of)g(unexpected)e(failures)g(1)640 4892 y(/usr/latest/bin/gdb)f |
| (version)i(4.6.5)g(-q)p Black 197 5585 a Fj(20)p Black |
| eop |
| %%Page: 21 27 |
| 21 26 bop Black 0 TeXcolorgray Black 2821 -132 a Fj(Chapter)21 |
| b(3.)f(Running)h(T)-9 b(ests)p Black 596 89 a Fn(Log)24 |
| b(File)596 226 y Fl(DejaGnu)i(also)g(saves)f(a)g(detailed)g(log)h |
| (\002le)g Ff(tool.log)p Fl(,)e(showing)j(any)f(output)g(generated)f(by) |
| 596 317 y(tests)e(as)g(well)g(as)g(the)g(summary)g(output.)g(For)h |
| (example,)e(after)f Fk(runtest)h(--tool)g(binutils)p |
| Fl(,)e(look)596 409 y(for)c(a)f(detailed)h(log)g(in)h |
| Ff(binutils.log)p Fl(.)d(Normally)-9 b(,)16 b(DejaGnu)h(writes)g(this)g |
| (\002le)f(in)h(your)g(curr)o(ent)596 500 y(working)k(dir)o(ectory;)f |
| (use)h(the)g Ff(--outdir)e Fl(option)j(to)f(select)g(a)f(dif)o(fer)o |
| (ent)f(dir)o(ectory)-9 b(.)596 716 y Fk(Example)18 b(3-2.)h(Here)h(is)g |
| (a)h(brief)f(example)e(showing)i(a)g(detailed)e(log)j(for)g(G++)h |
| (tests)640 881 y Ff(Test)45 b(Run)f(By)g(rob)h(on)f(Mon)g(May)h(25)f |
| (21:40:43)g(PDT)g(1992)1313 1045 y(===)g(g++)g(tests)g(===)640 |
| 1210 y(---)h(Running)e(./g++.other/t01-1.exp)f(---)954 |
| 1292 y(PASS:)134 b(operate)43 b(delete)640 1456 y(---)i(Running)e |
| (./g++.other/t01-2.exp)f(---)954 1539 y(FAIL:)134 b(i960)44 |
| b(bug)g(EOF)640 1621 y(p0000646.C:)f(In)i(function)e(`int)89 |
| b(warn_return_1)43 b(\(\)':)640 1703 y(p0000646.C:109:)g(warning:)g |
| (control)h(reaches)f(end)i(of)f(non-void)g(function)640 |
| 1785 y(p0000646.C:)f(In)i(function)e(`int)89 b(warn_return_arg)43 |
| b(\(int\)':)640 1867 y(p0000646.C:117:)g(warning:)g(control)h(reaches)f |
| (end)i(of)f(non-void)g(function)640 1950 y(p0000646.C:)f(In)i(function) |
| e(`int)89 b(warn_return_sum)43 b(\(int,)h(int\)':)640 |
| 2032 y(p0000646.C:125:)f(warning:)g(control)h(reaches)f(end)i(of)f |
| (non-void)g(function)640 2114 y(p0000646.C:)f(In)i(function)e(`struct)h |
| (foo)g(warn_return_foo)f(\(\)':)640 2196 y(p0000646.C:132:)g(warning:)g |
| (control)h(reaches)f(end)i(of)f(non-void)g(function)640 |
| 2361 y(---)h(Running)e(./g++.other/t01-4.exp)f(---)954 |
| 2443 y(FAIL:)134 b(abort)640 2525 y(900403_04.C:8:)43 |
| b(zero)h(width)g(for)g(bit-field)g(`foo')640 2607 y(---)h(Running)e |
| (./g++.other/t01-3.exp)f(---)954 2689 y(FAIL:)134 b(segment)43 |
| b(violation)640 2772 y(900519_12.C:9:)g(parse)h(error)g(before)g(`;') |
| 640 2854 y(900519_12.C:12:)f(Segmentation)f(violation)640 |
| 2936 y(/usr/latest/bin/gcc:)g(Internal)h(compiler)h(error:)g(program)f |
| (cc1plus)h(got)g(fatal)g(signal)1313 3100 y(===)g(g++)g(Summary)g(===) |
| 640 3265 y(#)h(of)g(expected)e(passes)h(1)640 3347 y(#)h(of)g(expected) |
| e(failures)g(3)640 3429 y(/usr/latest/bin/g++)f(version)i(cygnus-2.0.1) |
| 596 3861 y Fn(Deb)n(ug)24 b(Log)h(File)596 3998 y Fl(W)-5 |
| b(ith)22 b(the)g Ff(--debug)f Fl(option,)i(you)f(can)f(r)o(equest)h(a)f |
| (log)i(\002le)f(showing)h(the)f(output)g(fr)o(om)g(Expect)596 |
| 4089 y(itself,)30 b(r)o(unning)i(in)f(debugging)g(mode.)f(This)h |
| (\002le)g(\()p Ff(dbg.log)p Fl(,)d(in)j(the)g(dir)o(ectory)f(wher)o(e)f |
| (you)596 4180 y(start)20 b Fk(runtest)p Fl(\))f(shows)j(each)e(pattern) |
| g(Expect)g(considers)h(in)g(analyzing)g(test)g(output.)596 |
| 4313 y(This)30 b(\002le)g(r)o(e\003ects)f(each)g Fk(send)g |
| Fl(command,)h(showing)h(the)f(string)h(sent)f(as)g(input)g(to)g(the)g |
| (tool)596 4405 y(under)d(test;)h(and)f(each)h(Expect)f(command,)h |
| (showing)h(each)f(pattern)f(it)h(compar)o(es)f(with)i(the)596 |
| 4496 y(tool)21 b(output.)596 4712 y Fk(Example)d(3-3.)h(The)h(log)h |
| (messages)e(begin)g(with)h(a)h(message)e(of)i(the)e(form)640 |
| 4877 y Ff(expect:)44 b(does)g({tool)g(output})g(\(spawn_id)f(n\))685 |
| 4959 y(match)h(pattern)g({)p Fe(expected)f(pattern)p |
| Ff(}?)596 5298 y Fl(For)20 b(every)g(unsuccessful)i(match,)e(Expect)g |
| (issues)h(a)f Fj(no)h Fl(after)e(this)j(message;)e(if)g(other)h |
| (patterns)596 5389 y(ar)o(e)h(speci\002ed)i(for)g(the)h(same)f(Expect)f |
| (command,)h(they)h(ar)o(e)e(r)o(e\003ected)g(also,)h(but)g(without)i |
| (the)596 5481 y(\002rst)21 b(part)f(of)g(the)h(message)g(\()p |
| Fj(expect...)e(match)g(pattern)p Fl(\).)p Black 3601 |
| 5585 a Fj(21)p Black eop |
| %%Page: 22 28 |
| 22 27 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(3.)g(Running)i(T)-9 b(ests)p Black 596 89 a Fl(When)22 |
| b(Expect)e(\002nds)i(a)f(match,)h(the)g(log)g(for)f(the)h(successful)g |
| (match)f(ends)h(with)g Fj(yes)p Fl(,)g(followed)596 180 |
| y(by)e(a)h(r)o(ecor)o(d)e(of)h(the)h(Expect)f(variables)g(set)h(to)g |
| (describe)f(a)g(successful)h(match.)596 396 y Fk(Example)d(3-4.)h(Here) |
| h(is)g(an)g(excerpt)f(from)j(the)d(debugging)g(log)i(for)h(a)e(GDB)h |
| (test:)640 561 y Ff(send:)44 b(sent)g({break)g(gdbme.c:34\\n})f(to)h |
| (spawn)g(id)h(6)640 644 y(expect:)f(does)g({})h(\(spawn_id)e(6\))h |
| (match)g(pattern)g({Breakpoint.*at.*)e(file)640 726 y(gdbme.c,)i(line)g |
| (34.*\\\(gdb\\\))f($}?)h(no)640 808 y({.*\\\(gdb\\\))f($}?)i(no)640 |
| 890 y(expect:)f(does)g({})h(\(spawn_id)e(0\))h(match)g(pattern)g |
| ({return})g(?)g(no)640 972 y({\\\(y)h(or)f(n\\\))g(}?)h(no)640 |
| 1055 y({buffer_full}?)e(no)640 1137 y({virtual}?)g(no)640 |
| 1219 y({memory}?)h(no)640 1301 y({exhausted}?)f(no)640 |
| 1383 y({Undefined}?)g(no)640 1466 y({command}?)g(no)640 |
| 1548 y(break)h(gdbme.c:34)640 1630 y(Breakpoint)f(8)i(at)g(0x23d8:)e |
| (file)h(gdbme.c,)g(line)g(34.)640 1712 y(\(gdb\))g(expect:)g(does)g |
| ({break)g(gdbme.c:34\\r\\nBreakpoint)d(8)j(at)h(0x23d8:)640 |
| 1794 y(file)g(gdbme.c,)e(line)h(34.\\r\\n\(gdb\))f(})i(\(spawn_id)e |
| (6\))h(match)g(pattern)640 1877 y({Breakpoint.*at.*)e(file)i(gdbme.c,)g |
| (line)g(34.*\\\(gdb\\\))f($}?)h(yes)640 1959 y(expect:)g(set)g |
| (expect_out\(0,start\))e({18})640 2041 y(expect:)i(set)g |
| (expect_out\(0,end\))e({71})640 2123 y(expect:)i(set)g |
| (expect_out\(0,string\))e({Breakpoint)h(8)h(at)h(0x23d8:)f(file)640 |
| 2205 y(gdbme.c,)g(line)g(34.\\r\\n\(gdb\))f(})640 2288 |
| y(epect:)h(set)g(expect_out\(spawn_id\))e({6})640 2370 |
| y(expect:)i(set)g(expect_out\(buffer\))e({break)i |
| (gdbme.c:34\\r\\nBreakpoint)d(8)640 2452 y(at)k(0x23d8:)e(file)i |
| (gdbme.c,)e(line)h(34.\\r\\n\(gdb\))f(})954 2534 y(PASS:)134 |
| b(70)268 b(0)314 b(breakpoint)43 b(line)h(number)g(in)h(file)596 |
| 2791 y Fl(This)21 b(example)e(exhibits)i(thr)o(ee)f(pr)o(operties)g(of) |
| g(Expect)g(and)g(DejaGnu)h(that)f(might)i(be)e(surpris-)596 |
| 2882 y(ing)h(at)f(\002rst)h(glance:)p Black 596 3098 |
| a Fg(\225)p Black 43 w Fl(Empty)31 b(output)i(for)e(the)h(\002rst)g |
| (attempted)f(match.)h(The)f(\002rst)h(set)g(of)g(attempted)f(matches) |
| 679 3189 y(shown)24 b(ran)e(against)h(the)g(output)g |
| Fj({})f Fl(---)f(that)i(is,)g(no)g(output.)g(Expect)f(begins)h |
| (attempting)h(to)679 3280 y(match)17 b(the)g(patterns)g(supplied)g |
| (immediately;)g(often,)g(the)h(\002rst)f(pass)h(is)f(against)g |
| (incomplete)679 3372 y(output)k(\(or)f(completely)i(befor)o(e)d(all)i |
| (output,)g(as)f(in)h(this)h(case\).)p Black 596 3505 |
| a Fg(\225)p Black 43 w Fl(Interspersed)g(tool)h(output.)g(The)g |
| (beginning)h(of)e(the)h(log)h(entry)e(for)h(the)g(second)g(attempted) |
| 679 3596 y(match)c(may)h(be)f(har)o(d)f(to)i(spot:)g(this)g(is)g |
| (because)f(the)h(pr)o(ompt)f Fj({\(gdb\))f(})h Fl(appears)f(on)i(the)g |
| (same)679 3687 y(line,)g(just)i(befor)o(e)d(the)i Fj(expect:)f |
| Fl(that)h(marks)f(the)h(beginning)h(of)f(the)g(log)g(entry)-9 |
| b(.)p Black 596 3820 a Fg(\225)p Black 43 w Fl(Fail-safe)27 |
| b(patterns.)h(Many)h(of)f(the)h(patterns)g(tested)f(ar)o(e)g(fail-safe) |
| f(patterns)h(pr)o(ovided)g(by)679 3911 y(GDB)18 b(testing)h(utilities,) |
| g(to)g(r)o(educe)e(possible)i(indeterminacy)-9 b(.)18 |
| b(It)g(is)h(useful)g(to)f(anticipate)g(po-)679 4003 y(tential)i |
| (variations)g(caused)g(by)g(extr)o(eme)f(system)i(conditions)h(\(GDB)e |
| (might)i(issue)f(the)f(mes-)679 4094 y(sage)28 b Fj(virtual)h(memory)g |
| (exhausted)f Fl(in)i(rar)o(e)e(cir)o(cumstances\),)g(or)h(by)h(changes) |
| f(in)h(the)f(tested)679 4185 y(pr)o(ogram)24 b(\()p Fj(Unde\002ned)f |
| (command)g Fl(is)i(the)g(likeliest)g(outcome)h(if)e(the)h(name)g(of)f |
| (a)h(tested)f(com-)679 4277 y(mand)c(changes\).)679 4410 |
| y(The)k(pattern)f Fj({r)o(eturn})h Fl(is)g(a)g(particularly)f(inter)o |
| (esting)h(fail-safe)e(to)j(notice;)f(it)g(checks)g(for)g(an)679 |
| 4501 y(unexpected)16 b Fk(RET)i Fl(pr)o(ompt.)g(This)g(may)g(happen,)f |
| (for)h(example,)f(if)g(the)h(tested)g(tool)g(can)g(\002lter)679 |
| 4592 y(output)j(thr)o(ough)g(a)f(pager)-6 b(.)679 4725 |
| y(These)28 b(fail-safe)e(patterns)i(\(like)g(the)h(debugging)f(log)h |
| (itself\))f(ar)o(e)f(primarily)h(useful)g(while)679 4816 |
| y(developing)g(test)h(scripts.)g(Use)f(the)g Fk(error)i |
| Fl(pr)o(ocedur)o(e)c(to)j(make)g(the)f(actions)h(for)g(fail-safe)679 |
| 4908 y(patterns)e(pr)o(oduce)f(messages)i(starting)g(with)g |
| Fj(ERROR)g Fl(on)g(standar)o(d)e(output,)i(and)f(in)h(the)679 |
| 4999 y(detailed)19 b(log)j(\002le.)p Black 197 5585 a |
| Fj(22)p Black eop |
| %%Page: 23 29 |
| 23 28 bop Black 0 TeXcolorgray Black Black 197 95 a Fp(Chapter)34 |
| b(4.)f(Customizing)h(DejaGn)o(u)596 288 y Fl(The)25 b(site)h |
| (con\002guration)h(\002le,)e Ff(site.exp)p Fl(,)f(captur)o(es)g |
| (con\002guration-dependent)i(values)f(and)596 380 y(pr)o(opagates)g |
| (them)h(to)h(the)g(DejaGnu)g(test)g(envir)o(onment)g(using)g(T)-9 |
| b(cl)26 b(variables.)f(This)i(ties)g(the)596 471 y(DejaGnu)e(test)g |
| (scripts)f(into)i(the)f Fk(con\002gure)e Fl(and)i Fk(make)e |
| Fl(pr)o(ograms.)h(If)g(this)h(\002le)g(is)g(setup)g(cor)o(-)596 |
| 562 y(r)o(ectly)-9 b(,)19 b(it)i(is)g(possible)h(to)f(execute)f(a)g |
| (testsuite)h(mer)o(ely)f(by)h(typing)h Fk(runtest)p Fl(.)596 |
| 695 y(DejaGnu)17 b(supports)g(two)g Ff(site.exp)e Fl(\002les.)i(The)f |
| (multiple)h(instances)g(of)f Ff(site.exp)g Fl(ar)o(e)f(loaded)596 |
| 786 y(in)j(a)h(\002xed)f(or)o(der)f(built)i(into)g(DejaGnu.)g(The)g |
| (\002rst)f(\002le)h(loaded)f(is)h(the)f(local)h(\002le)f |
| Ff(site.exp)p Fl(,)f(and)596 878 y(then)24 b(the)g(optional)g(global)g |
| Ff(site.exp)f Fl(\002le)h(as)f(pointed)h(to)h(by)e(the)h(DEJAGNU)f |
| (envir)o(onment)596 969 y(variable.)596 1102 y(Ther)o(e)j(is)h(an)g |
| (optional)h Fj(master)g Ff(site.exp)p Fl(,)d(capturing)i |
| (con\002guration)i(values)e(that)g(apply)g(to)596 1193 |
| y(DejaGnu)17 b(acr)o(oss)g(the)g(boar)o(d,)e(in)j(each)e |
| (con\002guration-speci\002c)i(subdir)o(ectory)e(of)h(the)g(DejaGnu)596 |
| 1285 y(library)23 b(dir)o(ectory)-9 b(.)23 b Fk(runtest)g |
| Fl(loads)h(these)h(values)f(\002rst.)g(The)h(master)f |
| Ff(site.exp)f Fl(contains)i(the)596 1376 y(default)30 |
| b(values)i(for)f(all)h(tar)o(gets)e(and)i(hosts)h(supported)e(by)h |
| (DejaGnu.)g(This)g(master)g(\002le)g(is)596 1467 y(identi\002ed)g(by)h |
| (setting)g(the)g(envir)o(onment)g(variable)e(DEJAGNU)h(to)h(the)g(name) |
| g(of)f(the)h(\002le.)596 1559 y(This)21 b(is)g(also)g(r)o(efer)o(ed)d |
| (to)j(as)g(the)f(\223global\224)g(con\002g)i(\002le.)596 |
| 1691 y(Any)f(dir)o(ectory)g(containing)i(a)e(con\002gur)o(ed)h |
| (testsuite)g(also)f(has)h(a)f(local)h Ff(site.exp)p Fl(,)e(capturing) |
| 596 1783 y(con\002guration)25 b(values)g(speci\002c)f(to)h(the)g(tool)h |
| (under)e(test.)h(Since)f Fk(runtest)f Fl(loads)i(these)f(values)596 |
| 1874 y(last,)f(the)h(individual)g(test)g(con\002guration)h(can)e |
| (either)h(r)o(ely)g(on)g(and)g(use,)f(or)h(override,)f(any)h(of)596 |
| 1965 y(the)c(global)h(values)g(fr)o(om)f(the)h(global)g |
| Ff(site.exp)e Fl(\002le.)596 2098 y(Y)-8 b(ou)29 b(can)g(usually)g |
| (generate)f(or)g(update)g(the)h(testsuite's)g(local)g |
| Ff(site.exp)e Fl(by)i(typing)g Fk(make)596 2189 y(site.exp)17 |
| b Fl(in)22 b(the)f(testsuite)g(dir)o(ectory)-9 b(,)19 |
| b(after)h(the)h(test)f(suite)h(is)h(con\002gur)o(ed.)596 |
| 2322 y(Y)-8 b(ou)23 b(can)e(also)h(have)g(a)f(\002le)h(in)h(your)f |
| (home)h(dir)o(ectory)e(called)g Ff(.dejagnurc)p Fl(.)f(This)j(gets)f |
| (loaded)596 2414 y(\002rst)k(befor)o(e)e(the)i(other)g(con\002g)h |
| (\002les.)f(Usually)f(this)i(is)f(used)f(for)h(personal)g(stuf)o(f,)e |
| (like)i(setting)596 2505 y(the)h(all_\003ag)f(so)i(all)f(the)g(output)g |
| (gets)h(printed,)e(or)h(your)h(own)g(verbosity)f(levels.)g(This)g |
| (\002le)h(is)596 2596 y(usually)21 b(r)o(estricted)e(to)i(setting)h |
| (command)f(line)g(options.)596 2729 y(Y)-8 b(ou)49 b(can)f(further)f |
| (override)h(the)g(default)f(values)h(in)g(a)g(user)o(-editable)e |
| (section)j(of)f(any)596 2820 y Ff(site.exp)p Fl(,)19 |
| b(or)i(by)f(setting)i(variables)e(on)h(the)g Fk(runtest)e |
| Fl(command)i(line.)197 3089 y Fi(Local)28 b(Con\002g)h(File)596 |
| 3231 y Fl(It)h(is)g(usually)h(mor)o(e)f(convenient)h(to)g(keep)f(these) |
| g Fj(manual)g(overrides)h Fl(in)g(the)f Ff(site.exp)f |
| Fl(local)596 3322 y(to)g(each)h(test)f(dir)o(ectory)-9 |
| b(,)28 b(rather)h(than)h(in)g(the)g(global)g Ff(site.exp)e |
| Fl(in)i(the)g(installed)f(DejaGnu)596 3414 y(library)-9 |
| b(.)20 b(This)i(\002le)g(is)g(mostly)h(for)f(supplying)g(tool)h |
| (speci\002c)f(info)g(that)f(is)h(r)o(equir)o(ed)f(by)g(the)h(test-)596 |
| 3505 y(suite.)596 3638 y(All)g(local)g Ff(site.exp)f |
| Fl(\002les)h(have)g(two)h(sections,)g(separated)d(by)j(comment)g(text.) |
| f(The)g(\002rst)g(sec-)596 3729 y(tion)h(is)g(the)g(part)f(that)g(is)h |
| (generated)f(by)h Fk(make)p Fl(.)e(It)h(is)h(essentially)g(a)g |
| (collection)g(of)g(T)-9 b(cl)22 b(variable)596 3820 y(de\002nitions)29 |
| b(based)e(on)i Ff(Makefile)d Fl(envir)o(onment)j(variables.)d(Since)i |
| (they)g(ar)o(e)f(generated)g(by)596 3912 y Fk(make)p |
| Fl(,)j(they)j(contain)f(the)h(values)e(as)h(speci\002ed)g(by)g |
| Fk(con\002gure)p Fl(.)f(\(Y)-8 b(ou)33 b(can)f(also)h(customize)596 |
| 4003 y(these)20 b(values)g(by)g(using)h(the)g Ff(--site)e |
| Fl(option)i(to)g Fk(con\002gure)p Fl(.\))e(In)h(particular)-6 |
| b(,)19 b(this)i(section)g(con-)596 4094 y(tains)i(the)h |
| Ff(Makefile)e Fl(variables)h(for)g(host)i(and)e(tar)o(get)f |
| (con\002guration)j(data.)d(Do)j(not)f(edit)f(this)596 |
| 4186 y(\002rst)e(section;)g(if)f(you)i(do,)e(your)h(changes)g(ar)o(e)f |
| (r)o(eplaced)e(next)j(time)g(you)g(r)o(un)h Fk(make)p |
| Fl(.)596 4401 y Fk(Example)c(4-1.)h(The)h(\002rst)h(section)e(starts)g |
| (with)640 4567 y Ff(##)45 b(these)f(variables)f(are)h(automatically)f |
| (generated)g(by)i(make)f(##)640 4649 y(#)h(Do)g(not)f(edit)g(here.)g |
| (If)g(you)h(wish)f(to)g(override)g(these)g(values)640 |
| 4731 y(#)h(add)f(them)g(to)h(the)f(last)g(section)596 |
| 4988 y Fl(In)26 b(the)h(second)g(section,)g(you)g(can)f(override)g(any) |
| h(default)e(values)i(\(locally)f(to)h(DejaGnu\))g(for)596 |
| 5079 y(all)d(the)i(variables.)d(The)i(second)h(section)f(can)g(also)g |
| (contain)h(your)f(pr)o(eferr)o(ed)d(defaults)i(for)h(all)596 |
| 5170 y(the)20 b(command)g(line)h(options)g(to)g Fk(runtest)p |
| Fl(.)d(This)j(allows)g(you)f(to)h(easily)f(customize)h |
| Fk(runtest)d Fl(for)596 5262 y(your)i(pr)o(efer)o(ences)e(in)i(each)g |
| (con\002gur)o(ed)g(test-suite)g(tr)o(ee,)f(so)h(that)g(you)h(need)f |
| (not)h(type)f(options)596 5353 y(r)o(epeatedly)j(on)j(the)f(command)h |
| (line.)f(\(The)g(second)h(section)f(may)h(also)f(be)g(empty)-9 |
| b(,)25 b(if)g(you)h(do)596 5444 y(not)21 b(wish)h(to)f(override)f(any)h |
| (defaults.\))p Black 3601 5585 a Fj(23)p Black eop |
| %%Page: 24 30 |
| 24 29 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(4.)g(Customizing)h(DejaGnu)p Black 596 89 a Fk(Example)d(4-2.)h(The)h |
| (\002rst)h(section)e(ends)g(with)h(this)g(line)640 254 |
| y Ff(##)45 b(All)f(variables)f(above)h(are)h(generated)e(by)i |
| (configure.)e(Do)h(Not)h(Edit)f(##)596 511 y Fl(Y)-8 |
| b(ou)26 b(can)e(make)h(any)g(changes)g(under)g(this)h(line.)f(If)f(you) |
| i(wish)g(to)f(r)o(ede\002ne)f(a)h(variable)e(in)j(the)596 |
| 602 y(top)i(section,)h(then)g(just)g(put)f(a)g(duplicate)f(value)h(in)h |
| (this)g(second)f(section.)h(Usually)f(the)h(val-)596 |
| 693 y(ues)24 b(de\002ned)h(in)g(this)h(con\002g)g(\002le)f(ar)o(e)e(r)o |
| (elated)h(to)h(the)g(con\002guration)h(of)f(the)g(test)g(r)o(un.)g |
| (This)h(is)596 785 y(the)c(ideal)g(place)g(to)h(set)f(the)h(variables)e |
| (host_triplet,)i(build_triplet,)f(tar)o(get_triplet.)e(All)j(other)596 |
| 876 y(variables)17 b(ar)o(e)g(tool)i(dependant,)e(i.e.,)h(for)g |
| (testing)h(a)f(compiler)-6 b(,)18 b(the)h(value)e(for)h(CC)h(might)g |
| (be)f(set)596 967 y(to)j(a)f(fr)o(eshly)g(built)h(binary)-9 |
| b(,)20 b(as)h(opposed)g(to)g(one)g(in)g(the)g(user)6 |
| b('s)21 b(path.)596 1100 y(Her)o(e's)e(an)i(example)f(local)h(site.exp) |
| f(\002le,)h(as)f(used)h(for)f(GCC/G++)i(testing.)596 |
| 1316 y Fk(Example)c(4-3.)h(Local)h(Con\002g)g(File)865 |
| 1481 y Ff(##)44 b(these)g(variables)f(are)i(automatically)d(generated)i |
| (by)g(make)g(##)865 1564 y(#)g(Do)h(not)f(edit)g(here.)g(If)h(you)f |
| (wish)g(to)h(override)e(these)h(values)865 1646 y(#)g(add)g(them)h(to)f |
| (the)g(last)h(section)865 1728 y(set)f(rootme)g |
| ("/build/devo-builds/i586-pc-linux-gnu)o(libc1/)o(gcc")865 |
| 1810 y(set)g(host_triplet)f(i586-pc-linux-gnulibc1)865 |
| 1892 y(set)h(build_triplet)e(i586-pc-linux-gnulibc1)865 |
| 1975 y(set)i(target_triplet)e(i586-pc-linux-gnulibc1)865 |
| 2057 y(set)i(target_alias)f(i586-pc-linux-gnulibc1)865 |
| 2139 y(set)h(CFLAGS)g("")865 2221 y(set)g(CXXFLAGS)f("-isystem)h |
| (/build/devo-builds/i586-pc-linux-gnul)o(ibc1/g)o(cc/../)o(libio)38 |
| b(-isystem)44 b($srcdir/../libg++/src)d(-isystem)j($srcdir/../libio)e |
| (-isystem)h($srcdir/../libstdc++)f(-isystem)h($srcdir/../libstdc++/stl) |
| e(-L/build/devo-builds/i586-pc-linux-gnul)o(ibc1/g)o(cc/../)o(libg++)d |
| (-L/build/devo-builds/i586-pc-linux-gnulib)o(c1/gcc)o(/../li)o(bstdc+)o |
| (+")865 2303 y(append)43 b(LDFLAGS)h(")h |
| (-L/build/devo-builds/i586-pc-linux-gn)o(ulibc1)o(/gcc/.)o(./ld")865 |
| 2385 y(set)f(tmpdir)g(/build/devo-builds/i586-pc-linux-gnul)o(ibc1/g)o |
| (cc/tes)o(tsuite)865 2468 y(set)g(srcdir)g("${srcdir}/testsuite")865 |
| 2550 y(##)g(All)g(variables)g(above)g(are)g(generated)f(by)i |
| (configure.)e(Do)h(Not)h(Edit)f(##)596 2889 y Fl(This)32 |
| b(\002le)f(de\002nes)h(the)f(r)o(equir)o(ed)f(\002elds)i(for)f(a)g |
| (local)g(con\002g)i(\002le,)e(namely)h(the)f(thr)o(ee)g(con\002g)596 |
| 2980 y(triplets,)22 b(and)h(the)g(sr)o(cdir)-6 b(.)21 |
| b(It)i(also)g(de\002nes)g(several)f(other)h(T)-9 b(cl)22 |
| b(variables)g(that)h(ar)o(e)e(used)i(exclu-)596 3071 |
| y(sivly)28 b(by)g(the)g(GCC)g(testsuite.)h(For)f(most)h(test)f(cases,)f |
| (the)h(CXXFLAGS)g(and)g(LDFLAGS)f(ar)o(e)596 3163 y(supplied)j(by)i |
| (DejaGnu)f(itself)h(for)e(cr)o(oss)h(testing,)h(but)f(to)h(test)f(a)f |
| (compiler)-6 b(,)31 b(GCC)h(needs)f(to)596 3254 y(manipulate)20 |
| b(these)h(itself.)197 3572 y Fi(Global)29 b(Con\002g)g(File)596 |
| 3713 y Fl(The)i(master)h(con\002g)h(\002le)f(is)g(wher)o(e)g(all)f(the) |
| i(tar)o(get)d(speci\002c)i(con\002g)h(variables)e(for)h(a)f(whole)596 |
| 3805 y(site)24 b(get)h(set.)f(The)h(idea)e(is)i(that)g(for)f(a)g |
| (centralized)f(testing)i(lab)g(wher)o(e)f(people)g(have)g(to)h(shar)o |
| (e)596 3896 y(a)c(tar)o(get)g(between)h(multiple)g(developers.)f(Ther)o |
| (e)g(ar)o(e)g(settings)i(for)e(both)i(r)o(emote)e(tar)o(gets)g(and)596 |
| 3987 y(r)o(emote)c(hosts.)i(Her)o(e's)e(an)h(example)f(of)h(a)f(Master) |
| g(Con\002g)i(File)f(\(also)g(called)f(the)h(Global)g(con\002g)596 |
| 4079 y(\002le\))h(for)f(a)h Fj(canadian)g(cr)o(oss)p |
| Fl(.)g(A)f(canadian)g(cr)o(oss)i(is)f(when)h(you)g(build)f(and)g(test)g |
| (a)g(cr)o(oss)g(compiler)596 4170 y(on)i(a)f(machine)h(other)g(than)g |
| (the)g(one)g(it's)h(to)f(be)f(hosted)h(on.)596 4303 y(Her)o(e)f(we)h |
| (have)g(the)g(con\002g)h(settings)g(for)f(our)h(California)e(of)o |
| (\002ce.)h(Note)g(that)g(all)g(con\002g)h(values)596 |
| 4394 y(ar)o(e)15 b(site)i(dependant.)f(Her)o(e)f(we)i(have)f(two)i |
| (sets)f(of)g(values)f(that)h(we)g(use)g(for)f(testing)i(m68k-aout)596 |
| 4486 y(cr)o(oss)e(compilers.)h(As)f(both)i(of)e(these)h(tar)o(get)e |
| (boar)o(ds)h(has)h(a)f(dif)o(fer)o(ent)e(debugging)j(pr)o(otocol,)g(we) |
| 596 4577 y(test)j(on)i(both)f(of)g(them)g(in)g(sequence.)596 |
| 4793 y Fk(Example)d(4-4.)h(Global)g(Con\002g)i(\002le)865 |
| 4958 y Ff(#)44 b(Make)g(sure)g(we)h(look)f(in)h(the)f(right)g(place)g |
| (for)g(the)h(board)f(description)f(files.)865 5040 y(if)h(![info)g |
| (exists)g(boards_dir])f({)1044 5122 y(set)h(boards_dir)f({})865 |
| 5205 y(})865 5287 y(lappend)g(boards_dir)g |
| ("/nfs/cygint/s1/cygnus/dejagnu/boards")865 5451 y(verbose)g("Global)h |
| (Config)g(File:)g(target_triplet)e(is)j($target_triplet")d(2)p |
| Black 197 5585 a Fj(24)p Black eop |
| %%Page: 25 31 |
| 25 30 bop Black 0 TeXcolorgray Black 2549 -132 a Fj(Chapter)20 |
| b(4.)g(Customizing)h(DejaGnu)p Black 865 89 a Ff(global)43 |
| b(target_list)865 253 y(case)h("$target_triplet")e(in)i({)1044 |
| 336 y({)g("native")g(})h({)1223 418 y(set)f(target_list)f("unix")1044 |
| 500 y(})1044 582 y({)h("sparc64-*elf")f(})i({)1223 664 |
| y(set)f(target_list)f("sparc64-sim")1044 747 y(})1044 |
| 829 y({)h("mips-*elf")f(})i({)1223 911 y(set)f(target_list)f("mips-sim) |
| h(wilma)g(barney")1044 993 y(})1044 1075 y({)g("mips-lsi-elf")f(})i({) |
| 1223 1158 y(set)f(target_list)f("mips-lsi-sim{,soft-float,el}")1044 |
| 1240 y(})1044 1322 y({)h("sh-*hms")g(})g({)1223 1404 |
| y(set)g(target_list)f({)i("sh-hms-sim")e("bloozy")g(})1044 |
| 1486 y(})865 1569 y(})596 1825 y Fl(In)19 b(this)g(case,)f(we)h(have)g |
| (support)g(for)f(several)g(cr)o(oss)h(compilers,)g(that)g(all)g(r)o(un) |
| g(on)h(this)f(host.)h(For)596 1916 y(testing)25 b(on)h(operating)f |
| (systems)h(that)f(don't)g(support)h(Expect,)e(DejaGnu)h(can)g(be)g(r)o |
| (un)g(on)h(the)596 2008 y(local)18 b(build)g(machine,)g(and)f(it)h(can) |
| g(connect)h(to)f(the)g(r)o(emote)g(host)h(and)e(r)o(un)i(all)f(the)g |
| (tests)g(for)g(this)596 2099 y(cr)o(oss)i(compiler)h(on)h(that)e(host.) |
| i(All)e(the)h(r)o(emote)g(OS)f(r)o(equir)o(es)g(is)h(a)f(working)i |
| (telnetd.)596 2232 y(As)28 b(you)i(can)e(see,)h(all)g(one)g(does)g(is)h |
| (set)f(the)g(variable)e(tar)o(get_list)h(to)i(the)f(list)g(of)g(tar)o |
| (gets)f(and)596 2323 y(options)23 b(to)g(test.)g(The)f(simple)h |
| (settings,)h(like)f(for)f Fj(spar)o(c64-elf)32 b Fl(only)24 |
| b(r)o(equir)o(e)d(setting)i(the)g(name)596 2415 y(of)k(the)h(single)g |
| (boar)o(d)f(con\002g)h(\002le.)g(The)g Fj(mips-elf)38 |
| b Fl(tar)o(get)27 b(is)h(mor)o(e)f(complicated.)g(Her)o(e)g(it)h(sets) |
| 596 2506 y(the)j(list)g(to)h(thr)o(ee)e(tar)o(get)g(boar)o(ds.)g(One)h |
| (is)g(the)h(default)e(mips)h(tar)o(get,)f(and)g(both)i |
| Fj(wilma)f(bar-)596 2597 y(ney)d Fl(ar)o(e)e(symbolic)k(names)e(for)g |
| (other)g(mips)h(boar)o(ds.)e(Symbolic)h(names)h(ar)o(e)d(cover)o(ed)h |
| (in)i(the)p 0 TeXcolorgray 596 2689 a(Adding)19 b(A)g(New)g(Boar)o(d)p |
| Black 18 w(chapter)-6 b(.)18 b(The)i(mor)o(e)f(complicated)g(example)f |
| (is)i(the)g(one)g(for)f Fj(mips-lsi-)596 2780 y(elf)11 |
| b Fl(.)27 b(This)h(one)f(r)o(uns)h(the)f(tests)h(with)g(multiple)f |
| (iterations)h(using)g(all)f(possible)g(combinations)596 |
| 2871 y(of)i(the)h Ff(--soft-float)e Fl(and)i(the)g Ff(--el)f |
| Fl(\(little)h(endian\))f(option.)i(Needless)f(to)g(say)-9 |
| b(,)29 b(this)i(last)596 2962 y(featur)o(e)18 b(is)k(mostly)f(compiler) |
| h(speci\002c.)197 3281 y Fi(Boar)n(d)28 b(Con\002g)h(File)596 |
| 3422 y Fl(The)i(boar)o(d)f(con\002g)i(\002le)g(is)f(wher)o(e)g(boar)o |
| (d)f(spec\002c)h(con\002g)i(data)d(is)i(stor)o(ed.)e(A)h(boar)o(d)f |
| (con\002g)596 3513 y(\002le)25 b(contains)h(all)f(the)h(higher)o |
| (-level)f(con\002guration)h(settings.)g(Ther)o(e)f(is)g(a)g(r)o(ough)h |
| (inheritance)596 3605 y(scheme,)d(wher)o(e)g(it)h(is)g(possible)g(to)g |
| (base)f(a)g(new)h(boar)o(d)e(description)i(\002le)g(on)g(an)g(existing) |
| g(one.)596 3696 y(Ther)o(e)18 b(ar)o(e)f(also)j(collections)g(of)f |
| (custom)h(pr)o(ocedur)o(es)e(for)h(common)h(envir)o(onments.)g(For)f |
| (mor)o(e)596 3787 y(information)h(on)g(adding)f(a)f(new)i(boar)o(d)e |
| (con\002g)i(\002le,)g(go)f(to)h(the)p 0 TeXcolorgray |
| 20 w(Adding)f(A)f(New)i(Boar)o(d)p Black 18 w(chap-)596 |
| 3879 y(ter)-6 b(.)596 4012 y(An)22 b(example)g(boar)o(d)g(con\002g)h |
| (\002le)g(for)g(a)f(GNU)h(simulator)g(is)g(as)g(follows.)g |
| Ff(set_board_info)e Fl(is)596 4103 y(a)g(pr)o(ocedur)o(e)f(that)h(sets) |
| h(the)g(\002eld)g(name)f(to)i(the)e(speci\002ed)h(value.)f(The)g(pr)o |
| (ocedur)o(es)f(in)j(squar)o(e)596 4194 y(brackets)c Fj([])g |
| Fl(ar)o(e)g Fj(helper)h(pr)o(ocedur)o(es)p Fl(.)f(Thes)h(ar)o(e)f(used) |
| h(to)g(\002nd)h(parts)e(of)h(a)g(tool)h(chain)f(r)o(equir)o(ed)f(to)596 |
| 4286 y(build)i(an)g(executable)g(image)g(that)g(may)h(r)o(eside)e(in)i |
| (various)g(locations.)g(This)g(is)g(mostly)g(of)g(use)596 |
| 4377 y(for)g(when)i(the)f(startup)f(code,)h(the)g(standar)o(d)e(C)i |
| (lobraries,)f(or)h(the)g(tool)h(chain)f(itself)g(is)g(part)f(of)596 |
| 4468 y(your)f(build)f(tr)o(ee.)596 4684 y Fk(Example)e(4-5.)h(Board)i |
| (Con\002g)f(File)865 4849 y Ff(#)44 b(This)g(is)h(a)f(list)h(of)f |
| (toolchains)f(that)h(are)h(supported)e(on)i(this)f(board.)865 |
| 4931 y(set_board_info)e(target_install)g({sparc64-elf})865 |
| 5096 y(#)i(Load)g(the)h(generic)e(configuration)g(for)h(this)g(board.)g |
| (This)g(will)h(define)e(any)865 5178 y(#)h(routines)g(needed)f(by)i |
| (the)f(tool)g(to)h(communicate)e(with)h(the)g(board.)865 |
| 5260 y(load_generic_config)d("sim")865 5425 y(#)j(We)h(need)f(this)g |
| (for)g(find_gcc)g(and)g(*_include_flags/*_link_flags.)p |
| Black 3601 5585 a Fj(25)p Black eop |
| %%Page: 26 32 |
| 26 31 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(4.)g(Customizing)h(DejaGnu)p Black 865 89 a Ff |
| (load_base_board_description)40 b("basic-sim")865 253 |
| y(#)k(Use)g(long64)g(by)h(default.)865 336 y(process_multilib_options) |
| 40 b("long64")865 500 y(setup_sim)j(sparc64)865 664 y(#)h(We)h(only)f |
| (support)f(newlib)h(on)h(this)f(target.)g(We)g(assume)g(that)g(all)g |
| (multilib)865 747 y(#)g(options)g(have)g(been)g(specified)f(before)h |
| (we)h(get)f(here.)865 829 y(set_board_info)e(compiler)88 |
| b("[find_gcc]")865 911 y(set_board_info)42 b(cflags)89 |
| b("[libgloss_include_flags])40 b([newlib_include_flags]")865 |
| 993 y(set_board_info)i(ldflags)88 b("[libgloss_link_flags])42 |
| b([newlib_link_flags]")865 1075 y(#)i(No)h(linker)e(script.)865 |
| 1158 y(set_board_info)f(ldscript)h("";)865 1322 y(#)h(Used)g(by)h(a)f |
| (few)h(gcc.c-torture)d(testcases)i(to)g(delimit)g(how)g(large)g(the)865 |
| 1404 y(#)g(stack)g(can)g(be.)865 1486 y(set_board_info)e |
| (gcc,stack_size)g(16384)865 1569 y(#)i(The)g(simulator)g(doesn't)f |
| (return)h(exit)g(statuses)g(and)g(we)h(need)f(to)g(indicate)g(this)865 |
| 1651 y(#)g(the)g(standard)g(GCC)g(wrapper)g(will)g(work)g(with)g(this)h |
| (target.)865 1733 y(set_board_info)d(needs_status_wrapper)f(1)865 |
| 1815 y(#)j(We)h(can't)f(pass)g(arguments)f(to)i(programs.)865 |
| 1897 y(set_board_info)d(noargs)i(1)596 2154 y Fl(Ther)o(e)20 |
| b(ar)o(e)g(\002ve)h(helper)g(pr)o(ocedur)o(es)e(used)i(in)h(this)g |
| (example.)e(The)h(\002rst)h(one,)f Ff(find)44 b(gcc)21 |
| b Fl(looks)596 2245 y(for)16 b(a)g(copy)i(of)e(the)h(GNU)g(compiler)g |
| (in)h(your)f(build)g(tr)o(ee,)e(or)i(it)g(uses)g(the)g(one)g(in)h(your) |
| f(path.)f(This)596 2336 y(will)k(also)g(r)o(eturn)f(the)h(pr)o(oper)f |
| (transformed)g(name)h(for)f(a)h(cr)o(oss)f(compiler)h(if)g(you)g(whole) |
| h(build)596 2428 y(tr)o(ee)d(is)h(con\002gur)o(ed)g(for)g(one.)g(The)g |
| (next)h(helper)f(pr)o(ocedur)o(es)e(ar)o(e)h Ff(libgloss_include_flags) |
| 596 2519 y Fl(&)i Ff(libgloss_link_flags)p Fl(.)d(These)k(r)o(eturn)f |
| (the)h(pr)o(oper)e(\003ags)i(to)h(compiler)f(and)f(link)h(an)g(exe-)596 |
| 2610 y(cutable)f(image)h(using)p 0 TeXcolorgray 23 w(Libgloss)p |
| Black(,)h(the)f(GNU)h(BSP)e(\(Boar)o(d)g(Support)h(Package\).)f(The)h |
| (\002nal)h(pr)o(o-)596 2702 y(cedur)o(es)17 b(ar)o(e)h |
| Ff(newlib_include_flag)e Fl(&)i Ff(newlib_include_flag)p |
| Fl(.)e(These)j(\002nd)g(the)h(Newlib)596 2793 y(C)i(library)-9 |
| b(,)21 b(which)j(is)f(a)f(r)o(eentrant)f(standar)o(d)g(C)h(library)g |
| (for)g(embedded)f(systems)j(comprising)596 2884 y(of)c(non)i(GPL)-6 |
| b('d)21 b(code.)197 3202 y Fi(Remote)28 b(Host)g(T)-6 |
| b(esting)762 3418 y Fd(Note:)19 b Fc(Thanks)h(to)g(Dj)g(Delor)q(ie)f(f) |
| n(or)h(the)f(or)q(iginal)f(paper)h(that)g(this)h(section)g(is)g(based)g |
| (on.)596 3725 y Fl(DejaGnu)i(also)g(supports)g(r)o(unning)i(the)d |
| (tests)i(on)f(a)f(r)o(emote)h(host.)g(T)-8 b(o)23 b(set)e(this)i(up,)e |
| (the)h(r)o(emote)596 3816 y(host)16 b(needs)g(an)g(ftp)g(server)-6 |
| b(,)15 b(and)g(a)h(telnet)g(server)-6 b(.)15 b(Curr)o(ently)g(for)o |
| (eign)h(operating)g(systems)h(used)596 3908 y(as)j(r)o(emote)g(hosts)i |
| (ar)o(e)d(VxW)-8 b(orks,)22 b(VR)m(TX,)f(DOS/W)-5 b(indows)22 |
| b(3.1,)e(MacOS)f(and)h(W)-5 b(indows.)596 4041 y(The)24 |
| b(r)o(ecommended)g(sour)o(ce)g(for)g(a)g(W)-5 b(indows-based)25 |
| b(FTP)f(server)g(is)h(to)g(get)f(IIS)g(\(either)g(IIS)g(1)596 |
| 4132 y(or)19 b(Personal)h(W)-8 b(eb)19 b(Server\))f(fr)o(om)h |
| (http://www)-8 b(.micr)o(osoft.com.)22 b(When)e(you)g(install)g(it,)f |
| (make)596 4223 y(sur)o(e)i(you)i(install)g(the)g(FTP)g(server)e(-)i |
| (it's)g(not)g(selected)f(by)g(default.)f(Go)j(into)f(the)g(IIS)f |
| (manager)596 4315 y(and)k(change)h(the)g(FTP)g(server)f(so)h(that)g(it) |
| g(does)g(not)g(allow)h(anonymous)g(FTP)-11 b(.)27 b(Set)f(the)h(home) |
| 596 4406 y(dir)o(ectory)19 b(to)j(the)e(r)o(oot)h(dir)o(ectory)f |
| (\(i.e.)g(c:\\\))g(of)h(a)f(suitable)h(drive.)f(Allow)h(writing)h(via)e |
| (FTP)-11 b(.)596 4539 y(It)25 b(will)g(cr)o(eate)f(an)h(account)g(like) |
| g(IUSR_FOOBAR)g(wher)o(e)f(foobar)h(is)g(the)g(name)g(of)g(your)g(ma-) |
| 596 4630 y(chine.)c(Go)h(into)g(the)g(user)f(editor)g(and)g(give)g |
| (that)h(account)f(a)g(passwor)o(d)f(that)i(you)g(don't)f(mind)596 |
| 4721 y(hanging)f(ar)o(ound)e(in)i(the)g(clear)e(\(i.e.)g(not)j(the)e |
| (same)g(as)g(your)h(admin)f(or)h(personal)f(passwor)o(ds\).)596 |
| 4813 y(Also,)h(add)g(it)h(to)g(all)g(the)g(various)f(permission)i(gr)o |
| (oups.)596 4946 y(Y)-8 b(ou'll)28 b(also)f(need)g(a)f(telnet)h(server) |
| -6 b(.)26 b(For)h(W)-5 b(indows,)28 b(go)g(to)f(the)g(Ataman)2993 |
| 4912 y Fh(2)3044 4946 y Fl(web)g(site,)g(pick)g(up)596 |
| 5037 y(the)c(Ataman)h(Remote)g(Logon)h(Services)e(for)g(W)-5 |
| b(indows,)25 b(and)e(install)i(it.)f(Y)-8 b(ou)25 b(can)e(get)h |
| (started)596 5128 y(on)35 b(the)g(eval)f(period)g(anyway)-9 |
| b(.)35 b(Add)e(IUSR_FOOBAR)i(to)g(the)g(list)g(of)g(allowed)f(users,)h |
| (set)596 5220 y(the)25 b(HOME)g(dir)o(ectory)f(to)i(be)f(the)h(same)f |
| (as)g(the)g(FTP)h(default)e(dir)o(ectory)-9 b(.)24 b(Change)h(the)h |
| (Mode)596 5311 y(pr)o(ompt)20 b(to)h(simple.)p Black |
| 197 5585 a Fj(26)p Black eop |
| %%Page: 27 33 |
| 27 32 bop Black 0 TeXcolorgray Black 2549 -132 a Fj(Chapter)20 |
| b(4.)g(Customizing)h(DejaGnu)p Black 596 89 a Fl(Ok,)26 |
| b(now)h(you)g(need)f(to)h(pick)g(a)f(dir)o(ectory)f(name)i(to)f(do)h |
| (all)f(the)h(testing)g(in.)g(For)f(the)h(sake)f(of)596 |
| 180 y(this)21 b(example,)f(we'll)h(call)f(it)h(piggy)h(\(i.e.)d |
| (c:\\piggy\).)i(Cr)o(eate)e(this)j(dir)o(ectory)-9 b(.)596 |
| 313 y(Y)h(ou'll)21 b(need)e(a)h(unix)g(machine.)g(Cr)o(eate)e(a)h(dir)o |
| (ectory)g(for)h(the)g(scripts)g(you'll)h(need.)e(For)h(this)h(ex-)596 |
| 405 y(ample,)e(we'll)i(use)f(/usr/local/swamp/testing.)j(Y)-8 |
| b(ou'll)21 b(need)f(to)h(have)f(a)g(sour)o(ce)f(tr)o(ee)h(some-)596 |
| 496 y(wher)o(e,)28 b(say)h(/usr/sr)o(c/devo.)g(Now)-8 |
| b(,)30 b(copy)g(some)g(\002les)f(fr)o(om)g(r)o(eleng's)g(ar)o(ea)e(in)j |
| (SV)f(to)h(your)596 587 y(machine:)596 803 y Fk(Example)18 |
| b(4-6.)h(Remote)g(host)h(setup)865 968 y Ff(cd)44 b |
| (/usr/local/swamp/testing)865 1050 y(mkdir)f(boards)865 |
| 1133 y(scp)h(darkstar.welcomehome.org:/dejagnu/cst/)o(bin/Mk)o(TestDi)o |
| (r)39 b(.)865 1215 y(scp)44 b(darkstar.welcomehome.org:/dejagnu/site)o |
| (.exp)39 b(.)865 1297 y(scp)44 b |
| (darkstar.welcomehome.org:/dejagnu/boar)o(ds/use)o(less98)o(r2.exp)38 |
| b(boards/foobar.exp)865 1379 y(export)43 b |
| (DEJAGNU=/usr/local/swamp/testing/site.exp)596 1718 y |
| Fl(Y)-8 b(ou)29 b(must)g(edit)f(the)g(boar)o(ds/foobar)-6 |
| b(.exp)26 b(\002le)i(to)h(r)o(e\003ect)e(your)i(machine;)f(change)g |
| (the)g(host-)596 1809 y(name)23 b(\(foobar)-6 b(.com\),)23 |
| b(username)g(\(iusr_foobar\),)f(passwor)o(d,)h(and)g(ftp_dir)o(ectory)f |
| (\(c:/piggy\))596 1901 y(to)f(match)f(what)h(you)h(selected.)596 |
| 2033 y(Edit)e(the)h(global)66 b Ff(site.exp)19 b Fl(to)i(r)o(e\003ect)f |
| (your)h(boar)o(ds)f(dir)o(ectory:)596 2249 y Fk(Example)e(4-7.)h(Add)h |
| (The)g(Board)h(Directory)640 2415 y Ff(lappend)44 b(boards_dir)f |
| ("/usr/local/swamp/testing/boards")596 2671 y Fl(Now)35 |
| b(r)o(un)g(MkT)-8 b(estDir)i(,)35 b(which)g(is)g(in)g(the)g(contrib)g |
| (dir)o(ectory)-9 b(.)34 b(The)h(\002rst)g(parameter)e(is)i(the)596 |
| 2762 y(toolchain)e(pr)o(e\002x,)e(the)i(second)f(is)h(the)g(location)g |
| (of)f(your)h(devo)f(tr)o(ee.)f(If)h(you)h(ar)o(e)e(testing)i(a)596 |
| 2854 y(cr)o(oss)19 b(compiler)h(\(ex:)e(you)i(have)f(sh-hms-gcc.exe)g |
| (in)h(your)g(P)-8 b(A)i(TH)19 b(on)h(the)g(PC\),)f(do)g(something)596 |
| 2945 y(like)i(this:)596 3161 y Fk(Example)d(4-8.)h(Setup)g(Cross)i |
| (Remote)e(T)-9 b(esting)640 3326 y Ff(./MkTestDir)43 |
| b(sh-hms)h(/usr/dejagnu/src/devo)596 3583 y Fl(If)27 |
| b(you)g(ar)o(e)f(testing)i(a)f(native)g(PC)h(compiler)f(\(ex:)g(you)h |
| (have)f(gcc.exe)f(in)i(your)f(P)-8 b(A)i(TH)28 b(on)g(the)596 |
| 3674 y(PC\),)20 b(do)g(this:)596 3890 y Fk(Example)e(4-9.)h(Setup)g |
| (Native)g(Remote)h(T)-9 b(esting)640 4055 y Ff(./MkTestDir)43 |
| b(\224)i(/usr/dejagnu/src/devo)596 4312 y Fl(T)-8 b(o)32 |
| b(test)f(the)h(setup,)f Fk(ftp)h Fl(to)f(your)h(PC)g(using)g(the)g |
| (username)f(\(iusr_foobar\))f(and)i(passwor)o(d)596 4403 |
| y(you)21 b(selected.)f(CD)h(to)g(the)g(test)f(dir)o(ectory)-9 |
| b(.)20 b(Upload)g(a)g(\002le)h(to)g(the)g(PC.)g(Now)g(telnet)g(to)g |
| (your)g(PC)596 4494 y(using)d(the)g(same)f(username)g(and)g(passwor)o |
| (d.)g(CD)h(to)f(the)h(test)g(dir)o(ectory)-9 b(.)16 b(Make)g(sur)o(e)h |
| (the)h(\002le)g(is)596 4586 y(ther)o(e.)i(T)-7 b(ype)20 |
| b("set")h(and/or)g("gcc)g(-v")f(\(or)h(sh-hms-gcc)g(-v\))g(and)f(make)h |
| (sur)o(e)g(the)g(default)f(P)-8 b(A)i(TH)596 4677 y(contains)21 |
| b(the)g(installation)h(you)f(want)g(to)g(test.)596 4893 |
| y Fk(Example)d(4-10.)g(Run)j(T)-9 b(est)19 b(Remotely)640 |
| 5058 y Ff(cd)45 b(/usr/local/swamp/testing)640 5140 y(make)89 |
| b(-k)45 b(-w)f(check)g(RUNTESTFLAGS="--host_board)d(foobar)j |
| (--target_board)e(foobar)i(-v)g(-v")h(>)f(check.out)g(2>&1)p |
| Black 3601 5585 a Fj(27)p Black eop |
| %%Page: 28 34 |
| 28 33 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(4.)g(Customizing)h(DejaGnu)p Black 596 89 a Fl(T)-8 |
| b(o)21 b(r)o(un)h(a)f(speci\002c)h(test,)f(use)g(a)g(command)h(like)f |
| (this)h(\(for)f(this)h(example,)f(you'd)g(r)o(un)h(this)g(fr)o(om)596 |
| 180 y(the)e(gcc)h(dir)o(ectory)f(that)h(MkT)-8 b(estDir)21 |
| b(cr)o(eated\):)596 396 y Fk(Example)d(4-11.)g(Run)j(a)f(T)-9 |
| b(est)20 b(Remotely)640 561 y Ff(make)45 b(check)e |
| (RUNTESTFLAGS="--host_board)e(sloth)j(--target_board)e(sloth)i(-v)h |
| (compile.exp=921202-1.c")596 818 y Fl(Note:)26 b(if)f(you)i(ar)o(e)e |
| (testing)i(a)e(cr)o(oss-compiler)-6 b(,)26 b(put)g(in)g(the)h(corr)o |
| (ect)e(tar)o(get)g(boar)o(d.)f(Y)-8 b(ou'll)28 b(also)596 |
| 909 y(have)20 b(to)h(download)f(mor)o(e)h(.exp)f(\002les)h(and)f |
| (modify)h(them)g(for)f(your)h(local)f(con\002guration.)i(The)596 |
| 1001 y(-v's)e(ar)o(e)f(optional.)197 1319 y Fi(Con\002g)29 |
| b(File)f(V)-6 b(alues)596 1460 y Fl(DejaGnu)23 b(uses)h(a)f(named)g |
| (array)f(in)h(T)-9 b(cl)23 b(to)h(hold)g(all)f(the)g(info)h(for)f(each) |
| f(machine.)i(In)f(the)h(case)596 1552 y(of)i(a)h(canadian)e(cr)o(oss,)i |
| (this)g(means)g(host)h(information)g(as)e(well)h(as)g(tar)o(get)e |
| (information.)j(The)596 1643 y(named)17 b(array)f(is)i(called)f(tar)o |
| (get_info,)f(and)i(it)f(has)h(two)g(indices.)g(The)g(following)h |
| (\002elds)e(ar)o(e)g(part)596 1734 y(of)j(the)h(array)-9 |
| b(.)596 1986 y Fn(Command)24 b(Line)i(Option)f(V)-5 b(ariab)o(les)596 |
| 2123 y Fl(In)20 b(the)g(user)g(editable)f(second)h(section)h(of)f(the)p |
| 0 TeXcolorgray 20 w(Personal)h(Con\002g)g(File)p Black |
| 20 w(you)f(can)g(not)h(only)g(over)o(-)596 2215 y(ride)g(the)i |
| (con\002guration)h(variables)d(captur)o(ed)g(in)i(the)g(\002rst)g |
| (section,)f(but)h(also)g(specify)f(default)596 2306 y(values)j(for)g |
| (all)h(on)g(the)g Fk(runtest)e Fl(command)j(line)f(options.)h(Save)d |
| (for)i Ff(--debug)p Fl(,)e Ff(--help)p Fl(,)g(and)596 |
| 2397 y Ff(--version)p Fl(,)19 b(each)i(command)g(line)h(option)g(has)g |
| (an)f(associated)f(T)-9 b(cl)21 b(variable.)f(Use)h(the)g(T)-9 |
| b(cl)21 b Fk(set)596 2489 y Fl(command)f(to)g(specify)g(a)f(new)i |
| (default)d(value)i(\(as)f(for)h(the)g(con\002guration)h(variables\).)d |
| (The)i(fol-)596 2580 y(lowing)i(table)f(describes)f(the)i(corr)o |
| (espondence)e(between)h(command)h(line)g(options)g(and)f(vari-)596 |
| 2671 y(ables)i(you)h(can)f(set)h(in)g Ff(site.exp)p Fl(.)p |
| 0 TeXcolorgray 22 w(Invoking)h(Runtest)p Black(,)f(for)g(explanations)g |
| (of)f(the)h(command-)596 2762 y(line)d(options.)596 3020 |
| y Fk(T)-9 b(able)19 b(4-1.)g(T)-11 b(cl)21 b(V)-9 b(ariables)18 |
| b(For)j(Command)f(Line)f(Options)p 596 3127 4331 4 v |
| 596 3127 V 596 3255 4 129 v 600 3231 a Fm(runtest)746 |
| b(Tc)n(l)912 b(option)774 b(v)n(ariab)o(le)308 b(description)p |
| 4923 3255 V 596 3259 4331 4 v 596 3259 V 596 3387 4 129 |
| v 600 3362 a Fl(--all)882 b(all_\003ag)760 b(display)19 |
| b(all)h(test)f(r)o(esults)g(if)h(set)p 4923 3387 V 596 |
| 3390 3092 4 v 596 3880 4 494 v 600 3490 a(--baud)783 |
| b(baud)841 b(set)21 b(the)f(default)2658 3581 y(baud)g(rate)g(to)2658 |
| 3673 y(something)2658 3764 y(other)h(than)g(9600.)p 4923 |
| 3880 V 596 3883 3092 4 v 596 4191 4 311 v 600 3983 a(--connect)690 |
| b(connectmode)539 b Fk(rlogin)p Fl(,)20 b Fk(telnet)p |
| Fl(,)2658 4075 y Fk(rsh)p Fl(,)g Fk(kermit)p Fl(,)f Fk(tip)p |
| Fl(,)2658 4166 y(or)i Fk(mondfe)p 4923 4191 V 596 4194 |
| 3092 4 v 596 4501 4 311 v 600 4294 a Fl(--outdir)742 |
| b(outdir)800 b(dir)o(ectory)20 b(for)2658 4385 y Ff(tool.sum)f |
| Fl(and)2658 4477 y Ff(tool.log.)p 4923 4501 V 596 4505 |
| 3092 4 v 596 4812 4 311 v 600 4605 a Fl(--objdir)754 |
| b(objdir)812 b(dir)o(ectory)20 b(for)2658 4696 y(pr)o(e-compiled)2658 |
| 4787 y(binaries)p 4923 4812 V 596 4815 3092 4 v 596 5397 |
| 4 585 v 600 4915 a(--r)o(eboot)737 b(r)o(eboot)795 b(r)o(eboot)20 |
| b(the)2658 5007 y(tar)o(get)f(if)i(set)g(to)2658 5098 |
| y Fj("1")p Fl(;)e(do)i(not)2658 5189 y(r)o(eboot)f(if)h(set)g(to)2658 |
| 5281 y Fj("0")e Fl(\(the)2658 5372 y(default\).)p 4923 |
| 5397 V 596 5400 3092 4 v Black 197 5585 a Fj(28)p Black |
| eop |
| %%Page: 29 35 |
| 29 34 bop Black 0 TeXcolorgray Black 2549 -132 a Fj(Chapter)20 |
| b(4.)g(Customizing)h(DejaGnu)p Black 596 9 4331 4 v 596 |
| 9 V 596 137 4 129 v 600 112 a Fm(runtest)746 b(Tc)n(l)912 |
| b(option)774 b(v)n(ariab)o(le)308 b(description)p 4923 |
| 137 V 596 353 4 220 v 600 237 a Fl(--sr)o(cdir)760 b(sr)o(cdir)818 |
| b(dir)o(ectory)20 b(of)g(test)2658 329 y(subdir)o(ectories)p |
| 4923 353 V 596 357 3092 4 v 596 573 4 220 v 600 457 a(--strace)758 |
| b(tracelevel)676 b(a)20 b(number:)h(T)-9 b(cl)2658 548 |
| y(trace)20 b(depth)p 4923 573 V 596 576 3092 4 v 596 |
| 883 4 311 v 600 676 a(--tool)831 b(tool)889 b(name)20 |
| b(of)h(tool)h(to)2658 767 y(test;)e(identi\002es)2658 |
| 859 y(init,)h(test)g(subdir)p 4923 883 V 596 887 3092 |
| 4 v 596 1468 4 585 v 600 987 a(--verbose)686 b(verbose)744 |
| b(verbosity)21 b(level.)2658 1078 y(As)f(option,)i(use)2658 |
| 1169 y(multiple)f(times;)2658 1261 y(as)f(variable,)f(set)2658 |
| 1352 y(a)h(number)-6 b(,)21 b(0)f(or)2658 1443 y(gr)o(eater)-6 |
| b(.)p 4923 1468 V 596 1471 3092 4 v 596 1870 4 402 v |
| 600 1571 a(--tar)o(get)758 b(tar)o(get_triplet)549 b(The)21 |
| b(canonical)2658 1663 y(con\002guration)2658 1754 y(string)g(for)g(the) |
| 2658 1845 y(tar)o(get.)p 4923 1870 V 596 1873 3092 4 |
| v 596 2272 4 402 v 600 1973 a(--host)817 b(host_triplet)608 |
| b(The)21 b(canonical)2658 2065 y(con\002guration)2658 |
| 2156 y(string)g(for)g(the)2658 2247 y(host.)p 4923 2272 |
| V 596 2275 3092 4 v 596 2674 4 402 v 600 2375 a(--build)777 |
| b(build_triplet)568 b(The)21 b(canonical)2658 2466 y(con\002guration) |
| 2658 2558 y(string)g(for)g(the)2658 2649 y(build)g(host.)p |
| 4923 2674 V 596 2677 3092 4 v 596 3076 4 402 v 600 2777 |
| a(--mail)809 b(addr)o(ess)744 b(Email)20 b(the)2658 2868 |
| y(output)h(log)g(to)2658 2960 y(the)g(speci\002ed)2658 |
| 3051 y(addr)o(ess.)p 4923 3076 V 596 3079 4331 4 v 596 |
| 3079 V 596 3537 a Fn(P)m(er)o(sonal)j(Con\002g)g(File)596 |
| 3674 y Fl(The)19 b(personal)h(con\002g)g(\002le)g(is)g(used)g(to)g |
| (customize)g Fk(runtest')-5 b(s)18 b Fl(behaviour)h(for)h(each)f |
| (person.)h(It's)596 3765 y(typically)g(used)g(to)h(set)f(the)h(user)f |
| (pr)o(efer)o(ed)d(setting)k(for)f(verbosity)-9 b(,)20 |
| b(and)g(any)h(experimental)e(T)-9 b(cl)596 3856 y(pr)o(ocedur)o(es.)18 |
| b(My)j(personal)f Ff(~/.dejagnurc)f Fl(\002le)i(looks)h(like:)596 |
| 4072 y Fk(Example)c(4-12.)g(Personal)i(Con\002g)g(File)640 |
| 4238 y Ff(set)45 b(all_flag)e(1)640 4320 y(set)i(RLOGIN)e |
| (/usr/ucb/rlogin)640 4402 y(set)i(RSH)f(/usr/local/sbin/ssh)596 |
| 4658 y Fl(Her)o(e)19 b(I)i(set)f(all_\003ag)g(so)h(I)g(see)f(all)h(the) |
| f(test)h(cases)f(that)h(P)-8 b(ASS)19 b(along)j(with)f(the)g(ones)g |
| (that)f(F)-6 b(AIL.)20 b(I)596 4750 y(also)i(set)g(RLOGIN)h(to)f(the)g |
| (BSD)g(version.)g(I)g(have)g(Kerber)o(os)f(installed,)h(and)g(when)h(I) |
| f(rlogin)h(to)596 4841 y(a)e(tar)o(get)f(boar)o(d,)g(it)i(usually)g |
| (isn't)h(supported.)e(So)g(I)h(use)g(the)f(non)i(secur)o(e)e(version)h |
| (rather)f(than)596 4932 y(the)i(default)f(that's)h(in)g(my)h(path.)e(I) |
| h(also)g(set)g(RSH)g(to)h(the)f(SSH)f(secur)o(e)g(shell,)h(as)g(rsh)g |
| (is)h(mostly)596 5024 y(used)c(to)h(test)g(unix)g(machines)g(within)h |
| (a)f(local)f(network)i(her)o(e.)p Black 3601 5585 a Fj(29)p |
| Black eop |
| %%Page: 30 36 |
| 30 35 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(4.)g(Customizing)h(DejaGnu)p Black 197 89 a Fo(Notes)p |
| Black 596 236 a Fl(1.)p Black 69 w(http://www)-8 b(.micr)o(osoft.com)p |
| Black 596 368 a(2.)p Black 69 w(http://ataman.com)p Black |
| 197 5585 a Fj(30)p Black eop |
| %%Page: 31 37 |
| 31 36 bop Black 0 TeXcolorgray Black Black 197 95 a Fp(Chapter)34 |
| b(5.)f(Extending)i(DejaGn)o(u)197 405 y Fi(Ad)o(ding)29 |
| b(A)e(Ne)n(w)h(T)-6 b(estsuite)596 547 y Fl(The)25 b(testsuite)h(for)f |
| (a)g(new)h(tool)g(should)h(always)e(be)g(located)g(in)h(that)g(tools)g |
| (sour)o(ce)f(dir)o(ectory)-9 b(.)596 638 y(DejaGnu)30 |
| b(r)o(equir)o(e)e(the)i(dir)o(ectory)f(be)g(named)g Ff(testsuite)p |
| Fl(.)f(Under)h(this)h(dir)o(ectory)-9 b(,)28 b(the)i(test)596 |
| 729 y(cases)19 b(go)h(in)g(a)f(subdir)o(ectory)g(whose)i(name)f(begins) |
| g(with)g(the)g(tool)h(name.)e(For)h(example,)f(for)g(a)596 |
| 821 y(tool)i(named)g Fj(\003ubber)p Fl(,)h(each)e(subdir)o(ectory)g |
| (containing)i(testsuites)f(must)h(start)e(with)i Fj("\003ubber)-6 |
| b(.")p Fl(.)197 1139 y Fi(Ad)o(ding)29 b(A)e(Ne)n(w)h(T)-8 |
| b(ool)596 1280 y Fl(In)24 b(general,)g(the)g(best)g(way)h(to)f(learn)g |
| (how)h(to)g(write)f(\(code)g(or)g(even)g(pr)o(ose\))g(is)g(to)h(r)o |
| (ead)e(some-)596 1371 y(thing)34 b(similar)-6 b(.)34 |
| b(This)h(principle)f(applies)f(to)h(test)g(cases)g(and)f(to)h |
| (testsuites.)h(Unfortunately)-9 b(,)596 1463 y(well-established)25 |
| b(testsuites)h(have)f(a)g(way)g(of)h(developing)g(their)f(own)i |
| (conventions:)g(as)e(test)596 1554 y(writers)19 b(become)g(mor)o(e)g |
| (experienced)f(with)i(DejaGnu)g(and)f(with)h(T)-9 b(cl,)18 |
| b(they)i(accumulate)e(mor)o(e)596 1645 y(utilities,)j(and)f(take)g |
| (advantage)g(of)g(mor)o(e)h(and)f(mor)o(e)h(featur)o(es)e(of)h(Expect)g |
| (and)h(T)-9 b(cl)20 b(in)h(general.)596 1778 y(Inspecting)i(such)g |
| (established)g(testsuites)g(may)g(make)g(the)g(pr)o(ospect)f(of)h(cr)o |
| (eating)f(an)g(entir)o(ely)596 1870 y(new)j(testsuite)g(appear)e |
| (overwhelming.)j(Nevertheless,)e(it)h(is)h(quite)f(straightforwar)o(d)f |
| (to)h(get)596 1961 y(a)20 b(new)h(testsuite)g(going.)596 |
| 2094 y(Ther)o(e)h(is)i(one)g(testsuite)g(that)g(is)f(guaranteed)g(not)h |
| (to)g(gr)o(ow)g(mor)o(e)f(elaborate)f(over)i(time:)f(both)596 |
| 2185 y(it)g(and)f(the)h(tool)h(it)f(tests)h(wer)o(e)e(cr)o(eated)f |
| (expr)o(essly)h(to)h(illustrate)g(what)h(it)f(takes)f(to)i(get)f |
| (started)596 2276 y(with)e(DejaGnu.)g(The)g Ff(example/)e |
| Fl(dir)o(ectory)h(of)h(the)f(DejaGnu)i(distribution)f(contains)h(both)f |
| (an)596 2368 y(interactive)26 b(tool)h(called)f Fk(calc)p |
| Fl(,)g(and)g(a)g(testsuite)h(for)g(it.)g(Reading)f(this)i(testsuite,)f |
| (and)f(experi-)596 2459 y(menting)18 b(with)h(it,)f(is)g(a)f(good)i |
| (way)e(to)i(supplement)f(the)g(information)h(in)f(this)h(section.)f |
| (\(Thanks)596 2550 y(to)k(Robert)h(Lupton)g(for)f(cr)o(eating)g(calc)g |
| (and)g(its)h(testsuite---and)e(also)i(the)g(\002rst)g(version)g(of)f |
| (this)596 2642 y(section)f(of)g(the)g(manual!\))596 2775 |
| y(T)-8 b(o)18 b(help)h(orient)f(you)h(further)f(in)g(this)h(task,)f |
| (her)o(e)g(is)g(an)g(outline)h(of)f(the)h(steps)f(to)h(begin)f |
| (building)596 2866 y(a)i(testsuite)h(for)f(a)h(pr)o(ogram)f(example.)p |
| Black 596 3082 a Fg(\225)p Black 43 w Fl(Cr)o(eate)c(or)i(select)g(a)g |
| (dir)o(ectory)f(to)h(contain)h(your)f(new)h(collection)g(of)f(tests.)g |
| (Change)g(into)h(that)679 3173 y(dir)o(ectory)g(\(shown)j(her)o(e)e(as) |
| h Ff(testsuite)p Fl(\):)679 3306 y(Cr)o(eate)28 b(a)i |
| Ff(configure.in)e Fl(\002le)i(in)h(this)g(dir)o(ectory)-9 |
| b(,)29 b(to)h(contr)o(ol)h(con\002guration-dependent)679 |
| 3397 y(choices)21 b(for)f(your)h(tests.)f(So)h(far)e(as)i(DejaGnu)g(is) |
| g(concerned,)f(the)g(important)h(thing)h(is)f(to)g(set)679 |
| 3489 y(a)g(value)h(for)g(the)g(variable)f(tar)o(get_abbr)o(ev;)d(this) |
| 23 b(value)f(is)g(the)h(link)g(to)f(the)g(init)h(\002le)g(you)f(will) |
| 679 3580 y(write)27 b(soon.)i(\(For)e(simplicity)-9 b(,)28 |
| b(we)g(assume)f(the)h(envir)o(onment)g(is)g(Unix,)f(and)g(use)h |
| Fj(unix)f Fl(as)679 3671 y(the)20 b(value.\))679 3804 |
| y(What)25 b(else)h(is)g(needed)e(in)j Ff(configure.in)c |
| Fl(depends)i(on)i(the)e(r)o(equir)o(ements)h(of)f(your)h(tool,)679 |
| 3895 y(your)18 b(intended)g(test)h(envir)o(onments,)g(and)e(which)j |
| (con\002gur)o(e)e(system)h(you)g(use.)f(This)h(exam-)679 |
| 3987 y(ple)h(is)h(a)f(minimal)i(con\002gur)o(e.in)f(for)g(use)f(with)i |
| (GNU)f(Autoconf.)p Black 596 4252 a Fg(\225)p Black 43 |
| w Fl(Cr)o(eate)e Ff(Makefile.in)h Fl(\(if)g(you)i(ar)o(e)e(using)i |
| (Autoconf\),)f(or)g Ff(Makefile.am)p Fl(\(if)e(you)j(ar)o(e)e(using)679 |
| 4344 y(Automake\),)c(the)h(sour)o(ce)g(\002le)h(used)f(by)g(con\002gur) |
| o(e)g(to)h(build)f(your)h Ff(Makefile)p Fl(.)d(If)i(you)h(ar)o(e)e(us-) |
| 679 4435 y(ing)24 b(GNU)g(Automake.just)g(add)f(the)h(keywor)o(d)f |
| Fj(dejagnu)g Fl(to)i(the)f Fj(AUT)o(OMAKE_OPTIONS)679 |
| 4526 y Fl(variable)g(in)i(your)g Ff(Makefile.am)d Fl(\002le.)j(This)g |
| (will)g(add)e(all)i(the)f(Make\002le)g(support)h(needed)679 |
| 4618 y(to)21 b(r)o(un)g(DejaGnu,)g(and)f(support)h(the)p |
| 0 TeXcolorgray 21 w(Make)f(Check)p Black 21 w(tar)o(get.)679 |
| 4750 y(Y)-8 b(ou)23 b(also)f(need)g(to)g(include)g(two)h(tar)o(gets)e |
| (important)i(to)f(DejaGnu:)h Fj(check)p Fl(,)e(to)i(r)o(un)g(the)f |
| (tests,)679 4842 y(and)33 b Fj(site.exp)p Fl(,)f(to)i(set)g(up)f(the)h |
| (T)-9 b(cl)33 b(copies)h(of)f(con\002guration-dependent)h(values.)f |
| (This)h(is)679 4933 y(called)19 b(the)p 0 TeXcolorgray |
| 21 w(Local)i(Con\002g)g(File)p Black 21 w(The)g(check)g(tar)o(get)e |
| (must)j(r)o(un)f(the)g Fk(runtest)e Fl(pr)o(ogram)h(to)h(exe-)679 |
| 5024 y(cute)f(the)h(tests.)679 5157 y(The)f Ff(site.exp)e |
| Fl(tar)o(get)h(should)i(usually)f(set)g(up)g(\(among)g(other)h |
| (things\))g(the)f($tool)g(variable)679 5249 y(for)15 |
| b(the)h(name)g(of)g(your)g(pr)o(ogram.)f(If)g(the)h(local)g(site.exp)f |
| (\002le)h(is)h(setup)e(corr)o(ectly)-9 b(,)15 b(it)h(is)g(possible)679 |
| 5340 y(to)21 b(execute)f(the)g(tests)i(by)e(mer)o(ely)h(typing)g |
| Fk(runtest)e Fl(on)j(the)f(command)g(line.)p Black 3601 |
| 5585 a Fj(31)p Black eop |
| %%Page: 32 38 |
| 32 37 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(5.)g(Extending)g(DejaGnu)p Black 679 89 a Fk(Example)e(5-1.)h(Sample) |
| g(Make\002le.in)e(Fragment)723 254 y Ff(#)45 b(Look)f(for)h(a)f(local)g |
| (version)g(of)g(DejaGnu,)g(otherwise)f(use)h(one)h(in)f(the)h(path)723 |
| 336 y(RUNTEST)f(=)h(`if)f(test)g(-f)h |
| ($\(top_srcdir\)/../dejagnu/runtest;)39 b(then)44 b(\\)992 |
| 419 y(echo)h($\(top_srcdir\))d(../dejagnu/runtest;)g(\\)903 |
| 501 y(else)i(\\)1037 583 y(echo)g(runtest;)g(\\)948 665 |
| y(fi`)723 830 y(#)h(The)f(flags)g(to)h(pass)f(to)h(runtest)723 |
| 912 y(RUNTESTFLAGS)e(=)723 1076 y(#)i(Execute)f(the)g(tests)723 |
| 1158 y(check:)g(site.exp)g(all)1037 1241 y($\(RUNTEST\))f |
| ($\(RUNTESTFLAGS\))g(\\)1217 1323 y(--tool)g(${example})g(--srcdir)h |
| ($\(srcdir\))723 1487 y(#)h(Make)f(the)h(local)f(config)f(file)723 |
| 1569 y(site.exp:)h(./config.status)e(Makefile)903 1652 |
| y(@echo)i("Making)f(a)i(new)f(config)g(file...")1217 |
| 1734 y(-@rm)g(-f)g(./tmp?)1217 1816 y(@touch)f(site.exp)1217 |
| 1980 y(-@mv)h(site.exp)f(site.bak)1217 2063 y(@echo)h("##)g(these)g |
| (variables)f(are)h(automatically\\)723 2145 y(generated)g(by)g(make)g |
| (##")h(>)f(./tmp0)903 2227 y(@echo)g("#)g(Do)h(not)f(edit)g(here.)g(If) |
| h(you)f(wish)g(to\\)723 2309 y(override)g(these)g(values")g(>>)g |
| (./tmp0)1217 2391 y(@echo)g("#)g(add)g(them)g(to)h(the)f(last)g |
| (section")g(>>)g(./tmp0)1217 2473 y(@echo)g("set)g(host_os)f |
| (${host_os}")g(>>)i(./tmp0)1217 2556 y(@echo)f("set)g(host_alias)f |
| (${host_alias}")f(>>)j(./tmp0)1217 2638 y(@echo)f("set)g(host_cpu)f |
| (${host_cpu}")g(>>)h(./tmp0)1217 2720 y(@echo)g("set)g(host_vendor)f |
| (${host_vendor}")f(>>)i(./tmp0)1217 2802 y(@echo)g("set)g(target_os)f |
| (${target_os}")g(>>)h(./tmp0)1217 2884 y(@echo)g("set)g(target_alias)e |
| (${target_alias}")h(>>)h(./tmp0)1217 2967 y(@echo)g("set)g(target_cpu)f |
| (${target_cpu}")f(>>)j(./tmp0)1217 3049 y(@echo)f("set)g(target_vendor) |
| e(${target_vendor}")g(>>)j(./tmp0)1217 3131 y(@echo)f("set)g |
| (host_triplet)e(${host_canonical}")g(>>)j(./tmp0)1217 |
| 3213 y(@echo)f("set)g(target_triplet)e(${target_canonical}">>./tmp0) |
| 1217 3295 y(@echo)i("set)g(tool)g(binutils")f(>>)i(./tmp0)1217 |
| 3378 y(@echo)f("set)g(srcdir)f(${srcdir}")h(>>)g(./tmp0)1217 |
| 3460 y(@echo)g("set)g(objdir)f(`pwd`")h(>>)h(./tmp0)1217 |
| 3542 y(@echo)f("set)g(${examplename})e(${example}")h(>>)i(./tmp0)1217 |
| 3624 y(@echo)f("##)g(All)g(variables)f(above)h(are)h(generated)e(by\\) |
| 723 3706 y(configure.)h(Do)g(Not)g(Edit)h(##")f(>>)g(./tmp0)1217 |
| 3789 y(@cat)g(./tmp0)g(>)g(site.exp)1217 3871 y(@sed)g(<)g(site.bak)g |
| (\\)1351 3953 y(-e)h('1,/^##)e(All)h(variables)g(above)g(are.*##/)f(d') |
| i(\\)1351 4035 y(>>)g(site.exp)1217 4117 y(-@rm)f(-f)g(./tmp?)p |
| Black 596 4589 a Fg(\225)p Black 43 w Fl(Cr)o(eate)19 |
| b(a)i(dir)o(ectory)g(\(in)h Ff(testsuite)p Fl(\))d(called)i |
| Ff(config)p Fl(.)f(Make)g(a)h Fj(T)-9 b(ool)21 b(Init)g(File)h |
| Fl(in)g(this)g(dir)o(ec-)679 4680 y(tory)-9 b(.)22 b(Its)i(name)f(must) |
| g(start)g(with)h(the)f(tar)o(get_abbr)o(ev)d(value,)i(or)h(be)g(named)g |
| Ff(default.exp)679 4772 y Fl(so)j(call)g(it)g Ff(config/unix.exp)e |
| Fl(for)i(our)g(Unix)g(based)g(example.)f(This)i(is)f(the)g(\002le)h |
| (that)f(con-)679 4863 y(tains)d(the)g(tar)o(get-dependent)e(pr)o |
| (ocedur)o(es.)g(Fortunately)-9 b(,)24 b(on)f(Unix,)g(most)h(of)f(them)h |
| (do)f(not)679 4954 y(have)d(to)h(do)g(very)f(much)h(in)h(or)o(der)d |
| (for)i Fk(runtest)e Fl(to)i(r)o(un.)679 5087 y(If)g(the)h(pr)o(ogram)g |
| (being)g(tested)g(is)g(not)h(interactive,)e(you)i(can)f(get)g(away)f |
| (with)i(this)g(minimal)679 5178 y Ff(unix.exp)c Fl(to)i(begin)g(with:)p |
| Black 197 5585 a Fj(32)p Black eop |
| %%Page: 33 39 |
| 33 38 bop Black 0 TeXcolorgray Black 2632 -132 a Fj(Chapter)20 |
| b(5.)g(Extending)g(DejaGnu)p Black 679 89 a Fk(Example)e(5-2.)h(Simple) |
| g(Batch)h(Program)g(T)-9 b(ool)21 b(Init)f(File)813 254 |
| y Ff(proc)44 b(foo_exit)g({})g({})813 336 y(proc)g(foo_version)f({})i |
| ({})679 675 y Fl(If)18 b(the)h(pr)o(ogram)f(being)h(tested)g(is)g |
| (interactive,)f(however)-6 b(,)18 b(you)i(might)g(as)e(well)h(de\002ne) |
| g(a)f Fj(start)679 767 y Fl(r)o(outine)i(and)h(invoke)g(it)g(by)g |
| (using)g(an)g(init)g(\002le)g(like)g(this:)679 982 y |
| Fk(Example)d(5-3.)h(Simple)g(Interactive)f(Program)j(T)-9 |
| b(ool)21 b(Init)f(File)813 1230 y Ff(proc)44 b(foo_exit)g({})g({})813 |
| 1312 y(proc)g(foo_version)f({})i({})813 1476 y(proc)f(foo_start)g({})g |
| ({)903 1559 y(global)g(${examplename})903 1641 y(spawn)g |
| (${examplename})903 1723 y(expect)g({)1082 1805 y(-re)g("")h({})903 |
| 1887 y(})813 1970 y(})813 2134 y(#)g(Start)f(the)g(program)g(running)f |
| (we)i(want)f(to)g(test)813 2216 y(foo_start)p Black 596 |
| 2688 a Fg(\225)p Black 43 w Fl(Cr)o(eate)20 b(a)i(dir)o(ectory)g(whose) |
| h(name)f(begins)h(with)g(your)g(tool's)g(name,)g(to)f(contain)h(tests.) |
| g(For)679 2779 y(example,)17 b(if)i(your)g(tool's)h(name)f(is)g |
| Fj(gcc)p Fl(,)f(then)h(the)g(dir)o(ectories)f(all)h(need)f(to)h(start)g |
| (with)g Fj("gcc.")p Fl(.)p Black 596 2912 a Fg(\225)p |
| Black 43 w Fl(Cr)o(eate)61 b(a)h(sample)h(test)f(\002le.)h(Its)g(name)g |
| (must)g(end)g(with)h Ff(.exp)p Fl(.)d(Y)-8 b(ou)64 b(can)f(use)679 |
| 3003 y Ff(first-try.exp)p Fl(.)39 b(T)-8 b(o)42 b(begin)g(with,)g(just) |
| h(write)f(ther)o(e)e(a)i(line)g(of)f(T)-9 b(cl)42 b(code)f(to)h(issue)g |
| (a)679 3094 y(message.)679 3269 y Fk(Example)18 b(5-4.)h(T)-9 |
| b(esting)19 b(A)i(New)f(T)-9 b(ool)21 b(Con\002g)813 |
| 3434 y Ff(send_user)43 b("Testing:)h(one,)g(two...\\n")p |
| Black 596 3906 a Fg(\225)p Black 43 w Fl(Back)26 b(in)i(the)f |
| Ff(testsuite)e Fl(\(top)j(level\))e(dir)o(ectory)-9 b(,)26 |
| b(r)o(un)i Fk(con\002gure)p Fl(.)e(T)-7 b(ypically)26 |
| b(you)i(do)f(this)679 3997 y(while)d(in)h(the)f(build)g(dir)o(ectory)-9 |
| b(.)23 b(Y)-8 b(ou)25 b(may)f(have)g(to)h(specify)e(mor)o(e)h(of)g(a)g |
| (path,)g(if)f(a)h(suitable)679 4088 y(con\002gur)o(e)c(is)h(not)h |
| (available)d(in)i(your)h(execution)f(path.)p Black 596 |
| 4221 a Fg(\225)p Black 43 w Fl(e)26 b(now)h(r)o(eady)e(to)h |
| (triumphantly)h(type)f Fk(make)f(check)g Fl(or)i Fk(runtest)p |
| Fl(.)d(Y)-8 b(ou)28 b(should)f(see)f(some-)679 4312 y(thing)21 |
| b(like)g(this:)679 4487 y Fk(Example)d(5-5.)h(Example)f(T)-9 |
| b(est)20 b(Case)g(Run)813 4652 y Ff(Test)44 b(Run)h(By)f(rhl)g(on)h |
| (Fri)f(Jan)g(29)h(16:25:44)e(EST)i(1993)1396 4816 y(===)f(example)g |
| (tests)g(===)813 4981 y(Running)g(./example.0/first-try.exp)c(...)813 |
| 5063 y(Testing:)k(one,)g(two...)1396 5227 y(===)g(example)g(Summary)f |
| (===)p Black 3601 5585 a Fj(33)p Black eop |
| %%Page: 34 40 |
| 34 39 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(5.)g(Extending)g(DejaGnu)p Black 679 89 a Fl(Ther)o(e)e(is)i(no)h |
| (output)f(in)g(the)g(summary)-9 b(,)20 b(because)f(so)h(far)f(the)h |
| (example)f(does)g(not)i(call)e(any)h(of)679 180 y(the)g(pr)o(ocedur)o |
| (es)f(that)i(establish)g(a)f(test)h(outcome.)p Black |
| 596 446 a Fg(\225)p Black 43 w Fl(W)-6 b(rite)32 b(some)i(r)o(eal)d |
| (tests.)i(For)g(an)g(interactive)f(tool,)i(you)f(should)h(pr)o(obably)e |
| (write)h(a)f(r)o(eal)679 537 y(exit)23 b(r)o(outine)i(in)f(fairly)g |
| (short)h(or)o(der)-6 b(.)22 b(In)j(any)f(case,)f(you)i(should)g(also)f |
| (write)g(a)g(r)o(eal)e(version)679 629 y(r)o(outine)e(soon.)197 |
| 947 y Fi(Ad)o(ding)29 b(A)e(Ne)n(w)h(T)-8 b(ar)n(g)q(et)596 |
| 1088 y Fl(DejaGnu)62 b(has)g(some)h(additional)e(r)o(equir)o(ements)h |
| (for)g(tar)o(get)f(support,)h(beyond)g(the)596 1180 y(general-purpose) |
| 50 b(pr)o(ovisions)j(of)f(con\002gur)o(e.)f(DejaGnu)i(must)f(actively)f |
| (communicate)596 1271 y(with)41 b(the)f(tar)o(get,)f(rather)g(than)i |
| (simply)g(generating)f(or)g(managing)h(code)f(for)g(the)g(tar)o(get)596 |
| 1362 y(ar)o(chitectur)o(e.)28 b(Ther)o(efor)o(e,)h(each)h(tool)i(r)o |
| (equir)o(es)d(an)i(initialization)g(module)h(for)e(each)g(tar)o(get.) |
| 596 1454 y(For)j(new)h(tar)o(gets,)e(you)i(must)g(supply)g(a)f(few)g(T) |
| -9 b(cl)33 b(pr)o(ocedur)o(es)e(to)j(adapt)e(DejaGnu)i(to)g(the)596 |
| 1545 y(tar)o(get.)19 b(This)i(permits)g(DejaGnu)h(itself)e(to)i(r)o |
| (emain)e(tar)o(get)f(independent.)596 1678 y(Usually)f(the)g(best)h |
| (way)f(to)h(write)g(a)f(new)g(initialization)i(module)e(is)h(to)g(edit) |
| f(an)h(existing)g(initial-)596 1769 y(ization)26 b(module;)h(some)g |
| (trial)g(and)f(err)o(or)g(will)h(be)f(r)o(equir)o(ed.)f(If)i(necessary) |
| -9 b(,)25 b(you)j(can)e(use)h(the)596 1860 y(@samp{--debug})18 |
| b(option)k(to)f(see)g(what)g(is)g(r)o(eally)f(going)i(on.)596 |
| 1993 y(When)28 b(you)g(code)f(an)h(initialization)g(module,)g(be)f |
| (gener)o(ous)h(in)g(printing)g(information)h(con-)596 |
| 2085 y(tr)o(olled)20 b(by)h(the)g Ff(verbose)e Fl(pr)o(ocedur)o(e.)596 |
| 2217 y(For)f(cr)o(oss)g(tar)o(gets,)e(most)j(of)f(the)g(work)h(is)f(in) |
| g(getting)h(the)f(communications)i(right.)e(Communi-)596 |
| 2309 y(cations)k(code)g(\(for)f(several)h(situations)h(involving)g(IP)g |
| (networks)g(or)f(serial)g(lines\))g(is)g(available)596 |
| 2400 y(in)f(a)f(DejaGnu)h(library)g(\002le.)596 2533 |
| y(If)28 b(you)i(suspect)g(a)e(communication)j(pr)o(oblem,)e(try)g(r)o |
| (unning)i(the)f(connection)g(interactively)596 2624 y(fr)o(om)d |
| (Expect.)g(\(Ther)o(e)f(ar)o(e)h(thr)o(ee)g(ways)h(of)g(r)o(unning)h |
| (Expect)e(as)h(an)f(interactive)h(interpr)o(eter)-6 b(.)596 |
| 2716 y(Y)e(ou)17 b(can)f(r)o(un)g(Expect)f(with)i(no)g(ar)o(guments,)f |
| (and)f(contr)o(ol)i(it)f(completely)h(interactively;)e(or)h(you)596 |
| 2807 y(can)23 b(use)i Fk(expect)d(-i)h Fl(together)i(with)g(other)f |
| (command-line)h(options)h(and)d(ar)o(guments;)h(or)g(you)596 |
| 2898 y(can)19 b(r)o(un)h(the)f(command)h Fk(interpreter)e |
| Fl(fr)o(om)h(any)g(Expect)g(pr)o(ocedur)o(e.)e(Use)i |
| Fk(return)g Fl(to)h(get)f(back)596 2990 y(to)28 b(the)h(calling)f(pr)o |
| (ocedur)o(e)f(\(if)h(any\),)f(or)i Fk(return)e(-tcl)h |
| Fl(to)g(make)g(the)h(calling)g(pr)o(ocedur)o(e)d(itself)596 |
| 3081 y(r)o(eturn)16 b(to)i(its)g(caller;)e(use)h Fk(exi)p |
| Fl(t)g(or)g(end-of-\002le)g(to)g(leave)g(Expect)f(altogether)-6 |
| b(.\))17 b(Run)h(the)g(pr)o(ogram)596 3172 y(whose)31 |
| b(name)f(is)h(r)o(ecor)o(ded)e(in)i($connectmode,)f(with)i(the)f(ar)o |
| (guments)f(in)h($tar)o(getname,)e(to)596 3264 y(establish)e(a)f |
| (connection.)i(Y)-8 b(ou)28 b(should)g(at)f(least)f(be)h(able)f(to)h |
| (get)g(a)g(pr)o(ompt)g(fr)o(om)f(any)h(tar)o(get)596 |
| 3355 y(that)20 b(is)h(physically)h(connected.)197 3673 |
| y Fi(Ad)o(ding)29 b(A)e(Ne)n(w)h(Boar)n(d)596 3814 y |
| Fl(Adding)h(a)g(new)h(boar)o(d)f(consists)i(of)f(cr)o(eating)f(a)g(new) |
| h(boar)o(d)f(con\002g)h(\002le.)g(Examples)f(ar)o(e)f(in)596 |
| 3906 y Ff(dejagnu/baseboards)p Fl(.)17 b(Usually)j(to)g(make)g(a)g(new) |
| h(boar)o(d)e(\002le,)h(it's)h(easiest)f(to)h(copy)f(an)g(exist-)596 |
| 3997 y(ing)30 b(one.)g(It)h(is)f(also)g(possible)h(to)f(have)g(your)g |
| (\002le)h(be)e(based)h(on)g(a)g Fj(baseboard)h Fl(\002le)f(with)h(only) |
| 596 4088 y(one)i(or)h(two)g(changes)f(needed.)g(T)-7 |
| b(ypically)e(,)32 b(this)i(can)f(be)g(as)g(simple)h(as)f(just)i |
| (changing)f(the)596 4180 y(linker)29 b(script.)g(Once)h(the)g(new)g |
| (baseboar)o(d)d(\002le)j(is)g(done,)f(add)f(it)i(to)g(the)f(boar)o |
| (ds_DA)-6 b(T)g(A)27 b(list)596 4271 y(in)20 b(the)f |
| Ff(dejagnu/baseboards/Makefile.am)p Fl(,)c(and)k(r)o(egenerate)f(the)h |
| (Make\002le.in)g(using)i(au-)596 4362 y(tomake.)f(Then)h(just)h(r)o |
| (ebuild)e(and)g(install)h(DejaGnu.)g(Y)-8 b(ou)22 b(can)f(test)g(it)g |
| (by:)596 4495 y(Ther)o(e)51 b(is)h(a)g(cr)o(ude)f(inheritance)i(scheme) |
| f(going)h(on)g(with)g(boar)o(d)e(\002les,)h(so)h(you)f(can)596 |
| 4587 y(include)42 b(one)h(boar)o(d)e(\002le)i(into)g(another)-6 |
| b(,)42 b(The)h(two)g(main)g(pr)o(ocedur)o(es)e(used)h(to)h(do)f(this) |
| 596 4678 y(ar)o(e)67 b Ff(load_generic_config)f Fl(and)j |
| Ff(load_base_board_description)p Fl(.)64 b(The)69 b(generic)596 |
| 4769 y(con\002g)34 b(\002le)f(contains)h(other)f(pr)o(ocedur)o(es)e |
| (used)i(for)g(a)g(certain)f(class)h(of)g(tar)o(get.)f(The)h(boar)o(d) |
| 596 4861 y(description)27 b(\002le)h(is)g(wher)o(e)f(the)g(boar)o(d)f |
| (spec\002c)i(settings)g(go.)g(Commonly)h(ther)o(e)e(ar)o(e)f(similar) |
| 596 4952 y(tar)o(get)19 b(envir)o(onments)j(with)f(just)h(dif)o(fer)o |
| (ent)c(pr)o(ocessors.)596 5168 y Fk(Example)g(5-6.)h(T)-9 |
| b(esting)19 b(a)i(New)f(Board)h(Con\002g)f(File)865 5333 |
| y Ff(make)44 b(check)g(RUNTESTFLAGS="--target_board=)p |
| Fe(newboard)o(file)p Ff(".)p Black 197 5585 a Fj(34)p |
| Black eop |
| %%Page: 35 41 |
| 35 40 bop Black 0 TeXcolorgray Black 2632 -132 a Fj(Chapter)20 |
| b(5.)g(Extending)g(DejaGnu)p Black 596 89 a Fl(Her)o(e's)25 |
| b(an)h(example)f(of)h(a)g(boar)o(d)f(con\002g)i(\002le.)f(Ther)o(e)f |
| (ar)o(e)g(several)g Fj(helper)h(pr)o(ocedur)o(es)g Fl(used)f(in)596 |
| 180 y(this)32 b(example.)e(A)h(helper)h(pr)o(ocedur)o(e)d(is)j(one)g |
| (that)g(look)g(for)f(a)g(tool)i(of)e(\002les)h(in)g(commonly)596 |
| 272 y(installed)21 b(locations.)g(These)g(ar)o(e)f(mostly)i(used)e |
| (when)i(testing)g(in)f(the)g(build)g(tr)o(ee,)f(because)g(the)596 |
| 363 y(executables)30 b(to)i(be)f(tested)g(ar)o(e)f(in)i(the)f(same)g |
| (tr)o(ee)g(as)g(the)g(new)h(dejagnu)f(\002les.)h(The)f(helper)596 |
| 454 y(pr)o(ocedur)o(es)18 b(ar)o(e)i(the)h(ones)g(in)g(squar)o(e)f |
| (braces)g Fj([])p Fl(,)g(which)i(is)f(the)g(T)-9 b(cl)20 |
| b(execution)h(characters.)596 670 y Fk(Example)d(5-7.)h(Example)f |
| (Board)j(Con\002g)f(File)865 835 y Ff(#)44 b(Load)g(the)h(generic)e |
| (configuration)g(for)h(this)g(board.)g(This)g(will)h(define)e(a)i |
| (basic)865 918 y(#)f(set)g(of)h(routines)e(needed)h(by)h(the)f(tool)g |
| (to)h(communicate)e(with)h(the)g(board.)865 1000 y(load_generic_config) |
| d("sim")865 1164 y(#)j(basic-sim.exp)f(is)h(a)h(basic)f(description)f |
| (for)h(the)h(standard)e(Cygnus)h(simulator.)865 1246 |
| y(load_base_board_description)c("basic-sim")865 1411 |
| y(#)k(The)g(compiler)g(used)g(to)h(build)f(for)g(this)g(board.)g(This)g |
| (has)g(*nothing*)g(to)g(do)865 1493 y(#)g(with)g(what)g(compiler)g(is)g |
| (tested)g(if)h(we're)f(testing)f(gcc.)865 1575 y(set_board_info)f |
| (compiler)h("[find_gcc]")865 1740 y(#)h(We)h(only)f(support)f(newlib)h |
| (on)h(this)f(target.)865 1822 y(#)g(However,)g(we)g(include)g(libgloss) |
| f(so)i(we)f(can)h(find)f(the)g(linker)g(scripts.)865 |
| 1904 y(set_board_info)e(cflags)i("[newlib_include_flags])d |
| ([libgloss_include_flags]")865 1986 y(set_board_info)h(ldflags)i |
| ("[newlib_link_flags]")865 2151 y(#)g(No)h(linker)e(script)h(for)h |
| (this)f(board.)865 2233 y(set_board_info)e(ldscript)h("-Tsim.ld";)865 |
| 2397 y(#)h(The)g(simulator)g(doesn't)f(return)h(exit)g(statuses)g(and)g |
| (we)h(need)f(to)g(indicate)g(this.)865 2479 y(set_board_info)e |
| (needs_status_wrapper)f(1)865 2644 y(#)j(Can't)g(pass)g(arguments)g(to) |
| g(this)g(target.)865 2726 y(set_board_info)e(noargs)i(1)865 |
| 2890 y(#)g(No)h(signals.)865 2972 y(set_board_info)d(gdb,nosignals)h(1) |
| 865 3137 y(#)h(And)g(it)h(can't)f(call)g(functions.)865 |
| 3219 y(set_board_info)e(gdb,cannot_call_functions)f(1)197 |
| 3743 y Fi(Boar)n(d)28 b(Con\002g)h(File)f(V)-6 b(alues)596 |
| 3885 y Fl(These)23 b(\002elds)g(ar)o(e)f(all)h(in)h(the)f(boar)o |
| (d_info)f(These)h(ar)o(e)f(all)h(set)g(by)h(using)g(the)f |
| Ff(set_board_info)596 3976 y Fl(pr)o(ocedur)o(e.)e(The)j(parameters)e |
| (ar)o(e)h(the)h(\002eld)f(name,)h(followed)g(by)g(the)g(value)f(to)h |
| (set)g(the)g(\002eld)596 4067 y(to.)596 4325 y Fk(T)-9 |
| b(able)19 b(5-1.)g(Common)h(Board)h(Info)g(Fields)p 596 |
| 4412 3096 4 v 596 4412 V 596 4540 4 129 v 600 4515 a |
| Fm(Field)834 b(Sample)24 b(V)-5 b(alue)495 b(Description)p |
| 3687 4540 V 596 4543 3096 4 v 596 4543 V 596 4763 4 220 |
| v 600 4646 a Fl(compiler)702 b("[\002nd_gcc]")601 b(The)21 |
| b(path)f(to)h(the)g(compiler)g(to)2658 4738 y(use.)p |
| 3687 4763 V 596 4766 3096 4 v 596 4766 V 596 4985 4 220 |
| v 600 4869 a(c\003ags)818 b("-mca")788 b(Compilation)22 |
| b(\003ags)f(for)f(the)2658 4960 y(compiler)-6 b(.)p 3687 |
| 4985 V 596 4988 3096 4 v 596 4988 V 596 5208 4 220 v |
| 600 5092 a(ld\003ags)780 b("[libgloss_link_\003ags])1628 |
| 5183 y([newlib_link_\003ags]")2658 5092 y(Linking)22 |
| b(\003ags)f(for)f(the)2658 5183 y(compiler)-6 b(.)p 3687 |
| 5208 V 596 5211 3096 4 v 596 5211 V 596 5431 4 220 v |
| 600 5314 a(ldscript)747 b("-Wl,-T)-5 b(idt.ld")540 b(The)21 |
| b(linker)g(script)f(to)i(use)2658 5406 y(when)f(cr)o(oss)g(compiling.)p |
| 3687 5431 V 596 5434 3096 4 v Black 3601 5585 a Fj(35)p |
| Black eop |
| %%Page: 36 42 |
| 36 41 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(5.)g(Extending)g(DejaGnu)p Black 596 9 3096 4 v 596 |
| 9 V 596 137 4 129 v 600 112 a Fm(Field)834 b(Sample)24 |
| b(V)-5 b(alue)495 b(Description)p 3687 137 V 596 137 |
| 3096 4 v 596 357 4 220 v 600 241 a Fl(libs)899 b("-lgcc")796 |
| b(Any)21 b(additional)f(libraries)g(to)2658 332 y(link)h(in.)p |
| 3687 357 V 596 360 3096 4 v 596 360 V 596 579 4 220 v |
| 600 463 a(shell_pr)o(ompt)538 b("cygmon>")623 b(The)21 |
| b(command)g(pr)o(ompt)f(of)2658 555 y(the)h(r)o(emote)f(shell.)p |
| 3687 579 V 596 583 3096 4 v 596 583 V 596 802 4 220 v |
| 600 686 a(hex_startaddr)514 b("0xa0020000")547 b(The)21 |
| b(Starting)f(addr)o(ess)f(as)i(a)2658 777 y(string.)p |
| 3687 802 V 596 805 3096 4 v 596 805 V 596 1025 4 220 |
| v 600 909 a(start_addr)645 b(0xa0008000)609 b(The)21 |
| b(starting)g(addr)o(ess)e(as)h(a)2658 1000 y(value.)p |
| 3687 1025 V 596 1028 3096 4 v 596 1028 V 596 1156 4 129 |
| v 600 1131 a(startaddr)687 b("a0020000")p 3687 1156 V |
| 596 1159 3096 4 v 596 1159 V 596 1379 4 220 v 600 1263 |
| a(exit_statuses_bad)380 b(1)988 b(Whether)21 b(ther)o(e)f(is)h(an)2658 |
| 1354 y(accurate)e(exit)i(status.)p 3687 1379 V 596 1382 |
| 3096 4 v 596 1382 V 596 1601 4 220 v 600 1485 a(r)o(eboot_delay)548 |
| b(10)946 b(The)21 b(delay)f(between)g(power)2658 1576 |
| y(of)o(f)g(and)g(power)h(on.)p 3687 1601 V 596 1605 3096 |
| 4 v 596 1605 V 596 1915 4 311 v 600 1708 a(unr)o(eliable)658 |
| b(1)988 b(Whether)21 b(communication)2658 1799 y(with)g(the)g(boar)o(d) |
| f(is)2658 1890 y(unr)o(eliable.)p 3687 1915 V 596 1919 |
| 3096 4 v 596 1919 V 596 2138 4 220 v 600 2022 a(sim)896 |
| b([\002nd_sim])651 b(The)21 b(path)f(to)h(the)g(simulator)2658 |
| 2113 y(to)g(use.)p 3687 2138 V 596 2141 3096 4 v 596 |
| 2141 V 596 2361 4 220 v 600 2244 a(objcopy)740 b($temp\002l)724 |
| b(The)21 b(path)f(to)h(the)g Fk(objcopy)2658 2336 y Fl(pr)o(ogram.)p |
| 3687 2361 V 596 2364 3096 4 v 596 2364 V 596 2583 4 220 |
| v 600 2467 a(support_libs)567 b("${pr)o(e\002x_dir}/i386-cof)o(f/")90 |
| b(Support)20 b(libraries)g(needed)2658 2558 y(for)g(cr)o(oss)h |
| (compiling.)p 3687 2583 V 596 2587 3096 4 v 596 2587 |
| V 596 2806 4 220 v 600 2690 a(addl_link_\003ags)461 b("-N")871 |
| b(Additional)20 b(link)i(\003ags,)2658 2781 y(rar)o(ely)d(used.)p |
| 3687 2806 V 596 2809 3096 4 v 596 2809 V 596 3092 a(These)g(\002elds)g |
| (ar)o(e)e(used)i(by)g(the)g(GCC)h(and)e(GDB)i(tests,)f(and)f(ar)o(e)g |
| (mostly)i(only)g(useful)f(to)h(some-)596 3183 y(what)i(trying)h(to)g |
| (debug)e(a)h(new)h(boar)o(d)e(\002le)h(for)g(one)h(of)f(these)h(tools.) |
| g(Many)f(of)g(these)g(ar)o(e)f(used)596 3274 y(only)28 |
| b(by)f(a)f(few)h(testcases,)f(and)h(their)g(purpose)g(is)h(esoteric.)e |
| (These)h(ar)o(e)f(listed)h(with)h(sample)596 3366 y(values)20 |
| b(as)g(a)h(guide)f(to)h(better)g(guessing)g(if)g(you)g(need)f(to)i |
| (change)e(any)h(of)g(these.)596 3623 y Fk(T)-9 b(able)19 |
| b(5-2.)g(Board)i(Info)g(Fields)e(For)j(GCC)f(&)f(GDB)p |
| 596 3710 V 596 3710 V 596 3838 4 129 v 600 3813 a Fm(Field)834 |
| b(Sample)24 b(V)-5 b(alue)495 b(Description)p 3687 3838 |
| V 596 3842 3096 4 v 596 3842 V 596 4061 4 220 v 600 3945 |
| a Fl(strip)859 b($temp\002le)684 b(Strip)20 b(the)h(executable)e(of) |
| 2658 4036 y(symbols.)p 3687 4061 V 596 4064 3096 4 v |
| 596 4064 V 596 4192 4 129 v 600 4167 a(gdb_load_of)o(fset)437 |
| b("0x40050000")p 3687 4192 V 596 4196 3096 4 v 596 4196 |
| V 596 4415 4 220 v 600 4299 a(gdb_pr)o(otocol)538 b("r)o(emote")711 |
| b(The)21 b(GDB)g(debugging)2658 4390 y(pr)o(otocol)g(to)g(use.)p |
| 3687 4415 V 596 4418 3096 4 v 596 4418 V 596 4546 4 129 |
| v 600 4521 a(gdb_sect_of)o(fset)460 b("0x41000000";)p |
| 3687 4546 V 596 4550 3096 4 v 596 4550 V 596 4769 4 220 |
| v 600 4653 a(gdb_stub_ldscript)362 b("-Wl,-T)-8 b(eva-stub.ld")330 |
| b(The)21 b(linker)g(script)f(to)i(use)2658 4744 y(with)f(a)g(GDB)g |
| (stub.)p 3687 4769 V 596 4772 3096 4 v 596 4772 V 596 |
| 4900 4 129 v 600 4875 a(gdb_init_command)309 b("set)21 |
| b(mipsfpu)g(none")p 3687 4900 V 596 4904 3096 4 v 596 |
| 4904 V 596 5123 4 220 v 600 5007 a(gdb,cannot_call_functions)64 |
| b(1)988 b(Whether)21 b(GDB)g(can)f(call)2658 5098 y(functions)h(on)h |
| (the)f(tar)o(get,)p 3687 5123 V 596 5126 3096 4 v 596 |
| 5126 V 596 5346 4 220 v 600 5229 a(gdb,noar)o(gs)616 |
| b(1)988 b(Whether)19 b(the)g(tar)o(get)f(can)h(take)2658 |
| 5321 y(command)i(line)g(ar)o(guments.)p 3687 5346 V 596 |
| 5349 3096 4 v Black 197 5585 a Fj(36)p Black eop |
| %%Page: 37 43 |
| 37 42 bop Black 0 TeXcolorgray Black 2632 -132 a Fj(Chapter)20 |
| b(5.)g(Extending)g(DejaGnu)p Black 596 9 3096 4 v 596 |
| 9 V 596 137 4 129 v 600 112 a Fm(Field)834 b(Sample)24 |
| b(V)-5 b(alue)495 b(Description)p 3687 137 V 596 137 |
| 3096 4 v 596 357 4 220 v 600 241 a Fl(gdb,nosignals)517 |
| b(1)988 b(Whether)21 b(ther)o(e)f(ar)o(e)f(signals)2658 |
| 332 y(on)i(the)g(tar)o(get.)p 3687 357 V 596 360 3096 |
| 4 v 596 360 V 596 488 4 129 v 600 463 a(gdb,short_int)535 |
| b(1)p 3687 488 V 596 491 3096 4 v 596 491 V 596 711 4 |
| 220 v 600 595 a(gdb,start_symbol)389 b("_start";)741 |
| b(The)21 b(starting)g(symbol)g(in)h(the)2658 686 y(executable.)p |
| 3687 711 V 596 714 3096 4 v 596 714 V 596 933 4 220 v |
| 600 817 a(gdb,tar)o(get_sim_options)160 b("-spar)o(clite")629 |
| b(Special)19 b(options)k(to)e(pass)f(to)2658 909 y(the)h(simulator)-6 |
| b(.)p 3687 933 V 596 937 3096 4 v 596 937 V 596 1156 |
| 4 220 v 600 1040 a(gdb,timeout)578 b(540)904 b(T)-5 b(imeout)22 |
| b(value)e(to)h(use)g(for)2658 1131 y(r)o(emote)f(communication.)p |
| 3687 1156 V 596 1159 3096 4 v 596 1159 V 596 1287 4 129 |
| v 600 1263 a(gdb_init_command)309 b("print/x)21 b(\\$fsr)f(=)i(0x0")p |
| 3687 1287 V 596 1291 3096 4 v 596 1291 V 596 1419 4 129 |
| v 600 1394 a(gdb_load_of)o(fset)437 b("0x12020000")p |
| 3687 1419 V 596 1422 3096 4 v 596 1422 V 596 1550 4 129 |
| v 600 1525 a(gdb_opts)686 b("--command)21 b(gdbinit")p |
| 3687 1550 V 596 1553 3096 4 v 596 1553 V 596 1681 4 129 |
| v 600 1657 a(gdb_pr)o(ompt)566 b("\\\\\(gdb960\\\\\)")443 |
| b(The)21 b(pr)o(ompt)f(GDB)h(is)g(using.)p 3687 1681 |
| V 596 1685 3096 4 v 596 1685 V 596 1813 4 129 v 600 1788 |
| a(gdb_r)o(un_command)302 b("jump)22 b(start")p 3687 1813 |
| V 596 1816 3096 4 v 596 1816 V 596 1944 4 129 v 600 1919 |
| a(gdb_stub_of)o(fset)441 b("0x12010000")p 3687 1944 V |
| 596 1947 3096 4 v 596 1947 V 596 2167 4 220 v 600 2051 |
| a(use_gdb_stub)518 b(1)988 b(Whether)21 b(to)g(use)g(a)f(GDB)2658 |
| 2142 y(stub.)p 3687 2167 V 596 2170 3096 4 v 596 2170 |
| V 596 2298 4 129 v 600 2273 a(use_vma_of)o(fset)455 b(1)p |
| 3687 2298 V 596 2301 3096 4 v 596 2301 V 596 2429 4 129 |
| v 600 2405 a(wrap_m68k_aout)383 b(1)p 3687 2429 V 596 |
| 2433 3096 4 v 596 2433 V 596 2561 4 129 v 600 2536 a |
| (gcc,no_label_values)296 b(1)p 3687 2561 V 596 2564 3096 |
| 4 v 596 2564 V 596 2692 4 129 v 600 2667 a(gcc,no_trampolines)311 |
| b(1)p 3687 2692 V 596 2695 3096 4 v 596 2695 V 596 2823 |
| 4 129 v 600 2799 a(gcc,no_varar)o(gs)475 b(1)p 3687 2823 |
| V 596 2827 3096 4 v 596 2827 V 596 3046 4 220 v 600 2930 |
| a(gcc,stack_size)517 b(16384)820 b(Stack)20 b(size)g(to)h(use)g(with)h |
| (some)2658 3021 y(GCC)f(testcases.)p 3687 3046 V 596 |
| 3049 3096 4 v 596 3049 V 596 3177 4 129 v 600 3153 a |
| (ieee_multilib_\003ags)335 b("-mieee";)p 3687 3177 V |
| 596 3181 3096 4 v 596 3181 V 596 3309 4 129 v 600 3284 |
| a(is_simulator)574 b(1)p 3687 3309 V 596 3312 3096 4 |
| v 596 3312 V 596 3440 4 129 v 600 3415 a(needs_status_wrapper)197 |
| b(1)p 3687 3440 V 596 3443 3096 4 v 596 3443 V 596 3572 |
| 4 129 v 600 3547 a(no_double)637 b(1)p 3687 3572 V 596 |
| 3575 3096 4 v 596 3575 V 596 3703 4 129 v 600 3678 a(no_long_long)525 |
| b(1)p 3687 3703 V 596 3706 3096 4 v 596 3706 V 596 3834 |
| 4 129 v 600 3809 a(noar)o(gs)780 b(1)p 3687 3834 V 596 |
| 3838 3096 4 v 596 3838 V 596 3966 4 129 v 600 3941 a(nullstone,lib)572 |
| b("mips-clock.c")p 3687 3966 V 596 3969 3096 4 v 596 |
| 3969 V 596 4097 4 129 v 600 4072 a(nullstone,ticks_per_sec)178 |
| b(3782018)p 3687 4097 V 596 4100 3096 4 v 596 4100 V |
| 596 4228 4 129 v 600 4203 a(sys_speed_value)409 b(200)p |
| 3687 4228 V 596 4232 3096 4 v 596 4232 V 596 4360 4 129 |
| v 600 4335 a(tar)o(get_install)548 b({sh-hms})p 3687 |
| 4360 V 596 4363 3096 4 v 596 4363 V 197 4830 a Fi(Writing)29 |
| b(A)e(T)-6 b(est)29 b(Case)596 4972 y Fl(The)18 b(easiest)h(way)g(to)g |
| (pr)o(epar)o(e)e(a)h(new)h(test)h(case)e(is)h(to)h(base)e(it)h(on)h(an) |
| e(existing)i(one)f(for)g(a)g(similar)596 5063 y(situation.)h(Ther)o(e)g |
| (ar)o(e)e(two)j(major)g(categories)e(of)i(tests:)f(batch)g(or)g |
| (interactive.)f(Batch)h(oriented)596 5155 y(tests)h(ar)o(e)e(usually)i |
| (easier)f(to)h(write.)596 5287 y(The)h(GCC)h(tests)g(ar)o(e)e(a)i(good) |
| g(example)f(of)g(batch)h(oriented)f(tests.)h(All)g(GCC)g(tests)g |
| (consist)g(pri-)596 5379 y(marily)f(of)h(a)f(call)g(to)h(a)f(single)h |
| (common)h(pr)o(ocedur)o(e,)d(Since)h(all)g(the)h(tests)g(either)g(have) |
| f(no)h(out-)596 5470 y(put,)28 b(or)h(only)h(have)e(a)h(few)f(warning)i |
| (messages)f(when)g(successfully)h(compiled.)e(Any)h(non-)p |
| Black 3601 5585 a Fj(37)p Black eop |
| %%Page: 38 44 |
| 38 43 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(5.)g(Extending)g(DejaGnu)p Black 596 89 a Fl(warning)27 |
| b(output)g(is)g(a)f(test)h(failur)o(e.)d(All)j(the)g(C)f(code)h(needed) |
| e(is)i(kept)g(in)g(the)g(test)f(dir)o(ectory)-9 b(.)596 |
| 180 y(The)20 b(test)h(driver)-6 b(,)19 b(written)i(in)g(T)-9 |
| b(cl,)20 b(need)g(only)h(get)f(a)g(listing)i(of)f(all)f(the)h(C)f |
| (\002les)h(in)g(the)f(dir)o(ectory)-9 b(,)596 272 y(and)29 |
| b(compile)h(them)g(all)g(using)g(a)g(generic)f(pr)o(ocedur)o(e.)f(This) |
| i(pr)o(ocedur)o(e)e(and)h(a)g(few)g(others)596 363 y(supporting)23 |
| b(for)g(these)g(tests)g(ar)o(e)f(kept)h(in)g(the)g(library)g(module)g |
| Ff(lib/c-torture.exp)d Fl(in)k(the)596 454 y(GCC)i(test)h(suite.)g |
| (Most)g(tests)g(of)f(this)i(kind)f(use)g(very)f(few)g(expect)g(featur)o |
| (es,)f(and)h(ar)o(e)g(coded)596 546 y(almost)21 b(pur)o(ely)f(in)h(T)-9 |
| b(cl.)596 679 y(W)j(riting)21 b(the)g(complete)g(suite)g(of)f(C)h |
| (tests,)g(then,)g(consisted)g(of)g(these)g(steps:)p Black |
| 596 894 a Fg(\225)p Black 43 w Fl(Copying)30 b(all)g(the)g(C)g(code)f |
| (into)i(the)f(test)g(dir)o(ectory)-9 b(.)29 b(These)h(tests)g(wer)o(e)f |
| (based)g(on)h(the)g(C-)679 986 y(tortur)o(e)21 b(test)h(cr)o(eated)e |
| (by)i(T)-8 b(orbjorn)23 b(Granlund)f(\(on)g(behalf)f(of)h(the)g(Fr)o |
| (ee)f(Softwar)o(e)f(Founda-)679 1077 y(tion\))h(for)f(GCC)h |
| (development.)p Black 596 1210 a Fg(\225)p Black 43 w |
| Fl(W)-6 b(riting)21 b(\(and)f(debugging\))h(the)g(generic)f(T)-9 |
| b(cl)21 b(pr)o(ocedur)o(es)e(for)h(compilation.)p Black |
| 596 1343 a Fg(\225)p Black 43 w Fl(W)-6 b(riting)29 b(the)g(simple)g |
| (test)g(driver:)f(its)h(main)g(task)g(is)g(to)g(sear)o(ch)f(the)h(dir)o |
| (ectory)e(\(using)j(the)679 1434 y(T)-9 b(cl)19 b(pr)o(ocedur)o(e)g |
| Fj(glob)h Fl(for)g(\002lename)g(expansion)h(with)g(wildcar)o(ds\))e |
| (and)g(call)h(a)g(T)-9 b(cl)20 b(pr)o(ocedur)o(e)679 |
| 1525 y(with)h(each)f(\002lename.)h(It)g(also)g(checks)g(for)f(a)g(few)h |
| (err)o(ors)f(fr)o(om)g(the)h(testing)g(pr)o(ocedur)o(e.)596 |
| 1658 y(T)-8 b(esting)21 b(interactive)f(pr)o(ograms)g(is)h |
| (intrinsically)h(mor)o(e)e(complex.)h(T)-8 b(ests)21 |
| b(for)f(most)i(interactive)596 1750 y(pr)o(ograms)e(r)o(equir)o(e)f |
| (some)j(trial)e(and)g(err)o(or)g(befor)o(e)g(they)h(ar)o(e)e(complete.) |
| 596 1882 y(However)-6 b(,)26 b(some)j(interactive)d(pr)o(ograms)h(can)h |
| (be)f(tested)g(in)h(a)f(simple)h(fashion)g(r)o(eminiscent)596 |
| 1974 y(of)f(batch)g(tests.)h(For)g(example,)e(prior)i(to)g(the)g(cr)o |
| (eation)f(of)g(DejaGnu,)h(the)g(GDB)g(distribution)596 |
| 2065 y(alr)o(eady)18 b(included)i(a)g(wide-ranging)g(testing)i(pr)o |
| (ocedur)o(e.)c(This)j(pr)o(ocedur)o(e)d(was)i(very)g(r)o(obust,)596 |
| 2156 y(and)28 b(had)g(alr)o(eady)e(under)o(gone)i(much)h(mor)o(e)g |
| (debugging)f(and)g(err)o(or)g(checking)h(than)g(many)596 |
| 2248 y(r)o(ecent)19 b(DejaGnu)h(test)h(cases.)e(Accor)o(dingly)-9 |
| b(,)19 b(the)i(best)f(appr)o(oach)e(was)i(simply)h(to)g(encapsulate)596 |
| 2339 y(the)i(existing)h(GDB)g(tests,)g(for)f(r)o(eporting)h(purposes.)f |
| (Ther)o(eafter)-6 b(,)21 b(new)j(GDB)g(tests)g(built)g(up)f(a)596 |
| 2430 y(family)d(of)h(T)-9 b(cl)20 b(pr)o(ocedur)o(es)f(specialized)h |
| (for)g(GDB)h(testing.)197 2748 y Fi(Deb)n(ug)o(ging)30 |
| b(A)d(T)-6 b(est)28 b(Case)596 2890 y Fl(These)20 b(ar)o(e)g(the)g |
| (kinds)i(of)f(debugging)g(information)g(available)f(fr)o(om)g(DejaGnu:) |
| p Black 596 3106 a Fg(\225)p Black 43 w Fl(Output)j(contr)o(olled)g(by) |
| g(test)g(scripts)g(themselves,)g(explicitly)g(allowed)g(for)g(by)g(the) |
| g(test)g(au-)679 3197 y(thor)-6 b(.)19 b(This)h(kind)f(of)h(debugging)f |
| (output)h(appears)e(in)i(the)f(detailed)f(output)i(r)o(ecor)o(ded)d(in) |
| j(the)679 3288 y(DejaGnu)d(log)h(\002le.)e(T)-8 b(o)18 |
| b(do)f(the)g(same)f(for)h(new)g(tests,)g(use)g(the)g |
| Fk(verbose)f Fl(pr)o(ocedur)o(e)f(\(which)i(in)679 3380 |
| y(turn)k(uses)h(the)f(variable)f(also)i(called)f Fj(verbose)p |
| Fl(\))h(to)f(contr)o(ol)h(how)g(much)g(output)g(to)g(generate.)679 |
| 3471 y(This)j(will)h(make)f(it)g(easier)f(for)h(other)g(people)g(r)o |
| (unning)h(the)g(test)f(to)g(debug)g(it)g(if)g(necessary)-9 |
| b(.)679 3562 y(Whenever)24 b(possible,)i(if)f Fj($verbose)h |
| Fl(is)f Fj(0)p Fl(,)g(ther)o(e)f(should)i(be)f(no)h(output)g(other)f |
| (than)g(the)h(out-)679 3654 y(put)f(fr)o(om)g Fj(pass)p |
| Fl(,)g Fj(fail)p Fl(,)g Fj(err)o(or)p Fl(,)g(and)g Fj(warning)p |
| Fl(.)g(Then,)h(to)f(whatever)g(extent)g(is)h(appr)o(opriate)d(for)679 |
| 3745 y(the)28 b(particular)f(test,)h(allow)g(successively)h(higher)g |
| (values)e(of)i Fj($verbose)f Fl(to)h(generate)e(mor)o(e)679 |
| 3836 y(information.)19 b(Be)g(kind)g(to)h(other)f(pr)o(ogrammers)g(who) |
| h(use)f(your)g(tests:)h(pr)o(ovide)e(for)h(a)f(lot)i(of)679 |
| 3928 y(debugging)h(information.)p Black 596 4061 a Fg(\225)p |
| Black 43 w Fl(Output)26 b(fr)o(om)g(the)g(internal)g(debugging)g |
| (functions)h(of)f(T)-9 b(cl)26 b(and)g(Expect.)f(Ther)o(e)g(is)h(a)g |
| (com-)679 4152 y(mand)h(line)h(options)h(for)f(each;)f(both)h(forms)g |
| (of)g(debugging)g(output)g(ar)o(e)e(r)o(ecor)o(ded)g(in)i(the)679 |
| 4243 y(\002le)20 b Ff(dbg.log)g Fl(in)h(the)g(curr)o(ent)f(dir)o |
| (ectory)-9 b(.)679 4376 y(Use)20 b Ff(--debug)h Fl(for)g(information)h |
| (fr)o(om)f(the)g(expect)g(level;)f(it)i(generates)f(displays)g(of)g |
| (the)h(ex-)679 4467 y(pect)d(attempts)h(to)g(match)g(the)g(tool)g |
| (output)h(with)f(the)g(patterns)f(speci\002ed.)h(This)g(output)g(can) |
| 679 4559 y(be)k(very)h(helpful)g(while)h(developing)f(test)h(scripts,)f |
| (since)g(it)g(shows)i(pr)o(ecisely)d(the)h(charac-)679 |
| 4650 y(ters)d(r)o(eceived.)f(Iterating)i(between)g(the)g(latest)g |
| (attempt)f(at)h(a)f(new)h(test)g(script)g(and)g(the)g(cor)o(-)679 |
| 4741 y(r)o(esponding)f Ff(dbg.log)f Fl(can)g(allow)i(you)f(to)h(cr)o |
| (eate)d(the)i(\002nal)g(patterns)g(by)g(\223cut)g(and)f(paste\224.)679 |
| 4833 y(This)g(is)g(sometimes)h(the)f(best)f(way)h(to)g(write)g(a)f |
| (test)h(case.)p Black 596 5098 a Fg(\225)p Black 43 w |
| Fl(Use)30 b Ff(--strace)g Fl(to)h(see)f(mor)o(e)h(detail)f(at)h(the)g |
| (T)-9 b(cl)30 b(level;)h(this)g(shows)i(how)e(T)-9 b(cl)31 |
| b(pr)o(ocedur)o(e)679 5190 y(de\002nitions)26 b(expand,)e(as)i(they)f |
| (execute.)g(The)g(associated)g(number)g(contr)o(ols)h(the)g(depth)f(of) |
| 679 5281 y(de\002nitions)d(expanded.)p Black 197 5585 |
| a Fj(38)p Black eop |
| %%Page: 39 45 |
| 39 44 bop Black 0 TeXcolorgray Black 2632 -132 a Fj(Chapter)20 |
| b(5.)g(Extending)g(DejaGnu)p Black Black 596 89 a Fg(\225)p |
| Black 43 w Fl(Finally)-9 b(,)19 b(if)f(the)h(value)g(of)f |
| Fj(verbose)i Fl(is)g(3)e(or)h(gr)o(eater)-6 b(,DejaGnu)18 |
| b(turns)h(on)g(the)g(expect)g(command)679 180 y Fk(log_user)p |
| Fl(.)f(This)j(command)f(prints)g(all)g(expect)f(actions)i(to)f(the)g |
| (expect)f(standar)o(d)f(output,)j(to)679 272 y(the)f(detailed)g(log)h |
| (\002le,)g(and)f(\(if)h Ff(--debug)e Fl(is)i(on\))g(to)h |
| Ff(dbg.log)p Fl(.)197 590 y Fi(Ad)o(ding)29 b(A)e(T)-6 |
| b(est)29 b(Case)e(T)-8 b(o)28 b(A)g(T)-6 b(estsuite)r(.)596 |
| 731 y Fl(Ther)o(e)25 b(ar)o(e)h(two)h(slightly)h(dif)o(fer)o(ent)d |
| (ways)i(to)g(add)f(a)g(test)h(case.)f(One)h(is)h(to)f(add)f(the)h(test) |
| g(case)596 823 y(to)c(an)h(existing)g(dir)o(ectory)-9 |
| b(.)22 b(The)h(other)h(is)g(to)g(cr)o(eate)e(a)h(new)g(dir)o(ectory)g |
| (to)h(hold)g(your)g(test.)f(The)596 914 y(existing)30 |
| b(test)g(dir)o(ectories)e(r)o(epr)o(esent)g(several)h(styles)h(of)g |
| (testing,)g(all)f(of)h(which)g(ar)o(e)f(slightly)596 |
| 1005 y(dif)o(fer)o(ent;)20 b(examine)i(the)g(dir)o(ectories)f(for)i |
| (the)f(tool)h(of)g(inter)o(est)f(to)g(see)g(which)i(\(if)d(any\))h(is)h |
| (most)596 1097 y(suitable.)596 1229 y(Adding)16 b(a)h(GCC)g(test)g(can) |
| f(be)h(very)g(simple:)g(just)h(add)e(the)h(C)g(code)f(to)i(any)f(dir)o |
| (ectory)f(beginning)596 1321 y(with)21 b Ff(gcc)p Fl(.)f(and)g(it)h(r)o |
| (uns)h(on)f(the)g(next)596 1486 y Ff(runtest)43 b(--tool)865 |
| 1568 y(gcc)596 1743 y Fl(.)596 1875 y(T)-8 b(o)27 b(add)f(a)g(test)h |
| (to)g(GDB,)g(\002rst)g(add)f(any)g(sour)o(ce)h(code)f(you)h(will)h |
| (need)e(to)h(the)g(test)g(dir)o(ectory)-9 b(.)596 1967 |
| y(Then)21 b(you)h(can)f(either)g(cr)o(eate)f(a)h(new)h(expect)e |
| (\002le,)h(or)h(add)e(your)i(test)g(to)f(an)g(existing)i(one)e(\(any) |
| 596 2058 y(\002le)29 b(with)h(a)e Fj(.exp)h Fl(suf)o(\002x\).)f(Cr)o |
| (eating)g(a)h(new)g(.exp)g(\002le)g(is)h(pr)o(obably)e(a)h(better)f |
| (idea)h(if)g(the)g(test)596 2149 y(is)e(signi\002cantly)i(dif)o(fer)o |
| (ent)c(fr)o(om)h(existing)i(tests.)g(Adding)e(it)i(as)f(a)g(separate)e |
| (\002le)j(also)f(makes)596 2241 y(upgrading)f(easier)-6 |
| b(.)25 b(If)i(the)f(C)h(code)f(has)h(to)g(be)f(alr)o(eady)f(compiled)i |
| (befor)o(e)e(the)i(test)f(will)i(r)o(un,)596 2332 y(then)i(you'll)i |
| (have)e(to)g(add)g(it)g(to)h(the)g Ff(Makefile.in)d Fl(\002le)j(for)f |
| (that)g(test)h(dir)o(ectory)-9 b(,)29 b(then)h(r)o(un)596 |
| 2423 y Fk(con\002gure)19 b Fl(and)i Fk(make)p Fl(.)596 |
| 2556 y(Adding)f(a)g(test)h(by)g(cr)o(eating)f(a)g(new)h(dir)o(ectory)f |
| (is)h(very)g(similar:)p Black 596 2772 a Fg(\225)p Black |
| 43 w Fl(Cr)o(eate)15 b(the)i(new)h(dir)o(ectory)-9 b(.)15 |
| b(All)i(subdir)o(ectory)g(names)g(begin)g(with)h(the)f(name)g(of)g(the) |
| h(tool)g(to)679 2863 y(test;)h(e.g.)f(G++)j(tests)e(might)i(be)e(in)h |
| (a)e(dir)o(ectory)h(called)f Ff(g++.other)p Fl(.)g(Ther)o(e)g(can)h(be) |
| g(multiple)679 2955 y(test)h(dir)o(ectories)g(that)h(start)f(with)i |
| (the)f(same)f(tool)i(name)f(\(such)f(as)h Fj(g++)p Fl(\).)p |
| Black 596 3088 a Fg(\225)p Black 43 w Fl(Add)g(the)j(new)f(dir)o |
| (ectory)f(name)h(to)g(the)g(con\002gdirs)h(de\002nition)g(in)f(the)g |
| Ff(configure.in)e Fl(\002le)679 3179 y(for)k(the)i(testsuite)f(dir)o |
| (ectory)-9 b(.)25 b(This)h(way)g(when)h Fk(make)d Fl(and)i |
| Fk(con\002gure)f Fl(next)h(r)o(un,)g(they)h(in-)679 3270 |
| y(clude)20 b(the)h(new)g(dir)o(ectory)-9 b(.)p Black |
| 596 3403 a Fg(\225)p Black 43 w Fl(Add)19 b(the)i(new)g(test)g(case)f |
| (to)h(the)g(dir)o(ectory)-9 b(,)20 b(as)g(above.)p Black |
| 596 3536 a Fg(\225)p Black 43 w Fl(T)-8 b(o)21 b(add)g(support)g(in)h |
| (the)g(new)f(dir)o(ectory)g(for)g(con\002gur)o(e)g(and)g(make,)g(you)h |
| (must)g(also)g(cr)o(eate)679 3627 y(a)e Ff(Makefile.in)f |
| Fl(and)h(a)g Ff(configure.in)p Fl(.)197 3945 y Fi(Hints)28 |
| b(On)h(Writing)f(A)g(T)-6 b(est)28 b(Case)596 4087 y |
| Fl(It)g(is)h(safest)f(to)h(write)f(patterns)h(that)f(match)h(all)f(the) |
| h(output)g(generated)e(by)i(the)g(tested)f(pr)o(o-)596 |
| 4178 y(gram;)20 b(this)i(is)f(called)f(closur)o(e.)h(If)g(a)f(pattern)h |
| (does)g(not)g(match)h(the)f(entir)o(e)f(output,)h(any)g(output)596 |
| 4269 y(that)c(r)o(emains)h(will)g(be)g(examined)f(by)h(the)g(next)g |
| Fk(expect)d Fl(command.)j(In)g(this)h(situation,)f(the)g(pr)o(e-)596 |
| 4361 y(cise)i(boundary)g(that)h(determines)f(which)i |
| Fk(expect)c Fl(command)j(sees)g(what)f(is)h(very)f(sensitive)i(to)596 |
| 4452 y(timing)h(between)g(the)f(Expect)g(task)g(and)g(the)h(task)g(r)o |
| (unning)h(the)e(tested)g(tool.)i(As)e(a)g(r)o(esult,)g(the)596 |
| 4543 y(test)e(may)h(sometimes)h(appear)d(to)i(work,)f(but)h(is)g |
| (likely)g(to)g(have)f(unpr)o(edictable)g(r)o(esults.)g(\(This)596 |
| 4635 y(pr)o(oblem)27 b(is)i(particularly)e(likely)i(for)e(interactive)h |
| (tools,)h(but)f(can)g(also)g(af)o(fect)e(batch)i(tools---)596 |
| 4726 y(especially)23 b(for)g(tests)h(that)g(take)f(a)g(long)i(time)f |
| (to)g(\002nish.\))g(The)g(best)f(way)h(to)g(ensur)o(e)f(closur)o(e)h |
| (is)596 4817 y(to)i(use)g(the)g Ff(-re)f Fl(option)i(for)f(the)g |
| Fk(expect)d Fl(command)k(to)f(write)g(the)g(pattern)f(as)h(a)f(full)h |
| (r)o(egular)596 4909 y(expr)o(essions;)20 b(then)i(you)g(can)e(match)h |
| (the)h(end)f(of)g(output)g(using)h(a)f Fj($)p Fl(.)f(It)h(is)h(also)f |
| (a)g(good)g(idea)g(to)596 5000 y(write)26 b(patterns)g(that)g(match)g |
| (all)g(available)f(output)i(by)f(using)h Fj(.*\\)g Fl(after)e(the)h |
| (text)g(of)h(inter)o(est;)596 5091 y(this)18 b(will)h(also)f(match)h |
| (any)f(intervening)h(blank)f(lines.)g(Sometimes)h(an)f(alternative)f |
| (is)h(to)h(match)596 5183 y(end)h(of)h(line)g(using)h |
| Fj(\\r)f Fl(or)g Fj(\\n)p Fl(,)g(but)g(this)g(is)g(usually)g(too)h |
| (dependent)e(on)h(terminal)g(settings.)596 5315 y(Always)g(escape)g |
| (punctuation,)h(such)g(as)f Fj(\()h Fl(or)g Fj(")p Fl(,)f(in)h(your)g |
| (patterns;)f(for)g(example,)g(write)h Fj(\\\()p Fl(.)f(If)596 |
| 5407 y(you)g(for)o(get)f(to)h(escape)f(punctuation,)h(you)g(will)h |
| (usually)f(see)f(an)h(err)o(or)f(message)g(like)p Black |
| 3601 5585 a Fj(39)p Black eop |
| %%Page: 40 46 |
| 40 45 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(5.)g(Extending)g(DejaGnu)p Black 596 89 a Ff(extra)865 |
| 171 y(characters)43 b(after)h(close-quote.)596 478 y |
| Fl(If)15 b(you)i(have)f(tr)o(ouble)g(understanding)g(why)h(a)f(pattern) |
| g(does)g(not)h(match)g(the)f(pr)o(ogram)g(output,)596 |
| 570 y(try)k(using)i(the)f Ff(--debug)e Fl(option)j(to)f |
| Fk(runtest)p Fl(,)e(and)i(examine)f(the)h(debug)f(log)i(car)o(efully)-9 |
| b(.)596 703 y(Be)29 b(car)o(eful)g(not)i(to)g(neglect)g(output)g |
| (generated)e(by)i(setup)f(rather)g(than)h(by)f(the)h(inter)o(esting)596 |
| 794 y(parts)18 b(of)h(a)g(test)g(case.)g(For)g(example,)f(while)i |
| (testing)g(GDB,)g(I)f(issue)g(a)g(send)g Fj(set)h(height)e(0\\n)h |
| Fl(com-)596 885 y(mand.)24 b(The)g(purpose)h(is)g(simply)g(to)g(make)g |
| (sur)o(e)f(GDB)h(never)f(calls)g(a)g(paging)h(pr)o(ogram.)f(The)596 |
| 977 y Fj(set)17 b(height)g Fl(command)h(in)g(GDB)g(does)f(not)i |
| (generate)e(any)g(output;)h(but)g(r)o(unning)h(any)f(command)596 |
| 1068 y(makes)e(GDB)g(issue)h(a)e(new)i Fj(\(gdb\))31 |
| b Fl(pr)o(ompt.)15 b(If)h(ther)o(e)f(wer)o(e)g(no)i Fk(expect)d |
| Fl(command)j(to)f(match)g(this)596 1159 y(pr)o(ompt,)23 |
| b(the)h(output)g Fj(\(gdb\))47 b Fl(begins)24 b(the)g(text)g(seen)g(by) |
| g(the)g(next)g Fk(expect)e Fl(command---which)596 1251 |
| y(might)f(make)g(that)f(pattern)h(fail)f(to)h(match.)596 |
| 1383 y(T)-8 b(o)24 b(pr)o(eserve)e(basic)h(sanity)-9 |
| b(,)24 b(I)g(also)g(r)o(ecommended)e(that)i(no)h(test)e(ever)g(pass)h |
| (if)f(ther)o(e)g(was)h(any)596 1475 y(kind)16 b(of)h(pr)o(oblem)f(in)h |
| (the)f(test)h(case.)e(T)-8 b(o)17 b(take)f(an)g(extr)o(eme)g(case,)f |
| (tests)i(that)f(pass)h(even)f(when)h(the)596 1566 y(tool)23 |
| b(will)h(not)g(spawn)f(ar)o(e)e(misleading.)j(Ideally)-9 |
| b(,)22 b(a)g(test)h(in)h(this)f(sort)h(of)f(situation)g(should)h(not) |
| 596 1657 y(fail)d(either)-6 b(.)22 b(Instead,)g(print)h(an)f(err)o(or)g |
| (message)g(by)h(calling)g(one)f(of)h(the)g(DejaGnu)g(pr)o(ocedur)o(es) |
| 596 1749 y Fk(error)e Fl(or)g Fk(warning)p Fl(.)197 2067 |
| y Fi(Special)28 b(v)n(ariab)o(les)f(used)i(b)n(y)f(test)g(cases.)596 |
| 2208 y Fl(Ther)o(e)22 b(ar)o(e)g(special)h(variables)g(used)g(by)g |
| (test)h(cases.)f(These)g(contain)h(other)g(information)g(fr)o(om)596 |
| 2300 y(DejaGnu.)32 b(Y)-8 b(our)32 b(test)g(cases)f(can)g(use)h(these)f |
| (variables,)f(with)j(conventional)f(meanings)h(\(as)596 |
| 2391 y(well)19 b(as)g(the)h(variables)e(saved)g(in)i |
| Ff(site.exp)p Fl(.)e(Y)-8 b(ou)20 b(can)g(use)f(the)g(value)g(of)g |
| (these)h(variables,)e(but)596 2482 y(they)j(should)g(never)f(be)h |
| (changed.)197 2698 y($prms_id)p Black Black 762 2831 |
| a(The)26 b(tracking)h(system)h(\(e.g.)e(GNA)-6 b(TS\))26 |
| b(number)h(identifying)h(a)e(corr)o(esponding)h(bugr)o(e-)762 |
| 2922 y(port.)20 b(\()p Fj(0)p Fl(})g(if)g(you)i(do)e(not)i(specify)e |
| (it)h(in)h(the)e(test)h(script.\))197 3097 y($item)g(bug_id)p |
| Black Black 762 3229 a(An)i(optional)i(bug)f(id;)f(may)h(r)o(e\003ect)f |
| (a)h(bug)g(identi\002cation)g(fr)o(om)g(another)g(or)o(ganization.)762 |
| 3321 y(\()p Fj(0)19 b Fl(if)i(you)g(do)g(not)h(specify)e(it.\))197 |
| 3495 y($subdir)p Black Black 762 3628 a(The)g(subdir)o(ectory)g(for)h |
| (the)g(curr)o(ent)f(test)h(case.)197 3802 y($expect_out\(buf)o(fer\))p |
| Black Black 762 3935 a(The)28 b(output)h(fr)o(om)f(the)h(last)f |
| (command.)h(This)g(is)g(an)f(internal)h(variable)e(set)h(by)h(Expect.) |
| 762 4026 y(Mor)o(e)19 b(information)j(can)e(be)h(found)g(in)g(the)g |
| (Expect)f(manual.)197 4201 y($exec_output)p Black Black |
| 762 4334 a(This)30 b(is)g(the)g(output)g(fr)o(om)f(a)g |
| Ff(${tool}_load)f Fl(command.)i(This)g(only)h(applies)e(to)h(tools)762 |
| 4425 y(like)20 b(GCC)g(and)g(GAS)f(which)i(pr)o(oduce)e(an)h(object)g |
| (\002le)g(that)g(must)h(in)g(turn)f(be)g(executed)f(to)762 |
| 4516 y(complete)h(a)h(test.)197 4691 y($comp_output)p |
| Black Black 762 4823 a(This)e(is)g(the)g(output)h(fr)o(om)e(a)h |
| Ff(${tool}_start)d Fl(command.)j(This)h(is)f(conventionally)h(used)762 |
| 4915 y(for)25 b(batch)h(oriented)g(pr)o(ograms,)f(like)h(GCC)g(and)f |
| (GAS,)g(that)h(may)g(pr)o(oduce)f(inter)o(esting)762 |
| 5006 y(output)c(\(warnings,)g(err)o(ors\))e(without)j(further)e |
| (interaction.)p Black 197 5585 a Fj(40)p Black eop |
| %%Page: 41 47 |
| 41 46 bop Black 0 TeXcolorgray Black Black 197 95 a Fp(Chapter)34 |
| b(6.)f(Unit)h(T)-7 b(esting)197 405 y Fi(What)28 b(Is)g(Unit)g(T)-6 |
| b(esting)29 b(?)596 547 y Fl(Most)d(r)o(egr)o(ession)g(testing)h(as)g |
| (done)f(by)h(DejaGnu)g(is)g(system)g(testing.)g(This)g(is)g(the)g |
| (complete)596 638 y(application)15 b(is)h(tested)g(all)f(at)h(once.)g |
| (Unit)f(testing)i(is)f(for)g(testing)g(single)h(\002les,)f(or)g(small)g |
| (libraries.)596 729 y(In)k(this)h(case,)e(each)g(\002le)i(is)f(linked)h |
| (with)f(a)g(test)g(case)g(in)g(C)g(or)g(C++,)h(and)e(each)h(function)h |
| (or)f(class)596 821 y(and)31 b(method)i(is)f(tested)g(in)g(series,)g |
| (with)h(the)f(test)g(case)g(having)g(to)h(check)f(private)f(data)g(or) |
| 596 912 y(global)21 b(variables)e(to)i(see)g(if)f(the)h(function)h(or)f |
| (method)g(worked.)596 1045 y(This)30 b(works)h(particularly)f(well)h |
| (for)f(testing)h(APIs)f(and)g(at)g(level)g(wher)o(e)f(it)i(is)g(easier) |
| e(to)i(de-)596 1136 y(bug)26 b(them,)g(than)h(by)f(needing)g(to)h |
| (trace)e(thr)o(ough)i(the)f(entir)o(e)f(appication.)h(Also)h(if)f(ther) |
| o(e)f(is)h(a)596 1227 y(speci\002cation)f(for)g(the)g(API)g(to)g(be)g |
| (tested,)f(the)h(testcase)g(can)f(also)i(function)f(as)g(a)g |
| (compliance)596 1319 y(test.)197 1637 y Fi(The)k(deja)o(gn)o(u.h)g |
| (Header)e(File)596 1778 y Fl(DejaGnu)f(uses)f(a)g(single)h(header)e |
| (\002le)i(to)f(assist)h(in)g(unit)g(testing.)g(As)f(this)h(\002le)f |
| (also)h(pr)o(oduces)596 1870 y(it's)i(one)h(test)g(state)f(output,)h |
| (it)f(can)g(be)g(r)o(un)h(standalone,)f(which)i(is)f(very)f(useful)g |
| (for)g(testing)596 1961 y(on)22 b(embedded)f(systems.)i(This)f(header)f |
| (\002le)h(has)g(a)g(C)g(and)f(C++)i(API)f(for)f(the)h(test)h(states,)e |
| (with)596 2052 y(simple)27 b(totals,)f(and)h(standar)o(dized)d(output.) |
| j(Because)e(the)i(output)g(has)g(been)g(standar)o(dized,)596 |
| 2144 y(DejaGnu)i(can)f(be)h(made)f(to)h(work)g(with)h(this)f(test)g |
| (case,)f(without)i(writing)f(almost)h(any)e(T)-9 b(cl.)596 |
| 2235 y(The)21 b(library)f(module,)h(dejagnu.exp,)g(will)g(look)i(for)d |
| (the)i(output)f(messages,)g(and)g(then)h(mer)o(ge)596 |
| 2326 y(them)f(into)g(DejaGnu's.)p Black 3601 5585 a Fj(41)p |
| Black eop |
| %%Page: 42 48 |
| 42 47 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(6.)g(Unit)h(T)-9 b(esting)p Black Black 197 5585 a(42)p |
| Black eop |
| %%Page: 43 49 |
| 43 48 bop Black 0 TeXcolorgray Black Black 197 95 a Fp(Chapter)34 |
| b(7.)f(Ref)o(erence)197 405 y Fi(Obtaining)d(DejaGn)o(u)596 |
| 547 y Fl(Y)-8 b(ou)18 b(can)e(obtain)h(DejaGnu)h(fr)o(om)f(the)g |
| (DejaGnu)g(web)g(site)g(at)g(the)g(Fr)o(ee)f(Softwar)o(e)f(Foundation) |
| 3637 513 y Fh(1)3663 547 y Fl(,)596 638 y(which)21 b(is)g(at)g(www)-8 |
| b(.gnu.or)o(g/softwar)o(e/dejagnu/)2306 605 y Fh(2)197 |
| 956 y Fi(Installation)596 1098 y Fl(Once)18 b(you)i(have)e(the)h |
| (DejaGnu)g(sour)o(ce)g(unpacked)f(and)g(available,)f(you)i(must)h |
| (\002rst)f(con\002gur)o(e)596 1189 y(the)k(softwar)o(e)f(to)h(specify)g |
| (wher)o(e)f(it)i(is)f(to)g(r)o(un)h(\(and)e(the)h(associated)g |
| (defaults\);)e(then)j(you)f(can)596 1280 y(pr)o(oceed)c(to)i |
| (installing)h(it.)596 1532 y Fn(Con\002guring)h(DejaGn)o(u)596 |
| 1669 y Fl(It)f(is)g(usually)h(best)f(to)g(con\002gur)o(e)h(in)f(a)g |
| (dir)o(ectory)f(separate)g(fr)o(om)h(the)g(sour)o(ce)g(tr)o(ee,)f |
| (specifying)596 1760 y(wher)o(e)i(to)i(\002nd)f(the)g(sour)o(ce)g(with) |
| h(the)f(optional)h Fj(--sr)o(cdir)f Fl(option)h(to)f |
| Fj(con\002gur)o(e)p Fl(.)g(DejaGnu)h(uses)596 1852 y(the)20 |
| b(GNU)g Fj(autoconf)31 b Fl(to)21 b(con\002gur)o(e)f(itself.)g(For)g |
| (mor)o(e)g(info)h(on)g(using)g(autoconf,)f(r)o(ead)f(the)h(GNU)596 |
| 1943 y(autoconf)31 b(manual.)g(T)-8 b(o)31 b(con\002gur)o(e,)g(execute) |
| f(the)i Ff(configure)d Fl(pr)o(ogram,)h(no)i(other)g(options)596 |
| 2034 y(ar)o(e)23 b(r)o(equir)o(ed.)g(For)j(an)f(example,)f(to)h |
| (con\002gur)o(e)g(in)g(a)g(seperate)f(tr)o(ee)g(for)g(objects,)i |
| (execute)e(the)596 2126 y(con\002gur)o(e)c(script)h(fr)o(om)f(the)h |
| (sour)o(ce)g(tr)o(ee)e(like)i(this:)954 2291 y Ff |
| (../dejagnu-1.4.4/configure)596 2548 y Fl(DejaGnu)c(doesn't)f(car)o(e)f |
| (at)h(con\002g)h(time)g(if)f(it's)h(for)f(testing)h(a)f(native)g |
| (system)h(or)f(a)g(cr)o(oss)g(system.)596 2639 y(That)k(is)h |
| (determined)f(at)h(r)o(untime)g(by)g(using)h(the)f(con\002g)g(\002les.) |
| 596 2772 y(Y)-8 b(ou)30 b(may)f(also)h(want)f(to)h(use)f(the)h |
| Fk(con\002gure)e Fl(option)j Fj(--pr)o(e\002x)c Fl(to)j(specify)f(wher) |
| o(e)g(you)h(want)596 2863 y(DejaGnu)i(and)g(its)h(supporting)g(code)f |
| (installed.)g(By)g(default,)f(installation)i(is)g(in)f(subdir)o(ec-)596 |
| 2954 y(tories)h(of)h Ff(/usr/local)p Fl(,)d(but)j(you)g(can)f(select)g |
| (any)h(alternate)e(dir)o(ectory)h(altdir)f(by)i(includ-)596 |
| 3046 y(ing)23 b Ff(--prefix)p Fl({altdir}})d(on)j(the)g |
| Fk(con\002gure)f Fl(command)i(line.)f(\(This)g(value)f(is)h(captur)o |
| (ed)e(in)j(the)596 3137 y(Make\002le)19 b(variables)h |
| Fj(pr)o(e\002x)g Fl(and)g Fj(exec)p Fl(pr)o(e\002x}.\))596 |
| 3270 y(Save)26 b(for)i(a)g(small)g(number)g(of)h(example)e(tests,)h |
| (the)g(DejaGnu)h(distribution)g(itself)f(does)g(not)596 |
| 3361 y(include)e(any)h(testsuites;)f(these)h(ar)o(e)e(available)g |
| (separately)-9 b(.)25 b(T)-8 b(estsuites)28 b(for)e(the)h(GNU)f(devel-) |
| 596 3452 y(opment)21 b(tools)h(ar)o(e)d(included)i(in)g(those)g(r)o |
| (eleases.)e(After)h(con\002guring)i(the)f(top-level)f(DejaGnu)596 |
| 3544 y(dir)o(ectory)-9 b(,)29 b(unpack)i(and)f(con\002gur)o(e)h(the)g |
| (test)g(dir)o(ectories)f(for)h(the)g(tools)h(you)g(want)f(to)g(test;) |
| 596 3635 y(then,)c(in)h(each)f(test)g(dir)o(ectory)-9 |
| b(,)26 b(r)o(un)i Fj(make)f(check)g Fl(to)g(build)h(auxiliary)e(pr)o |
| (ograms)h(r)o(equir)o(ed)f(by)596 3726 y(some)21 b(of)g(the)g(tests,)f |
| (and)h(r)o(un)g(the)g(test)g(suites.)596 4034 y Fn(Installing)26 |
| b(DejaGn)o(u)596 4171 y Fl(T)-8 b(o)23 b(install)h(DejaGnu)g(in)g(your) |
| f(\002lesystem)h(\(either)f(in)h Ff(/usr/local)p Fl(,)d(or)j(as)e |
| (speci\002ed)h(by)h(your)596 4263 y Fj(--pr)o(e\002x)19 |
| b Fl(option)i(to)h Fj(con\002gur)o(e)p Fl(\),)d(execute.)954 |
| 4428 y Ff(eg$)44 b(make)h(install)596 4684 y Fj(make)20 |
| b(install)p Fl(does)h(thes)g(things)h(for)e(DejaGnu:)p |
| Black 596 4900 a Fg(\225)p Black 43 w Fl(Look)26 b(in)f(the)h(path)f |
| (speci\002ed)g(for)g(executables)g($exec_pr)o(e\002x\))d(for)j(dir)o |
| (ectories)g(called)f Ff(lib)679 4992 y Fl(and)c Ff(bin)p |
| Fl(.)g(If)g(these)h(dir)o(ectories)f(do)h(not)g(exist,)g |
| Fj(make)f(install)h Fl(cr)o(eates)e(them.)p Black 596 |
| 5125 a Fg(\225)p Black 43 w Fl(Cr)o(eate)24 b(another)j(dir)o(ectory)e |
| (in)i(the)g Ff(share)e Fl(dir)o(ectory)-9 b(,)25 b(called)h |
| Ff(dejagnu)p Fl(,)f(and)h(copy)h(all)f(the)679 5216 y(library)20 |
| b(\002les)h(into)h(it.)p Black 596 5349 a Fg(\225)p Black |
| 43 w Fl(Cr)o(eate)c(a)i(dir)o(ectory)g(in)g(the)h Ff(dejagnu/share)d |
| Fl(dir)o(ectory)-9 b(,)19 b(called)h Ff(config)p Fl(,)f(and)h(copy)h |
| (all)f(the)679 5440 y(con\002guration)h(\002les)h(into)f(it.)p |
| Black 3601 5585 a Fj(43)p Black eop |
| %%Page: 44 50 |
| 44 49 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black Black 596 89 a Fg(\225)p |
| Black 43 w Fl(Copy)h(the)f Fj(runtest)i Fl(shell)f(script)g(into)g |
| Ff($exec_prefix/bin)p Fl(.)p Black 596 222 a Fg(\225)p |
| Black 43 w Fl(Copy)30 b Ff(runtest.exp)f Fl(into)i Ff |
| ($exec_prefix/lib/dejagnu)p Fl(.)c(This)k(is)g(the)f(main)h(T)-9 |
| b(cl)30 b(code)679 313 y(implementing)22 b(DejaGnu.)197 |
| 714 y Fi(Builtin)28 b(Pr)n(ocedures)596 856 y Fl(DejaGnu)21 |
| b(pr)o(ovides)f(these)h(T)-9 b(cl)20 b(pr)o(ocedur)o(es.)596 |
| 1108 y Fn(Core)k(Internal)h(Pr)n(ocedures)596 1344 y |
| Fm(Mail_\002le)e(Pr)n(ocedure)596 1551 y Fb(mail_file)p |
| Ff(\()p Fe(file)47 b(to)d(subject)p Ff(\);)p Black Black |
| 596 2282 a Fm(Open_logs)22 b(Pr)n(ocedure)596 2530 y |
| Fb(open_logs)p Ff(\(\);)596 2962 y Fm(Close_logs)h(Pr)n(ocedure)596 |
| 3210 y Fb(close_logs)p Ff(\(\);)596 3642 y Fm(Isb)n(uild)g(Pr)n |
| (ocedure)596 3775 y Fl(T)-8 b(ests)16 b(for)g(a)f(particular)g(build)h |
| (host)h(envir)o(onment.)f(If)g(the)g(curr)o(ently)f(con\002gur)o(ed)h |
| (host)h(matches)596 3866 y(the)j(ar)o(gument)f(string,)i(the)f(r)o |
| (esult)f(is)i Fj(1)p Fl(;)e(otherwise)i(the)f(r)o(esult)f(is)i |
| Fj(0)p Fl(.)e Fj(host)g Fl(must)i(be)f(a)f(full)h(thr)o(ee-)596 |
| 3957 y(part)g(con\002gur)o(e)i(host)g(name;)g(in)g(particular)-6 |
| b(,)20 b(you)i(may)f(not)i(use)e(the)h(shorter)g(nicknames)g(sup-)596 |
| 4048 y(ported)17 b(by)i(con\002gur)o(e)f(\(but)g(you)h(can)f(use)g |
| (wildcar)o(d)f(characters,)g(using)i(shell)g(syntax,)f(to)h(spec-)596 |
| 4140 y(ify)i(sets)g(of)h(names\).)e(If)h(it)h(is)g(passed)e(a)h(NULL)f |
| (string,)i(then)g(it)g(r)o(eturns)e(the)i(name)f(of)g(the)h(build)596 |
| 4231 y(canonical)e(con\002guration.)596 4438 y Fb(isbuild)p |
| Ff(\()p Fe(pattern)p Ff(\);)197 4828 y Fa(pattern)p Black |
| Black Black 197 5585 a Fj(44)p Black eop |
| %%Page: 45 51 |
| 45 50 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Is_remote)j(Pr)n(ocedure)596 |
| 337 y Fb(is_remote)p Ff(\()p Fe(board)s Ff(\);)p Black |
| Black 596 1068 a Fm(is3wa)n(y)g(Pr)n(ocedure)596 1201 |
| y Fl(T)-8 b(ests)18 b(for)g(a)g(canadian)f(cr)o(oss.)h(This)h(is)f |
| (when)h(the)f(tests)h(will)g(be)f(r)o(un)h(on)f(a)g(r)o(emotly)g |
| (hosted)h(cr)o(oss)596 1292 y(compiler)-6 b(.)20 b(If)h(it)g(is)g(a)f |
| (canadian)g(cr)o(oss,)g(then)h(the)g(r)o(esult)f(is)i |
| Fj(1)p Fl(;)e(otherwise)h(the)g(r)o(esult)f(is)h Fj(0)p |
| Fl(.)596 1499 y Fb(is3way)p Ff(\(\);)596 1931 y Fm(Ishost)h(Pr)n |
| (ocedure)596 2063 y Fl(T)-8 b(ests)23 b(for)f(a)g(particular)g(host)h |
| (envir)o(onment.)g(If)f(the)h(curr)o(ently)f(con\002gur)o(ed)h(host)g |
| (matches)g(the)596 2155 y(ar)o(gument)18 b(string,)h(the)h(r)o(esult)e |
| (is)h Fj(1)p Fl(;)g(otherwise)g(the)h(r)o(esult)e(is)h |
| Fj(0)p Fl(.)g Fj(host)f Fl(must)i(be)e(a)h(full)g(thr)o(ee-part)596 |
| 2246 y(con\002gur)o(e)e(host)i(name;)f(in)g(particular)-6 |
| b(,)16 b(you)j(may)e(not)i(use)f(the)g(shorter)g(nicknames)g(supported) |
| 596 2337 y(by)j(con\002gur)o(e)g(\(but)g(you)h(can)f(use)g(wildcar)o(d) |
| f(characters,)f(using)j(shell)g(syntax,)f(to)h(specify)f(sets)596 |
| 2429 y(of)f(names\).)596 2635 y Fb(ishost)p Ff(\()p Fe(pattern)p |
| Ff(\);)p Black Black 596 3366 a Fm(Istar)o(g)q(et)i(Pr)n(ocedure)596 |
| 3499 y Fl(T)-8 b(ests)25 b(for)f(a)h(particular)e(tar)o(get)h(envir)o |
| (onment.)h(If)f(the)h(curr)o(ently)g(con\002gur)o(ed)f(tar)o(get)g |
| (matches)596 3590 y(the)k(ar)o(gument)g(string,)g(the)h(r)o(esult)e(is) |
| i Fj(1)f Fl(;)f(otherwise)i(the)g(r)o(esult)e(is)i Fj(0)p |
| Fl(.)e(tar)o(get)h(must)g(be)g(a)g(full)596 3681 y(thr)o(ee-part)i |
| (con\002gur)o(e)i(tar)o(get)e(name;)i(in)g(particular)-6 |
| b(,)31 b(you)h(may)g(not)h(use)f(the)g(shorter)g(nick-)596 |
| 3773 y(names)19 b(supported)g(by)g(con\002gur)o(e)g(\(but)g(you)h(can)f |
| (use)g(wildcar)o(d)f(characters,)g(using)i(shell)g(syn-)596 |
| 3864 y(tax,)j(to)i(specify)f(sets)g(of)h(names\).)f(If)g(it)g(is)h |
| (passed)f(a)g Fj(NULL)f Fl(string,)i(then)g(it)g(r)o(eturns)f(the)g |
| (name)596 3955 y(of)c(the)h(build)g(canonical)g(con\002guration.)596 |
| 4162 y Fb(istarget)p Ff(\()p Fe(args)p Ff(\);)p Black |
| Black 596 4893 a Fm(Isnative)i(Pr)n(ocedure)596 5026 |
| y Fl(T)-8 b(ests)25 b(whether)h(the)f(curr)o(ent)g(con\002guration)h |
| (has)g(the)f(same)g(host)h(and)f(tar)o(get.)f(When)i(it)f(r)o(uns)596 |
| 5117 y(in)c(a)f(native)g(con\002guration)i(this)g(pr)o(ocedur)o(e)d(r)o |
| (eturns)h(a)g Fj(1)p Fl(;)g(otherwise)i(it)f(r)o(eturns)f(a)g |
| Fj(0)p Fl(.)596 5324 y Fb(isnative)p Ff(\(\);)p Black |
| 3601 5585 a Fj(45)p Black eop |
| %%Page: 46 52 |
| 46 51 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 346 a Fm(Unkno)o(wn)h(Pr)n(ocedure)596 |
| 595 y Fb(unknown)p Ff(\()p Fe(args)p Ff(\);)197 985 y |
| Fa(args)p Black Black 596 1417 a Fm(Clone_output)g(Pr)n(ocedure)596 |
| 1665 y Fb(clone_output)p Ff(\()p Fe(message)p Ff(\);)197 |
| 2055 y Fa(message)p Black Black 596 2487 a Fm(Reset_v)n(ar)o(s)j(Pr)n |
| (ocedure)596 2735 y Fb(reset_vars)p Ff(\(\);)596 3167 |
| y Fm(Log_and_e)o(xit)e(Pr)n(ocedure)596 3415 y Fb(log_and_exit)p |
| Ff(\(\);)596 3847 y Fm(Log_summar)q(y)g(Pr)n(ocedure)596 |
| 4095 y Fb(log_summary)p Ff(\()p Fe(args)p Ff(\);)197 |
| 4485 y Fa(args)p Black Black 596 4917 a Fm(Clean)o(up)g(Pr)n(ocedure) |
| 596 5165 y Fb(cleanup)p Ff(\(\);)p Black 197 5585 a Fj(46)p |
| Black eop |
| %%Page: 47 53 |
| 47 52 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Setup_xfail)j(Pr)n(ocedure)596 |
| 222 y Fl(Declar)o(es)30 b(that)j(the)f(test)g(is)g(expected)f(to)i |
| (fail)e(on)i(a)f(particular)f(set)h(of)g(con\002gurations.)h(The)596 |
| 313 y(con\002g)22 b(ar)o(gument)g(must)g(be)g(a)f(list)h(of)g(full)g |
| (thr)o(ee-part)e(con\002gur)o(e)i(tar)o(get)f(name;)g(in)i(particular) |
| -6 b(,)596 405 y(you)21 b(may)g(not)g(use)g(the)g(shorter)g(nicknames)g |
| (supported)f(by)h(con\002gur)o(e)g(\(but)f(you)i(can)e(use)h(the)596 |
| 496 y(common)27 b(shell)h(wildcar)o(d)d(characters)g(to)i(specify)f |
| (sets)h(of)f(names\).)g(The)g Fj(bugid)h Fl(ar)o(gument)f(is)596 |
| 587 y(optional,)f(and)g(used)g(only)i(in)e(the)h(logging)h(\002le)e |
| (output;)h(use)f(it)h(as)f(a)f(link)j(to)e(a)g(bug-tracking)596 |
| 679 y(system)c(such)g(as)g(GNA)-6 b(TS.)596 811 y(Once)30 |
| b(you)g(use)g Ff(setup_xfail)p Fl(,)d(the)j Ff(fail)g |
| Fl(and)f Ff(pass)g Fl(pr)o(ocedur)o(es)f(pr)o(oduce)h(the)h(messages) |
| 596 903 y Fj(XF)-9 b(AIL)28 b Fl(and)h Fj(XP)-11 b(ASS)30 |
| b Fl(r)o(espectively)-9 b(,)28 b(allowing)i(you)g(to)g(distinguish)h |
| (expected)d(failur)o(es)g(\(and)596 994 y(unexpected)19 |
| b(success!\))i(fr)o(om)f(other)h(test)g(outcomes.)p 944 |
| 1105 2383 5 v 944 1821 5 716 v 1937 1244 a Fi(W)l(arning)973 |
| 1368 y Fc(W)m(ar)r(ning)32 b(y)o(ou)j(m)o(ust)g(clear)f(the)g(e)n |
| (xpected)f(f)n(ailure)g(after)g(using)h(setup_xf)n(ail)973 |
| 1450 y(in)d(a)f(test)h(case)o(.)f(An)o(y)h(call)f(to)h |
| Fb(pass)42 b Fc(or)30 b Fb(fail)p Fc(l)i(clears)f(the)f(e)n(xpected)f |
| (f)n(ailure)973 1532 y(implicitly;)f(if)i(the)e(test)i(has)f(some)h |
| (other)e(outcome)o(,)g(e)o(.g.)h(an)g(error)l(,)g(y)o(ou)f(can)973 |
| 1615 y(call)20 b Fb(clear_xfail)k Fc(to)c(clear)g(the)f(e)n(xpected)g |
| (f)n(ailure)f(e)n(xplicitly)-7 b(.)17 b(Otherwise)o(,)i(the)973 |
| 1697 y(e)n(xpected-f)n(ailure)d(declar)o(ation)i(applies)g(to)j(whate)n |
| (v)n(er)e(test)h(r)q(uns)g(ne)n(xt,)g(leading)973 1779 |
| y(to)g(sur)r(pr)q(ising)f(results)o(.)p 3323 1821 V 944 |
| 1825 2383 5 v 596 2080 a Fb(setup_xfail)p Ff(\()p Fe(config)51 |
| b(bugid)s Ff(\);)197 2470 y Fa(config)p Black Black 762 |
| 2603 a Fl(The)20 b(con\002g)i(triplet)f(to)g(trigger)f(whether)h(this)h |
| (is)f(an)g(unexpected)e(or)i(expect)f(failur)o(e.)197 |
| 2777 y Fa(bugid)p Black Black 762 2910 a Fl(The)g(optional)i(bugid,)e |
| (used)h(to)g(tie)g(it)g(this)g(test)g(case)f(to)h(a)g(bug)f(tracking)h |
| (system.)596 3209 y Fm(Recor)n(d_test)i(Pr)n(ocedure)596 |
| 3457 y Fb(record_test)p Ff(\()p Fe(type)47 b(message)d(args)p |
| Ff(\);)197 3848 y Fa(type)p Black Black 197 4155 a(message)p |
| Black Black 197 4462 a(args)p Black Black 596 4894 a |
| Fm(P)n(ass)23 b(Pr)n(ocedure)596 5026 y Fl(Declar)o(es)d(a)i(test)g(to) |
| g(have)g(passed.)f Ff(pass)g Fl(writes)i(in)f(the)g(log)h(\002les)f(a)g |
| (message)g(beginning)h(with)596 5118 y Fj(P)-11 b(ASS)21 |
| b Fl(\(or)f Fj(XP)-11 b(ASS)p Fl(,)21 b(if)f(failur)o(e)g(was)g |
| (expected\),)f(appending)i(the)g(ar)o(gument)f Fa(string)5 |
| b Fl(.)596 5324 y Fb(pass)p Ff(\()p Fe(string)t Ff(\);)p |
| Black 3601 5585 a Fj(47)p Black eop |
| %%Page: 48 54 |
| 48 53 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 305 a Fa(string)p Black |
| Black 762 438 a Fl(The)g(string)i(to)f(use)g(for)f(this)i(P)-8 |
| b(ASS)20 b(message.)596 737 y Fm(F)n(ail)j(Pr)n(ocedure)596 |
| 869 y Fl(Declar)o(es)g(a)i(test)g(to)g(have)g(failed.)e |
| Ff(fail)i Fl(writes)g(in)g(the)h(log)f(\002les)h(a)e(message)h |
| (beginning)h(with)596 961 y Fj(F)-9 b(AIL)20 b Fl(\(or)g |
| Fj(XF)-9 b(AIL)p Fl(,)21 b(if)f(failur)o(e)g(was)g(expected\),)f |
| (appending)i(the)g(ar)o(gument)f Fa(string)5 b Fl(.)596 |
| 1168 y Fb(fail)p Ff(\()p Fe(string)t Ff(\);)197 1558 |
| y Fa(string)p Black Black 762 1691 a Fl(The)20 b(string)i(to)f(use)g |
| (for)f(this)i(F)-6 b(AIL)20 b(message.)596 1989 y Fm(Xpass)j(Pr)n |
| (ocedure)596 2122 y Fl(Declar)o(es)k(a)h(test)h(to)g(have)g |
| (unexpectably)f(passed,)f(when)j(it)f(was)f(expected)g(to)h(be)f(a)h |
| (failur)o(e.)596 2214 y Ff(xpass)e Fl(writes)h(in)g(the)g(log)h |
| (\002les)f(a)g(message)f(beginning)j(with)e Fj(XP)-11 |
| b(ASS)29 b Fl(\(or)e Fj(XF)-9 b(AIL)p Fl(,)28 b(if)f(failur)o(e)596 |
| 2305 y(was)20 b(expected\),)f(appending)i(the)f(ar)o(gument)h |
| Fa(string)5 b Fl(.)596 2512 y Fb(xpass)p Ff(\()p Fe(string)t |
| Ff(\);)197 2902 y Fa(string)p Black Black 762 3035 a |
| Fl(The)20 b(string)i(to)f(use)g(for)f(this)i(output)f(state.)596 |
| 3334 y Fm(Xfail)i(Pr)n(ocedure)596 3466 y Fl(Declar)o(es)32 |
| b(a)i(test)g(to)g(have)g(expectably)f(failed.)f Ff(xfail)i |
| Fl(writes)g(in)g(the)h(log)f(\002les)h(a)e(message)596 |
| 3558 y(beginning)27 b(with)f Fj(XF)-9 b(AIL)26 b Fl(\(or)g |
| Fj(P)-11 b(ASS)p Fl(,)26 b(if)g(success)g(was)g(expected\),)e |
| (appending)h(the)h(ar)o(gument)596 3649 y Fa(string)5 |
| b Fl(.)596 3856 y Fb(xpass)p Ff(\()p Fe(string)t Ff(\);)197 |
| 4246 y Fa(string)p Black Black 762 4379 a Fl(The)20 b(string)i(to)f |
| (use)g(for)f(this)i(output)f(state.)596 4678 y Fm |
| (Set_warning_threshold)h(Pr)n(ocedure)596 4811 y Fl(Sets)17 |
| b(the)h(value)f(of)h(warning_thr)o(eshold.)g(A)g(value)f(of)h |
| Fj(0)f Fl(disables)h(it:)g(calls)g(to)g Ff(warning)f |
| Fl(will)h(not)596 4902 y(turn)j(a)f Fj(P)-11 b(ASS)21 |
| b Fl(or)g Fj(F)-9 b(AIL)20 b Fl(into)i(an)e Fj(UNRESOL)-6 |
| b(VED)p Fl(.)596 5109 y Fb(set_warning_threshold)q Ff(\()p |
| Fe(threshold)s Ff(\);)p Black 197 5585 a Fj(48)p Black |
| eop |
| %%Page: 49 55 |
| 49 54 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 197 89 a Fa(threshold)p Black |
| Black 762 222 a Fl(This)h(is)g(the)g(value)f(of)h(the)g(new)g(warning)g |
| (thr)o(eshold.)596 521 y Fm(Get_warning_threshold)g(Pr)n(ocedure)596 |
| 654 y Fl(Returns)47 b(the)f(curr)o(ent)g(value)f(of)i({warning_thr)o |
| (eshold.)f(The)g(default)f(value)h(is)h(3.)e(This)596 |
| 745 y(value)i(contr)o(ols)h(how)h(many)f Ff(warning)e |
| Fl(pr)o(ocedur)o(es)g(can)h(be)h(called)f(befor)o(e)f(becoming)596 |
| 836 y Fj(UNRESOL)-6 b(VED)p Fl(.)596 1043 y Fb(get_warning_threshold)q |
| Ff(\(\);)596 1475 y Fm(W)m(arning)22 b(Pr)n(ocedure)596 |
| 1608 y Fl(Declar)o(es)j(detection)i(of)g(a)f(minor)i(err)o(or)e(in)h |
| (the)g(test)g(case)f(itself.)g Ff(warning)g Fl(writes)h(in)g(the)g(log) |
| 596 1699 y(\002les)i(a)f(message)h(beginning)h(with)f |
| Fj(W)-8 b(ARNING)p Fl(,)29 b(appending)f(the)h(ar)o(gument)f |
| Fa(string)5 b Fl(.)27 b(Use)596 1790 y Ff(warning)19 |
| b Fl(rather)h(than)i Ff(perror)e Fl(for)g(cases)h(\(such)g(as)g |
| (communication)h(failur)o(e)e(to)h(be)g(followed)596 |
| 1882 y(by)j(a)h(r)o(etry\))e(wher)o(e)i(the)g(test)g(case)f(can)g(r)o |
| (ecover)g(fr)o(om)g(the)h(err)o(or)-6 b(.)24 b(If)g(the)h(optional)h |
| Fa(number)h Fl(is)596 1973 y(supplied,)20 b(then)h(this)h(is)f(used)f |
| (to)h(set)g(the)g(internal)g(count)g(of)g(warnings)h(to)f(that)f |
| (value.)596 2106 y(As)31 b(a)h(side)g(ef)o(fect,)e(warning_thr)o |
| (eshold)j(or)f(mor)o(e)g(calls)g(to)g(warning)h(in)g(a)e(single)i(test) |
| g(case)596 2197 y(also)20 b(changes)g(the)h(ef)o(fect)d(of)i(the)g |
| (next)h Ff(pass)e Fl(or)h Ff(fail)g Fl(command:)g(the)h(test)f(outcome) |
| h(becomes)596 2288 y Fj(UNRESOL)-6 b(VED)19 b Fl(since)j(an)g |
| (automatic)f Fj(P)-11 b(ASS)22 b Fl(or)g Fj(F)-9 b(AIL)21 |
| b Fl(may)h(not)g(be)f(tr)o(ustworthy)i(after)e(many)596 |
| 2380 y(warnings.)i(If)g(the)g(optional)h(numeric)f(value)g(is)h |
| Fj(0)p Fl(,)e(then)i(ther)o(e)e(ar)o(e)g(no)h(further)g(side)g(ef)o |
| (fects)f(to)596 2471 y(calling)d(this)h(function,)f(and)g(the)g |
| (following)h(test)g(outcome)f(doesn't)h(become)f Fj(UNRESOL)-6 |
| b(VED)p Fl(.)596 2562 y(This)21 b(can)f(be)h(used)f(for)h(err)o(ors)f |
| (with)h(no)h(known)g(side)e(ef)o(fects.)596 2769 y Fb(warning)p |
| Ff(\()p Fe(string)50 b(number)c Ff(\);)197 3159 y Fa(string)p |
| Black Black 197 3466 a(number)p Black Black 762 3599 |
| a Fl(The)23 b(optional)h(number)f(to)h(set)f(the)g(err)o(or)g(counter) |
| -6 b(.)23 b(Thius)g(is)h(only)g(used)f(to)h(fake)e(out)i(the)762 |
| 3691 y(counter)18 b(when)i(using)f(the)g Ff(xfail)f Fl(pr)o(ocedur)o(e) |
| e(to)j(contr)o(ol)g(when)g(it)g(\003ips)g(the)g(output)g(over)762 |
| 3782 y(to)i Fj(UNRESOL)-6 b(VED)19 b Fl(state.)596 4081 |
| y Fm(P)n(err)n(or)24 b(Pr)n(ocedure)596 4214 y Fl(Declar)o(es)e(a)h |
| (sever)o(e)f(err)o(or)g(in)i(the)f(testing)h(framework)f(itself.)g |
| Ff(perror)g Fl(writes)g(in)h(the)g(log)g(\002les)596 |
| 4305 y(a)c(message)g(beginning)i(with)g Fj(ERROR)p Fl(,)f(appending)f |
| (the)h(ar)o(gument)g Fa(string)5 b Fl(.)596 4438 y(As)27 |
| b(a)h(side)g(ef)o(fect,)e(perr)o(or)g(also)j(changes)f(the)g(ef)o(fect) |
| e(of)i(the)g(next)g Ff(pass)f Fl(or)i Ff(fail)e Fl(command:)596 |
| 4529 y(the)g(test)g(outcome)h(becomes)f Fj(UNRESOL)-6 |
| b(VED)p Fl(,)25 b(since)j(an)f(automatic)g Fj(P)-11 b(ASS)27 |
| b Fl(or)h Fj(F)-9 b(AIL)27 b Fl(cannot)596 4620 y(be)21 |
| b(tr)o(usted)h(after)e(a)h(sever)o(e)g(err)o(or)g(in)h(the)g(test)g |
| (framework.)f(If)g(the)h(optional)g(numeric)g(value)g(is)596 |
| 4712 y Fj(0)p Fl(,)d(then)i(ther)o(e)f(ar)o(e)g(no)h(further)f(side)g |
| (ef)o(fects)f(to)i(calling)g(this)h(function,)f(and)f(the)h(following)h |
| (test)596 4803 y(outcome)f(doesn't)g(become)g Fj(UNRESOL)-6 |
| b(VED)p Fl(.)19 b(This)i(can)f(be)h(used)f(for)h(err)o(ors)f(with)h(no) |
| h(known)596 4894 y(side)e(ef)o(fects.)596 5101 y Fb(perror)p |
| Ff(\()p Fe(string)50 b(number)c Ff(\);)p Black 3601 5585 |
| a Fj(49)p Black eop |
| %%Page: 50 56 |
| 50 55 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 89 a Fa(string)p Black |
| Black 197 396 a(number)p Black Black 762 529 a Fl(The)j(optional)h |
| (number)f(to)h(set)f(the)g(err)o(or)g(counter)-6 b(.)23 |
| b(Thius)g(is)h(only)g(used)f(to)h(fake)e(out)i(the)762 |
| 620 y(counter)18 b(when)i(using)f(the)g Ff(xfail)f Fl(pr)o(ocedur)o(e)e |
| (to)j(contr)o(ol)g(when)g(it)g(\003ips)g(the)g(output)g(over)762 |
| 712 y(to)i Fj(UNRESOL)-6 b(VED)19 b Fl(state.)596 1011 |
| y Fm(Note)j(Pr)n(ocedure)596 1143 y Fl(Appends)f(an)h(informational)g |
| (message)g(to)h(the)f(log)g(\002le.)g Ff(note)g Fl(writes)g(in)g(the)h |
| (log)f(\002les)h(a)e(mes-)596 1235 y(sage)k(beginning)i(with)g |
| Fj(NOTE)p Fl(,)e(appending)g(the)h(ar)o(gument)g Fa(string)5 |
| b Fl(.)24 b(Use)i Ff(note)f Fl(sparingly)-9 b(.)596 1326 |
| y(The)23 b Ff(verbose)g Fl(should)h(be)g(used)f(for)g(most)i(such)f |
| (messages,)g(but)f(in)i(cases)e(wher)o(e)g(a)g(message)596 |
| 1417 y(is)e(needed)e(in)j(the)f(log)g(\002le)g(r)o(egar)o(dless)e(of)h |
| (the)h(verbosity)g(level)g(use)g Ff(note)p Fl(.)596 1624 |
| y Fb(note)p Ff(\()p Fe(string)t Ff(\);)197 2014 y Fa(string)p |
| Black Black 762 2147 a Fl(The)f(string)i(to)f(use)g(for)f(this)i(note.) |
| 596 2446 y Fm(Untested)g(Pr)n(ocedure)596 2579 y Fl(Declar)o(es)31 |
| b(a)h(test)h(was)g(not)h(r)o(un.)f Ff(untested)e Fl(writes)i(in)g(the)g |
| (log)h(\002le)f(a)f(message)h(beginning)596 2670 y(with)26 |
| b Fj(UNTESTED)p Fl(,)e(appending)h(the)h(ar)o(gument)g |
| Fj(string)p Fl(.)f(For)h(example,)f(you)h(might)h(use)f(this)596 |
| 2762 y(in)f(a)g(dummy)h(test)f(whose)h(only)h(r)o(ole)d(is)i(to)g(r)o |
| (ecor)o(d)d(that)i(a)g(test)h(does)f(not)h(yet)f(exist)g(for)g(some)596 |
| 2853 y(featur)o(e.)596 3060 y Fb(untested)p Ff(\()p Fe(string)t |
| Ff(\);)197 3450 y Fa(string)p Black Black 762 3583 a |
| Fl(The)20 b(string)i(to)f(use)g(for)f(this)i(output)f(state.)596 |
| 3882 y Fm(Unresolved)i(Pr)n(ocedure)596 4014 y Fl(Declar)o(es)j(a)g |
| (test)i(to)f(have)g(an)g(unr)o(esolved)g(outcome.)g Ff(unresolved)f |
| Fl(writes)h(in)h(the)f(log)h(\002le)f(a)596 4106 y(message)f(beginning) |
| i(with)f Fj(UNRESOL)-6 b(VED)p Fl(,)25 b(appending)h(the)h(ar)o(gument) |
| f Fj(string)p Fl(.)g(This)h(usu-)596 4197 y(ally)h(means)h(the)g(test)g |
| (did)g(not)h(execute)e(as)g(expected,)g(and)g(a)h(human)g(being)g(must) |
| h(go)f(over)596 4288 y(r)o(esults)20 b(to)h(determine)g(if)f(it)h |
| (passed)f(or)h(failed)f(\(and)g(to)h(impr)o(ove)f(the)h(test)g(case\).) |
| 596 4495 y Fb(unresolved)p Ff(\()p Fe(string)t Ff(\);)197 |
| 4885 y Fa(string)p Black Black 762 5018 a Fl(The)f(string)i(to)f(use)g |
| (for)f(this)i(output)f(state.)p Black 197 5585 a Fj(50)p |
| Black eop |
| %%Page: 51 57 |
| 51 56 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Unsuppor)r(ted)h(Pr)n(ocedure) |
| 596 222 y Fl(Declar)o(es)26 b(that)i(a)f(test)g(case)g(depends)g(on)i |
| (some)f(facility)f(that)h(does)f(not)i(exist)e(in)h(the)g(testing)596 |
| 313 y(envir)o(onment.)22 b Ff(unsupported)f Fl(writes)h(in)h(the)f(log) |
| h(\002le)g(a)f(message)g(beginning)i(with)f Fj(UNSUP-)596 |
| 405 y(POR)-5 b(TED)p Fl(,)19 b(appending)i(the)g(ar)o(gument)f(string.) |
| 596 611 y Fb(unsupported)p Ff(\()p Fe(string)t Ff(\);)197 |
| 1001 y Fa(string)p Black Black 762 1134 a Fl(The)g(string)i(to)f(use)g |
| (for)f(this)i(output)f(state.)596 1433 y Fm(Init_testcounts)g(Pr)n |
| (ocedure)596 1681 y Fb(init_testcounts)p Ff(\(\);)596 |
| 2113 y Fm(Incr_count)h(Pr)n(ocedure)596 2361 y Fb(incr_count)p |
| Ff(\()p Fe(name)47 b(args)p Ff(\);)197 2752 y Fa(name)p |
| Black Black 197 3059 a(args)p Black Black 596 3490 a |
| Fm(transf)n(orm)22 b(Pr)n(ocedure)596 3623 y Fl(Generates)28 |
| b(a)g(string)h(for)g(the)g(name)g(of)f(a)h(tool)g(as)g(it)g(was)f |
| (con\002gur)o(ed)h(and)f(installed,)h(given)596 3715 |
| y(its)i(native)g(name)g(\(as)g(the)g(ar)o(gument)g Fa(toolname)p |
| Fl(\).)e(This)i(makes)g(the)h(assumption)g(that)f(all)596 |
| 3806 y(tools)20 b(ar)o(e)f(installed)g(using)i(the)f(same)f(naming)i |
| (conventions:)g(For)f(example,)f(for)g(a)g(cr)o(oss)h(com-)596 |
| 3897 y(piler)e(supporting)i(the)f Fj(m68k-vxworks)e Fl |
| (con\002guration,)j(the)f(r)o(esult)f(of)h(transform)g |
| Fk(gcc)g Fl(is)h Fk(m68k-)596 3989 y(vxworks-gcc)p Fl(.)596 |
| 4195 y Fb(transform)p Ff(\()p Fe(toolname)p Ff(\);)197 |
| 4586 y Fa(toolname)p Black Black 762 4718 a Fl(The)g(name)h(of)g(the)g |
| (cr)o(oss-development)f(pr)o(ogram)g(to)h(transform.)596 |
| 5017 y Fm(Chec)n(k_conditional_xfail)h(Pr)n(ocedure)596 |
| 5150 y Fl(This)53 b(pr)o(ocedur)o(e)e(adds)h(a)g(conditional)i(xfail,)e |
| (based)g(on)i(compiler)f(options)h(used)f(to)596 5241 |
| y(cr)o(eate)30 b(a)i(test)h(case)f(executable.)f(If)h(an)g(include)h |
| (options)h(is)f(found)f(in)h(the)g(compiler)g(\003ags,)596 |
| 5333 y(and)39 b(it's)h(the)h(right)f(ar)o(chitectur)o(e,)e(it'll)i |
| (trigger)g(an)g Fj(XF)-9 b(AIL)p Fl(.)39 b(Otherwise)i(it'll)f(pr)o |
| (oduce)f(an)596 5424 y(or)o(dinary)25 b Fj(F)-9 b(AIL)p |
| Fl(.)25 b(Y)-8 b(ou)27 b(can)f(also)g(specify)f(\003ags)h(to)h |
| (exclude.)d(This)j(makes)f(a)f(r)o(esult)h(be)f(a)g Fj(F)-9 |
| b(AIL)p Fl(,)p Black 3601 5585 a Fj(51)p Black eop |
| %%Page: 52 58 |
| 52 57 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fl(even)40 b(if)h(the)h(included)f |
| (options)h(ar)o(e)e(found.)h(T)-8 b(o)41 b(set)h(the)f(conditional,)h |
| (set)f(the)g(variable)596 180 y(compiler_conditional_xfail_data)18 |
| b(to)j(the)g(\002elds)596 346 y Ff("[message)43 b(string])g([targets)h |
| (list])g([includes)730 428 y(list])g([excludes)f(list]")596 |
| 602 y Fl(\(descriptions)30 b(below\).)h(This)g(is)g(the)g(checked)f(at) |
| h(pass/fail)f(decision)h(time,)g(so)g(ther)o(e)f(is)h(no)596 |
| 693 y(need)h(to)h(call)f(the)h(pr)o(ocedur)o(e)d(yourself,)j(unless)g |
| (you)g(wish)h(to)f(know)g(if)g(it)g(gets)f(trigger)o(ed.)596 |
| 785 y(After)18 b(a)h(pass/fail,)g(the)h(variable)f(is)h(r)o(eset,)e(so) |
| i(it)g(doesn't)g(ef)o(fect)e(other)i(tests.)g(It)g(r)o(eturns)f |
| Fj(1)g Fl(if)h(the)596 876 y(conditional)h(is)g(tr)o(ue,)g(or)g |
| Fj(0)f Fl(if)h(the)f(conditional)i(is)f(false.)596 1083 |
| y Fb(check_conditional_xfa)q(il)q Ff(\()p Fe(message)49 |
| b(targets)44 b(includes)f(excludes)p Ff(\);)197 1473 |
| y Fa(message)p Black Black 762 1606 a Fl(This)21 b(is)g(the)g(message)g |
| (to)g(print)g(with)g(the)g(normal)g(test)g(r)o(esult.)197 |
| 1780 y Fa(targets)p Black Black 762 1913 a Fl(This)g(is)g(a)f(string)i |
| (with)f(the)g(list)g(tar)o(gets)f(to)h(activate)f(this)i(conditional)f |
| (on.)197 2087 y Fa(includes)p Black Black 762 2220 a |
| Fl(This)27 b(is)h(a)f(list)h(of)f(sets)g(of)h(options)g(to)g(sear)o(ch) |
| e(for)h(in)h(the)f(compiler)h(options)g(to)g(activate)762 |
| 2312 y(this)23 b(conditional.)g(If)f(the)h(list)g(of)g(sets)g(of)f |
| (options)i(is)f(empty)g(or)g(if)f(any)h(set)f(of)h(the)g(options)762 |
| 2403 y(matches,)g(then)h(this)h(conditional)f(is)g(tr)o(ue.)g(\(It)f |
| (may)h(be)f(useful)h(to)g(specify)f(an)g(empty)h(list)762 |
| 2494 y(of)29 b(include)h(sets)f(if)h(the)f(conditional)i(is)f(always)f |
| (tr)o(ue)h(unless)g(one)g(of)f(the)h(exclude)f(sets)762 |
| 2586 y(matches.\))197 2760 y Fa(excludes)p Black Black |
| 762 2893 a Fl(This)e(is)h(a)f(list)h(of)f(sets)g(of)h(options)g(to)g |
| (sear)o(ch)e(for)h(in)h(the)f(compiler)h(options)g(to)g(activate)762 |
| 2984 y(this)22 b(conditional.)g(If)f(any)h(set)g(of)f(the)h(options)h |
| (matches,)e(\(r)o(egar)o(dless)f(of)h(whether)h(any)g(of)762 |
| 3075 y(the)e(include)h(sets)g(match\))g(then)g(this)g(conditional)h(is) |
| f(de-activated.)596 3291 y Fk(Example)d(7-1.)h(Specifying)g(the)h |
| (conditional)e(xfail)h(data)730 3456 y Ff(set)44 b |
| (compiler_conditional_xfail_data)c({)45 b(\\)954 3539 |
| y("I)g(sure)f(wish)g(I)h(knew)f(why)g(this)g(was)h(hosed")e(\\)1268 |
| 3621 y("sparc*-sun*-*)f(*-pc-*-*")i(\\)1268 3703 y({"-Wall)g(-v")g |
| ("-O3"})g(\\)1268 3785 y({"-O1")g("-Map"})f(\\)1044 3867 |
| y(})596 4124 y Fl(What)19 b(this)i(does)f(is)h(it)f(matches)g(only)h |
| (for)f(these)g(two)h(tar)o(gets)e(if)g("-W)-8 b(all)20 |
| b(-v")g(or)g("-O3")f(is)h(set,)g(but)596 4215 y(neither)k("-O1")g(or)h |
| ("-Map")e(is)i(set.)g(For)g(a)f(set)h(to)g(match,)g(the)g(options)h |
| (speci\002ed)e(ar)o(e)f(sear)o(ched)596 4307 y(for)18 |
| b(independantly)g(of)g(each)g(other)-6 b(,)18 b(so)h(a)f("-W)-8 |
| b(all)18 b(-v")f(matches)i(either)f("-W)-8 b(all)18 b(-v")f(or)i("-v)f |
| (-W)-8 b(all".)596 4398 y(A)27 b(space)g(seperates)h(the)g(options)h |
| (in)g(the)f(string.)g(Glob-style)h(r)o(egular)e(expr)o(essions)h(ar)o |
| (e)f(also)596 4489 y(permitted.)596 4788 y Fm(Clear_xfail)d(Pr)n |
| (ocedure)596 4921 y Fl(Cancel)19 b(an)h(expected)f(failur)o(e)g(\(pr)o |
| (eviously)h(declar)o(ed)e(with)j Fk(setup_xfail)p Fl(\))16 |
| b(for)k(a)g(particular)f(set)596 5012 y(of)j(con\002gurations.)i(The)f |
| Fa(config)j Fl(ar)o(gument)d(is)g(a)f(list)i(of)e(con\002guration)i |
| (tar)o(get)e(names.)h(It)g(is)596 5104 y(only)d(necessary)e(to)i(call)e |
| Fk(clear_xfail)e Fl(if)j(a)g(test)g(case)f(ends)h(without)i(calling)e |
| (either)g Fk(pass)f Fl(or)h Fk(fail)p Fl(,)596 5195 y(after)g(calling)i |
| Fk(setup_xfail)p Fl(.)596 5402 y Fb(clear_xfail)p Ff(\()p |
| Fe(config)t Ff(\);)p Black 197 5585 a Fj(52)p Black eop |
| %%Page: 53 59 |
| 53 58 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 197 305 a Fa(config)p Black |
| Black 762 438 a Fl(The)g(con\002guration)i(triplets)f(to)g(clear)-6 |
| b(.)596 737 y Fm(V)l(erbose)23 b(Pr)n(ocedure)596 869 |
| y Fl(T)-8 b(est)23 b(cases)f(can)g(use)h(this)h(function)f(to)h(issue)f |
| (helpful)g(messages)g(depending)f(on)i(the)f(number)596 |
| 961 y(of)c Ff(--verbose)g Fl(options)i(on)f(the)g(r)o(untest)h(command) |
| f(line.)g(It)g(prints)g(string)h(if)f(the)g(value)f(of)h(the)596 |
| 1052 y(variable)c(verbose)i(is)h(higher)g(than)f(or)h(equal)f(to)h(the) |
| f(optional)h(number)-6 b(.)18 b(The)g(default)g(value)f(for)596 |
| 1143 y(number)24 b(is)h Fj(1)p Fl(.)f(Use)g(the)h(optional)g |
| Ff(-log)f Fl(ar)o(gument)g(to)h(cause)f(string)h(to)g(always)f(be)h |
| (added)e(to)596 1235 y(the)h(log)h(\002le,)f(even)g(if)g(it)h(won't)g |
| (be)f(printed.)g(Use)g(the)g(optional)h Ff(-x)f Fl(ar)o(gument)g(to)g |
| (log)h(the)g(test)596 1326 y(r)o(esults)18 b(into)i(a)e(parsable)f(XML) |
| i(\002le.)f(Use)g(the)h(optional)h Ff(-n)e Fl(ar)o(gument)g(to)h(print) |
| g(string)h(without)596 1417 y(a)g(trailing)h(newline.)g(Use)f(the)h |
| (optional)h Ff(--)e Fl(ar)o(gument)h(if)f(string)i(begins)f(with)g |
| ("-".)596 1624 y Fb(verbose)p Ff(\()p Fe(-log)50 b(-x)f(-n)44 |
| b(-r)j(string)i(number)s Ff(\);)197 2014 y Fa(-x)p Black |
| Black 197 2322 a(-log)p Black Black 197 2629 a(-n)p Black |
| Black 197 2936 a(--)p Black Black 197 3243 a(string)p |
| Black Black 197 3550 a(number)p Black Black 596 3982 |
| a Fm(Load_lib)22 b(Pr)n(ocedure)596 4115 y Fl(Loads)17 |
| b(a)h(DejaGnu)h(library)e(\002le)h(by)h(sear)o(ching)e(a)h(\002xed)g |
| (path)g(built)g(into)h(DejaGnu.)g(If)e(DejaGnu)596 4206 |
| y(has)f(been)h(installed,)g(it)g(looks)h(in)g(a)e(path)h(starting)g |
| (with)h(the)f(installed)g(library)f(dir)o(ectory)-9 b(.)16 |
| b(If)g(you)596 4297 y(ar)o(e)28 b(r)o(unning)j(DejaGnu)f(dir)o(ectly)f |
| (fr)o(om)g(a)h(sour)o(ce)f(dir)o(ectory)-9 b(,)28 b(without)j(\002rst)f |
| (r)o(unning)h Fk(make)596 4389 y(install)p Fl(,)22 b(this)j(path)g |
| (defaults)e(to)i(the)g(curr)o(ent)f(dir)o(ectory)-9 b(.)23 |
| b(In)i(either)g(case,)f(it)h(then)g(looks)h(in)f(the)596 |
| 4480 y(curr)o(ent)20 b(dir)o(ectory)h(for)g(a)g(dir)o(ectory)f(called)h |
| Ff(lib)p Fl(.)g(If)g(ther)o(e)f(ar)o(e)g(duplicate)h(de\002nitions,)h |
| (the)g(last)596 4571 y(one)f(loaded)f(takes)g(pr)o(ecedence)f(over)h |
| (the)h(earlier)f(ones.)596 4778 y Fb(load_lib)p Ff(\()p |
| Fe(filespec)q Ff(\);)197 5168 y Fa(filespec)p Black Black |
| 762 5301 a Fl(The)g(name)h(of)g(the)g(DejaGnu)g(library)f(\002le)h(to)g |
| (load.)p Black 3601 5585 a Fj(53)p Black eop |
| %%Page: 54 60 |
| 54 59 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fn(Pr)n(ocedures)j(For)h(Remote)h |
| (Comm)n(unication)596 226 y Ff(lib/remote.exp)e Fl(de\002nes)j(these)g |
| (functions,)h(for)f(establishing)h(and)e(managing)i(communi-)596 |
| 317 y(cations.)e(Each)g(of)h(these)f(pr)o(ocedur)o(es)f(tries)i(to)g |
| (establish)g(the)f(connection)i(up)f(to)g(thr)o(ee)e(times)596 |
| 409 y(befor)o(e)d(r)o(eturning.)i(W)-8 b(arnings)24 b(\(if)e(r)o |
| (etries)h(will)g(continue\))h(or)f(err)o(ors)f(\(if)h(the)g(attempt)g |
| (is)g(aban-)596 500 y(doned\))i(r)o(eport)h(on)h(communication)h |
| (failur)o(es.)d(The)h(r)o(esult)g(for)g(any)g(of)h(these)f(pr)o(ocedur) |
| o(es)f(is)596 591 y(either)i Fj(-1)p Fl(,)f(when)j(the)e(connection)i |
| (cannot)f(be)f(established,)h(or)f(the)h(spawn)g(ID)g(r)o(eturned)e(by) |
| 596 683 y(the)20 b(Expect)g(command)h Fk(spawn)p Fl(.)596 |
| 816 y(It)30 b(use)h(the)g(value)f(of)h(the)g(connect)g(\002eld)g(in)g |
| (the)g(tar)o(get_info)f(array)f(\(was)i(connectmode)g(as)596 |
| 907 y(the)23 b(type)g(of)g(connection)h(to)g(make.)e(Curr)o(ent)h |
| (supported)g(connection)h(types)f(ar)o(e)f(tip,)h(kermit,)596 |
| 998 y(telnet,)e(rsh,)h(rlogin,)g(and)f(netdata.)g(If)g(the)h |
| Ff(--reboot)e Fl(option)j(was)e(used)h(on)g(the)g(r)o(untest)g(com-)596 |
| 1089 y(mand)e(line,)h(then)g(the)g(tar)o(get)f(is)h(r)o(ebooted)f |
| (befor)o(e)f(the)i(connection)h(is)f(made.)596 1326 y |
| Fm(Call_remote)i(Pr)n(ocedure)596 1574 y Fb(call_remote)p |
| Ff(\()p Fe(type)47 b(proc)e(dest)f(args)p Ff(\);)197 |
| 1965 y Fa(proc)p Black Black 197 2272 a(dest)p Black |
| Black 197 2579 a(args)p Black Black 596 3011 a Fm(Chec)n(k_f)n(or_boar) |
| n(d_status)23 b(Pr)n(ocedure)596 3259 y Fb(check_for_board_statu)q(s)p |
| Ff(\()p Fe(variable)p Ff(\);)197 3649 y Fa(variable)p |
| Black Black 596 4081 a Fm(File_on_b)n(uild)f(Pr)n(ocedure)596 |
| 4329 y Fb(file_on_build)p Ff(\()p Fe(op)49 b(file)44 |
| b(args)p Ff(\);)197 4719 y Fa(op)p Black Black 197 5026 |
| a(file)p Black Black Black 197 5585 a Fj(54)p Black eop |
| %%Page: 55 61 |
| 55 60 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 197 89 a Fa(args)p Black |
| Black 596 521 a Fm(File_on_host)i(Pr)n(ocedure)596 769 |
| y Fb(file_on_host)p Ff(\()p Fe(op)48 b(file)d(args)p |
| Ff(\);)197 1159 y Fa(op)p Black Black 197 1466 a(file)p |
| Black Black 197 1774 a(args)p Black Black 596 2205 a |
| Fm(Local_e)o(x)o(ec)23 b(Pr)n(ocedure)596 2454 y Fb(local_exec)p |
| Ff(\()p Fe(commandline)46 b(inp)f(outp)f(timeout)p Ff(\);)197 |
| 2844 y Fa(inp)p Black Black 197 3151 a(outp)p Black Black |
| 197 3458 a(timeout)p Black Black 596 3890 a Fm(Remote_binar)q(y)22 |
| b(Pr)n(ocedure)596 4138 y Fb(remote_binary)p Ff(\()p |
| Fe(host)p Ff(\);)197 4528 y Fa(host)p Black Black 596 |
| 4960 a Fm(Remote_c)n(lose)h(Pr)n(ocedure)596 5208 y Fb(remote_close)p |
| Ff(\()p Fe(shellid)s Ff(\);)p Black 3601 5585 a Fj(55)p |
| Black eop |
| %%Page: 56 62 |
| 56 61 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 89 a Fa(shellid)p Black |
| Black 762 222 a Fl(This)26 b(is)f(the)h(value)f(r)o(eturned)f(by)h(a)g |
| (call)g(to)h Ff(remote_open)p Fl(.)d(This)j(closes)g(the)g(connection) |
| 762 313 y(to)c(the)g(tar)o(get)e(so)j(r)o(esour)o(ces)d(can)i(be)f |
| (used)h(by)f(others.)h(This)h(parameter)d(can)h(be)h(left)f(of)o(f)g |
| (if)762 405 y(the)f(\002leid)h(\002eld)g(in)g(the)g(tar)o(get_info)f |
| (array)f(is)i(set.)596 703 y Fm(Remote_do)o(wnload)f(Pr)n(ocedure)596 |
| 952 y Fb(remote_download)p Ff(\()p Fe(dest)49 b(file)44 |
| b(args)p Ff(\);)197 1342 y Fa(dest)p Black Black 197 |
| 1649 a(file)p Black Black 197 1956 a(args)p Black Black |
| 596 2388 a Fm(Remote_e)o(x)o(ec)23 b(Pr)n(ocedure)596 |
| 2636 y Fb(remote_exec)p Ff(\()p Fe(hostname)47 b(program)d(args)p |
| Ff(\);)197 3026 y Fa(hostname)p Black Black 197 3334 |
| a(program)p Black Black 197 3641 a(args)p Black Black |
| 596 4072 a Fm(Remote_e)o(xpect)22 b(Pr)n(ocedure)596 |
| 4321 y Fb(remote_expect)p Ff(\()p Fe(board)51 b(timeout)44 |
| b(args)p Ff(\);)197 4711 y Fa(board)p Black Black 197 |
| 5018 a(timeout)p Black Black Black 197 5585 a Fj(56)p |
| Black eop |
| %%Page: 57 63 |
| 57 62 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 197 89 a Fa(args)p Black |
| Black 596 521 a Fm(Remote_\002le)i(Pr)n(ocedure)596 769 |
| y Fb(remote_file)p Ff(\()p Fe(dest)47 b(args)p Ff(\);)197 |
| 1159 y Fa(dest)p Black Black 197 1466 a(args)p Black |
| Black 596 1898 a Fm(Remote_ld)22 b(Pr)n(ocedure)596 2146 |
| y Fb(remote_ld)p Ff(\()p Fe(dest)47 b(prog)t Ff(\);)197 |
| 2537 y Fa(dest)p Black Black 197 2844 a(prog)p Black |
| Black 596 3275 a Fm(Remote_load)22 b(Pr)n(ocedure)596 |
| 3524 y Fb(remote_load)p Ff(\()p Fe(dest)47 b(prog)i(args)p |
| Ff(\);)197 3914 y Fa(dest)p Black Black 197 4221 a(prog)p |
| Black Black 197 4528 a(args)p Black Black 596 4960 a |
| Fm(Remote_open)22 b(Pr)n(ocedure)596 5208 y Fb(remote_open)p |
| Ff(\()p Fe(type)p Ff(\);)p Black 3601 5585 a Fj(57)p |
| Black eop |
| %%Page: 58 64 |
| 58 63 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 89 a Fa(type)p Black |
| Black 762 222 a Fl(This)g(is)h(passed)e Ff(host)g Fl(or)h |
| Ff(target)p Fl(.)f(Host)i(or)f(tar)o(get)f(r)o(efers)g(to)h(whether)g |
| (it)h(is)f(a)g(connection)762 313 y(to)30 b(a)f(r)o(emote)g(tar)o(get,) |
| f(or)i(a)f(r)o(emote)g(host.)h(This)g(opens)g(the)g(connection)h(to)f |
| (the)f(desir)o(ed)762 405 y(tar)o(get)h(or)h(host)i(using)f(the)g |
| (default)e(values)h(in)h(the)g(con\002guration)g(system.)g(It)f(r)o |
| (eturns)762 496 y(that)g(spawn_id)g(of)g(the)h(pr)o(ocess)f(that)g |
| (manages)g(the)h(connection.)g(This)g(value)f(can)g(be)762 |
| 587 y(used)20 b(in)h(Expect)f(or)h Fk(exp_send)d Fl(statements,)j(or)g |
| (passed)f(to)h(other)h(pr)o(ocedur)o(es)d(that)h(need)762 |
| 679 y(the)g(connection)j(pr)o(ocess's)d(id.)h(This)g(also)g(sets)g(the) |
| g(\002leid)g(\002eld)f(in)h(the)g(tar)o(get_info)f(array)-9 |
| b(.)596 977 y Fm(Remote_pop_conn)21 b(Pr)n(ocedure)596 |
| 1226 y Fb(remote_pop_conn)p Ff(\()p Fe(host)p Ff(\);)197 |
| 1616 y Fa(host)p Black Black 596 2048 a Fm(Remote_push_conn)g(Pr)n |
| (ocedure)596 2296 y Fb(remote_push_conn)p Ff(\()p Fe(host)p |
| Ff(\);)197 2686 y Fa(host)p Black Black 596 3118 a Fm(Remote_ra)o |
| (w_binar)q(y)h(Pr)n(ocedure)596 3366 y Fb(remote_raw_binary)p |
| Ff(\()p Fe(host)p Ff(\);)197 3756 y Fa(host)p Black Black |
| 596 4188 a Fm(Remote_ra)o(w_c)n(lose)h(Pr)n(ocedure)596 |
| 4436 y Fb(remote_raw_close)p Ff(\()p Fe(host)p Ff(\);)197 |
| 4826 y Fa(host)p Black Black Black 197 5585 a Fj(58)p |
| Black eop |
| %%Page: 59 65 |
| 59 64 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Remote_ra)o(w_\002le)i(Pr)n |
| (ocedure)596 337 y Fb(remote_raw_file)p Ff(\()p Fe(dest)49 |
| b(args)p Ff(\);)197 728 y Fa(dest)p Black Black 197 1035 |
| a(args)p Black Black 596 1466 a Fm(remote_ra)o(w_ld)22 |
| b(Pr)n(ocedure)596 1715 y Fb(remote_raw_ld)p Ff(\()p |
| Fe(dest)48 b(prog)t Ff(\);)197 2105 y Fa(dest)p Black |
| Black 197 2412 a(prog)p Black Black 596 2844 a Fm(Remote_ra)o(w_load)22 |
| b(Pr)n(ocedure)596 3092 y Fb(remote_raw_load)p Ff(\()p |
| Fe(dest)49 b(prog)f(args)p Ff(\);)197 3482 y Fa(dest)p |
| Black Black 197 3789 a(prog)p Black Black 197 4097 a(args)p |
| Black Black 596 4528 a Fm(Remote_ra)o(w_open)21 b(Pr)n(ocedure)596 |
| 4777 y Fb(remote_raw_open)p Ff(\()p Fe(args)p Ff(\);)197 |
| 5167 y Fa(args)p Black Black Black 3601 5585 a Fj(59)p |
| Black eop |
| %%Page: 60 66 |
| 60 65 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(Remote_ra)o(w_send)i(Pr)n |
| (ocedure)596 337 y Fb(remote_raw_send)p Ff(\()p Fe(dest)49 |
| b(string)t Ff(\);)197 728 y Fa(dest)p Black Black 197 |
| 1035 a(string)p Black Black 596 1466 a Fm(Remote_ra)o(w_spa)o(wn)21 |
| b(Pr)n(ocedure)596 1715 y Fb(remote_raw_spawn)p Ff(\()p |
| Fe(dest)49 b(commandline)p Ff(\);)197 2105 y Fa(dest)p |
| Black Black 197 2412 a(commandline)p Black Black 596 |
| 2844 a Fm(Remote_ra)o(w_transmit)22 b(Pr)n(ocedure)596 |
| 3092 y Fb(remote_raw_transmit)p Ff(\()p Fe(dest)50 b(file)p |
| Ff(\);)197 3482 y Fa(dest)p Black Black 197 3789 a(file)p |
| Black Black 596 4221 a Fm(Remote_ra)o(w_wait)22 b(Pr)n(ocedure)596 |
| 4469 y Fb(remote_raw_wait)p Ff(\()p Fe(dest)49 b(timeout)p |
| Ff(\);)197 4860 y Fa(dest)p Black Black 197 5167 a(timeout)p |
| Black Black Black 197 5585 a Fj(60)p Black eop |
| %%Page: 61 67 |
| 61 66 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Remote_reboot)h(Pr)n(ocedure) |
| 596 337 y Fb(remote_reboot)p Ff(\()p Fe(host)p Ff(\);)197 |
| 728 y Fa(host)p Black Black 596 1159 a Fm(Remote_send)h(Pr)n(ocedure) |
| 596 1407 y Fb(remote_send)p Ff(\()p Fe(dest)47 b(string)t |
| Ff(\);)197 1798 y Fa(dest)p Black Black 197 2105 a(string)p |
| Black Black 596 2537 a Fm(Remote_spa)o(wn)21 b(Pr)n(ocedure)596 |
| 2785 y Fb(remote_spawn)p Ff(\()p Fe(dest)48 b(commandline)43 |
| b(args)p Ff(\);)197 3175 y Fa(dest)p Black Black 197 |
| 3482 a(commandline)p Black Black 197 3789 a(args)p Black |
| Black 596 4221 a Fm(Remote_s)o(wap_conn)21 b(Pr)n(ocedure)596 |
| 4469 y Fb(remote_swap_conn)p Ff(\()p Fe(host)p Ff(\);)p |
| Black Black Black 3601 5585 a Fj(61)p Black eop |
| %%Page: 62 68 |
| 62 67 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(Remote_transmit)i(Pr)n(ocedure) |
| 596 337 y Fb(remote_transmit)p Ff(\()p Fe(dest)49 b(file)p |
| Ff(\);)197 728 y Fa(dest)p Black Black 197 1035 a(file)p |
| Black Black 596 1466 a Fm(Remote_upload)21 b(Pr)n(ocedure)596 |
| 1715 y Fb(remote_upload)p Ff(\()p Fe(dest)48 b(srcfile)c(arg)t |
| Ff(\);)197 2105 y Fa(dest)p Black Black 197 2412 a(srcfile)p |
| Black Black 197 2719 a(arg)p Black Black 596 3151 a Fm(Remote_wait)22 |
| b(Pr)n(ocedure)596 3399 y Fb(remote_wait)p Ff(\()p Fe(dest)47 |
| b(timeout)p Ff(\);)197 3789 y Fa(dest)p Black Black 197 |
| 4097 a(timeout)p Black Black 596 4528 a Fm(Standar)n(d_c)n(lose)24 |
| b(Pr)n(ocedure)596 4777 y Fb(standard_close)p Ff(\()p |
| Fe(host)p Ff(\);)197 5167 y Fa(host)p Black Black Black |
| 197 5585 a Fj(62)p Black eop |
| %%Page: 63 69 |
| 63 68 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Standar)n(d_do)o(wnload)h(Pr)n |
| (ocedure)596 337 y Fb(standard_download)p Ff(\()p Fe(dest)49 |
| b(file)c(destfile)p Ff(\);)197 728 y Fa(dest)p Black |
| Black 197 1035 a(file)p Black Black 197 1342 a(destfile)p |
| Black Black 596 1774 a Fm(Standar)n(d_e)o(x)o(ec)23 b(Pr)n(ocedure)596 |
| 2022 y Fb(standard_exec)p Ff(\()p Fe(hostname)47 b(args)p |
| Ff(\);)197 2412 y Fa(hostname)p Black Black 197 2719 |
| a(args)p Black Black 596 3151 a Fm(Standar)n(d_\002le)23 |
| b(Pr)n(ocedure)596 3399 y Fb(standard_file)p Ff(\()p |
| Fe(destopargs)p Ff(\);)p Black Black 596 4130 a Fm(Standar)n(d_load)g |
| (Pr)n(ocedure)596 4378 y Fb(standard_load)p Ff(\()p Fe(dest)48 |
| b(prog)g(args)p Ff(\);)197 4768 y Fa(dest)p Black Black |
| 197 5075 a(prog)p Black Black Black 3601 5585 a Fj(63)p |
| Black eop |
| %%Page: 64 70 |
| 64 69 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 89 a Fa(args)p Black |
| Black 596 521 a Fm(Standar)n(d_reboot)i(Pr)n(ocedure)596 |
| 769 y Fb(standard_reboot)p Ff(\()p Fe(host)p Ff(\);)197 |
| 1159 y Fa(host)p Black Black 596 1591 a Fm(Standar)n(d_send)h(Pr)n |
| (ocedure)596 1839 y Fb(standard_send)p Ff(\()p Fe(dest)48 |
| b(string)t Ff(\);)197 2229 y Fa(dest)p Black Black 197 |
| 2537 a(string)p Black Black 596 2968 a Fm(Standar)n(d_spa)o(wn)22 |
| b(Pr)n(ocedure)596 3217 y Fb(standard_spawn)p Ff(\()p |
| Fe(dest)48 b(commandline)p Ff(\);)197 3607 y Fa(dest)p |
| Black Black 197 3914 a(commndline)p Black Black 596 4346 |
| a Fm(Standar)n(d_transmit)22 b(Pr)n(ocedure)596 4594 |
| y Fb(standard_transmit)p Ff(\()p Fe(dest)49 b(file)p |
| Ff(\);)197 4984 y Fa(dest)p Black Black Black 197 5585 |
| a Fj(64)p Black eop |
| %%Page: 65 71 |
| 65 70 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 197 89 a Fa(file)p Black |
| Black 596 521 a Fm(Standar)n(d_upload)i(Pr)n(ocedure)596 |
| 769 y Fb(standard_upload)p Ff(\()p Fe(dest)49 b(srcfile)43 |
| b(destfile)p Ff(\);)197 1159 y Fa(dest)p Black Black |
| 197 1466 a(srcfile)p Black Black 197 1774 a(destfile)p |
| Black Black 596 2205 a Fm(Standar)n(d_wait)22 b(Pr)n(ocedure)596 |
| 2454 y Fb(standard_wait)p Ff(\()p Fe(dest)48 b(timeout)p |
| Ff(\);)197 2844 y Fa(dest)p Black Black 197 3151 a(timeout)p |
| Black Black 596 3583 a Fm(Unix_c)n(lean_\002lename)23 |
| b(Pr)n(ocedure)596 3831 y Fb(unix_clean_filename)p Ff(\()p |
| Fe(dest)50 b(file)p Ff(\);)197 4221 y Fa(dest)p Black |
| Black 197 4528 a(file)p Black Black 596 5052 a Fn(Pr)n(ocedures)23 |
| b(For)h(Using)h(Utilities)i(to)f(Connect)596 5189 y Fl(telnet,)20 |
| b(rsh,)h(tip,)g(kermit)p Black 3601 5585 a Fj(65)p Black |
| eop |
| %%Page: 66 72 |
| 66 71 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(telnet)i(Pr)n(ocedure)596 |
| 337 y Fb(telnet)p Ff(\()p Fe(hostname)45 b(port)p Ff(\);)596 |
| 677 y Fb(rlogin)p Ff(\()p Fe(hostname)p Ff(\);)596 1109 |
| y Fm(r)o(sh)23 b(Pr)n(ocedure)596 1357 y Fb(rsh)p Ff(\()p |
| Fe(hostname)p Ff(\);)197 1747 y Fa(hostname)p Black Black |
| 762 1880 a Fl(This)33 b(r)o(efers)f(to)h(the)g(IP)g(addr)o(ess)e(or)j |
| (name)e(\(for)h(example,)f(an)g(entry)i(in)f Ff(/etc/hosts)p |
| Fl(\))762 1971 y(for)26 b(this)h(tar)o(get.)e(The)h(pr)o(ocedur)o(e)e |
| (names)j(r)o(e\003ect)e(the)i(Unix)f(utility)h(used)f(to)h(establish)f |
| (a)762 2063 y(connection.)17 b(The)e(optional)i Fa(port)e |
| Fl(is)i(used)e(to)h(specify)g(the)g(IP)g(port)g(number)-6 |
| b(.)16 b(The)g(value)f(of)762 2154 y(the)k Fa(netport)g |
| Fl(\002eld)g(in)i(the)f(tar)o(get_info)e(array)h(is)h(used.)f(\(was)g |
| ($netport\))g(This)i(value)e(has)762 2245 y(two)24 b(parts,)e(the)i |
| (hostname)g(and)f(the)g(port)g(number)-6 b(,)24 b(seperated)d(by)j(a)f |
| Fj(:)p Fl(.)f(If)h(host)i(or)e(tar)o(get)762 2336 y(is)e(used)f(in)h |
| (the)g(hostname)h(\002eld,)e(than)h(the)g(con\002g)h(array)d(is)i(used) |
| g(for)f(all)h(information.)596 2635 y Fm(Tip)h(Pr)n(ocedure)596 |
| 2884 y Fb(tip)p Ff(\()p Fe(port)p Ff(\);)197 3274 y Fa(port)p |
| Black Black 762 3407 a Fl(Connect)g(using)g(the)g(Unix)g(utility)g |
| Fk(tip)p Fl(.)f Fa(Port)p Fl(must)g(be)g(a)h(name)f(fr)o(om)g(the)h |
| (tip)g(con\002gura-)762 3498 y(tion)e(\002le)f Ff(/etc/remote)p |
| Fl(.)e(Often,)i(this)h(is)g(called)e(har)o(dwir)o(e,)g(or)h(something)i |
| (like)f(ttya.)e(This)762 3589 y(\002le)f(holds)h(all)f(the)g |
| (con\002guration)h(data)e(for)h(the)g(serial)g(port.)g(The)g(value)f |
| (of)h(the)g(serial)g(\002eld)762 3681 y(in)i(the)g(tar)o(get_info)f |
| (array)g(is)h(used.)f(\(was)h($serialport\))f(If)g Ff(host)g |
| Fl(or)h Ff(target)f Fl(is)i(used)e(in)i(the)762 3772 |
| y Fa(port)k Fl(\002eld,)g(than)i(the)f(con\002g)h(array)d(is)j(used)f |
| (for)f(all)h(information.)h(the)f(con\002g)h(array)e(is)762 |
| 3863 y(used)c(for)h(all)f(information.)596 4162 y Fm(K)o(ermit)i(Pr)n |
| (ocedure)596 4410 y Fb(kermit)p Ff(\()p Fe(port)46 b(bps)p |
| Ff(\);)197 4801 y Fa(port)p Black Black 762 4933 a Fl(Connect)21 |
| b(using)g(the)g(pr)o(ogram)f Fk(kermit)p Fl(.)g Fa(Port)g |
| Fl(is)h(the)g(device)f(name,)g(e.g.)g Ff(/dev/ttyb)p |
| Fl(.)197 5108 y Fa(bps)p Black Black 762 5241 a(bps)c |
| Fl(is)h(the)g(line)g(speed)f(to)h(use)g(\(in)g(its)g(per)f(second\))h |
| (for)f(the)h(connection.)h(The)f(value)f(of)h(the)762 |
| 5332 y(serial)26 b(\002eld)g(in)h(the)g(tar)o(get_info)e(array)g(is)i |
| (used.)f(\(was)g($serialport\))f(If)i Ff(host)e Fl(or)i |
| Ff(target)p Black 197 5585 a Fj(66)p Black eop |
| %%Page: 67 73 |
| 67 72 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 762 89 a Fl(is)27 b(used)g(in)h(the)f |
| Fa(port)g Fl(\002eld,)f(than)i(the)f(con\002g)h(array)e(is)i(used)f |
| (for)g(all)g(information.)h(the)762 180 y(con\002g)21 |
| b(array)f(is)h(used)f(for)h(all)f(information.)596 479 |
| y Fm(kermit_open)i(Pr)n(ocedure)596 728 y Fb(kermit_open)p |
| Ff(\()p Fe(dest)47 b(args)p Ff(\);)197 1118 y Fa(dest)p |
| Black Black 197 1425 a(args)p Black Black 596 1857 a |
| Fm(K)o(ermit_command)22 b(Pr)n(ocedure)596 2105 y Fb(kermit_command)p |
| Ff(\()p Fe(dest)48 b(args)p Ff(\);)197 2495 y Fa(dest)p |
| Black Black 197 2802 a(args)p Black Black 596 3234 a |
| Fm(K)o(ermit_send)22 b(Pr)n(ocedure)596 3482 y Fb(kermit_send)p |
| Ff(\()p Fe(dest)47 b(string)d(args)p Ff(\);)197 3872 |
| y Fa(dest)p Black Black 197 4180 a(string)p Black Black |
| 197 4487 a(args)p Black Black 596 4918 a Fm(K)o(ermit_transmit)22 |
| b(Pr)n(ocedure)596 5167 y Fb(kermit_transmit)p Ff(\()p |
| Fe(dest)49 b(file)44 b(args)p Ff(\);)p Black 3601 5585 |
| a Fj(67)p Black eop |
| %%Page: 68 74 |
| 68 73 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 89 a Fa(dest)p Black |
| Black 197 396 a(file)p Black Black 197 703 a(args)p Black |
| Black 596 1135 a Fm(T)-5 b(elnet_open)22 b(Pr)n(ocedure)596 |
| 1383 y Fb(telnet_open)p Ff(\()p Fe(hostname)47 b(args)p |
| Ff(\);)197 1774 y Fa(hostname)p Black Black 197 2081 |
| a(args)p Black Black 596 2512 a Fm(T)-5 b(elnet_binar)q(y)22 |
| b(Pr)n(ocedure)596 2761 y Fb(telnet_binary)p Ff(\()p |
| Fe(hostname)p Ff(\);)197 3151 y Fa(hostname)p Black Black |
| 596 3583 a Fm(T)-5 b(elnet_transmit)22 b(Pr)n(ocedure)596 |
| 3831 y Fb(telnet_transmit)p Ff(\()p Fe(dest)49 b(file)44 |
| b(args)p Ff(\);)197 4221 y Fa(dest)p Black Black 197 |
| 4528 a(file)p Black Black 197 4835 a(args)p Black Black |
| Black 197 5585 a Fj(68)p Black eop |
| %%Page: 69 75 |
| 69 74 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Tip_open)i(Pr)n(ocedure)596 |
| 337 y Fb(tip_open)p Ff(\()p Fe(hostname)p Ff(\);)197 |
| 728 y Fa(hostname)p Black Black 596 1159 a Fm(Rlogin_open)f(Pr)n |
| (ocedure)596 1407 y Fb(rlogin_open)p Ff(\()p Fe(arg)t |
| Ff(\);)197 1798 y Fa(arg)p Black Black 596 2229 a Fm(Rlogin_spa)o(wn)g |
| (Pr)n(ocedure)596 2478 y Fb(rlogin_spawn)p Ff(\()p Fe(dest)48 |
| b(cmdline)p Ff(\);)197 2868 y Fa(dest)p Black Black 197 |
| 3175 a(cmdline)p Black Black 596 3607 a Fm(Rsh_open)22 |
| b(Pr)n(ocedure)596 3855 y Fb(rsh_open)p Ff(\()p Fe(hostname)p |
| Ff(\);)197 4245 y Fa(hostname)p Black Black 596 4677 |
| a Fm(Rsh_do)o(wnload)f(Pr)n(ocedure)596 4925 y Fb(rsh_download)p |
| Ff(\()p Fe(desthost)47 b(srcfile)d(destfile)p Ff(\);)197 |
| 5315 y Fa(desthost)p Black Black Black 3601 5585 a Fj(69)p |
| Black eop |
| %%Page: 70 76 |
| 70 75 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 89 a Fa(srcfile)p Black |
| Black 197 396 a(destfile)p Black Black 596 828 a Fm(Rsh_upload)i(Pr)n |
| (ocedure)596 1076 y Fb(rsh_upload)p Ff(\()p Fe(desthost)46 |
| b(srcfile)e(destfile)p Ff(\);)197 1466 y Fa(desthost)p |
| Black Black 197 1774 a(srcfile)p Black Black 197 2081 |
| a(destfile)p Black Black 596 2512 a Fm(Rsh_e)o(x)o(ec)23 |
| b(Pr)n(ocedure)596 2761 y Fb(rsh_exec)p Ff(\()p Fe(boardname)45 |
| b(cmd)j(args)p Ff(\);)197 3151 y Fa(boardname)p Black |
| Black 197 3458 a(cmd)p Black Black 197 3765 a(args)p |
| Black Black 596 4197 a Fm(Ftp_open)21 b(Pr)n(ocedure)596 |
| 4445 y Fb(ftp_open)p Ff(\()p Fe(host)p Ff(\);)197 4835 |
| y Fa(host)p Black Black Black 197 5585 a Fj(70)p Black |
| eop |
| %%Page: 71 77 |
| 71 76 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Ftp_upload)h(Pr)n(ocedure)596 |
| 337 y Fb(ftp_upload)p Ff(\()p Fe(host)47 b(remotefile)c(localfile)p |
| Ff(\);)197 728 y Fa(host)p Black Black 197 1035 a(remotefile)p |
| Black Black 197 1342 a(localfile)p Black Black 596 1774 |
| a Fm(Ftp_do)o(wnload)20 b(Pr)n(ocedure)596 2022 y Fb(ftp_download)p |
| Ff(\()p Fe(host)48 b(localfile)43 b(remotefile)p Ff(\);)197 |
| 2412 y Fa(host)p Black Black 197 2719 a(localfile)p Black |
| Black 197 3026 a(remotefile)p Black Black 596 3458 a |
| Fm(Ftp_c)n(lose)22 b(Pr)n(ocedure)596 3706 y Fb(ftp_close)p |
| Ff(\()p Fe(host)p Ff(\);)197 4097 y Fa(host)p Black Black |
| 596 4528 a Fm(Tip_do)o(wnload)f(Pr)n(ocedure)596 4777 |
| y Fb(tip_download)p Ff(\()p Fe(spawnid)50 b(file)p Ff(\);)p |
| Black 3601 5585 a Fj(71)p Black eop |
| %%Page: 72 78 |
| 72 77 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 89 a Fa(spawnid)p Black |
| Black 762 222 a Fl(Download)28 b Ff(file)f Fl(to)h(the)g(pr)o(ocess)g |
| (spawnid)f(\(the)h(value)f(r)o(eturned)g(when)h(the)g(connec-)762 |
| 313 y(tion)e(was)f(established\),)g(using)h(the)f Fk(~put)g |
| Fl(command)h(under)f(tip.)g(Most)h(often)f(used)g(for)762 |
| 405 y(single)c(boar)o(d)e(computers)i(that)g(r)o(equir)o(e)e |
| (downloading)j(pr)o(ograms)e(in)h(ASCII)e(S-r)o(ecor)o(ds.)762 |
| 496 y(Returns)i Fj(1)f Fl(if)h(an)f(err)o(or)g(occurs,)h |
| Fj(0)f Fl(otherwise.)197 670 y Fa(file)p Black Black |
| 762 803 a Fl(This)h(is)g(the)g(\002lename)g(to)g(downlaod.)596 |
| 1194 y Fn(Pr)n(ocedures)i(For)h(T)-7 b(ar)o(g)q(et)24 |
| b(Boar)n(ds)596 1476 y Fm(Default_link)e(Pr)n(ocedure)596 |
| 1725 y Fb(default_link)p Ff(\()p Fe(board)51 b(objects)43 |
| b(destfile)h(flags)p Ff(\);)197 2115 y Fa(board)p Black |
| Black 197 2422 a(objects)p Black Black 197 2729 a(destfile)p |
| Black Black 197 3036 a(flags)p Black Black 596 3468 a |
| Fm(Default_tar)o(g)q(et_assemb)o(le)22 b(Pr)n(ocedure)596 |
| 3716 y Fb(default_target_assemb)q(le)q Ff(\()p Fe(source)49 |
| b(destfile)44 b(flags)p Ff(\);)197 4107 y Fa(source)p |
| Black Black 197 4414 a(destfile)p Black Black 197 4721 |
| a(flags)p Black Black Black 197 5585 a Fj(72)p Black |
| eop |
| %%Page: 73 79 |
| 73 78 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(default_tar)o(g)q(et_compile)h |
| (Pr)n(ocedure)596 337 y Fb(default_target_compil)q(e)p |
| Ff(\()p Fe(source)50 b(destfile)43 b(type)h(options)p |
| Ff(\);)197 728 y Fa(source)p Black Black 197 1035 a(destfile)p |
| Black Black 197 1342 a(type)p Black Black 197 1649 a(options)p |
| Black Black 596 2081 a Fm(P)m(op_con\002g)21 b(Pr)n(ocedure)596 |
| 2329 y Fb(pop_config)p Ff(\()p Fe(type)p Ff(\);)197 2719 |
| y Fa(type)p Black Black 596 3151 a Fm(Prune_warnings)i(Pr)n(ocedure)596 |
| 3399 y Fb(prune_warnings)p Ff(\()p Fe(text)p Ff(\);)197 |
| 3789 y Fa(text)p Black Black 596 4221 a Fm(Push_b)n(uild)f(Pr)n |
| (ocedure)596 4469 y Fb(push_build)p Ff(\()p Fe(name)p |
| Ff(\);)197 4860 y Fa(name)p Black Black Black 3601 5585 |
| a Fj(73)p Black eop |
| %%Page: 74 80 |
| 74 79 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(push_con\002g)h(Pr)n(ocedure) |
| 596 337 y Fb(push_config)p Ff(\()p Fe(type)47 b(name)p |
| Ff(\);)197 728 y Fa(type)p Black Black 197 1035 a(name)p |
| Black Black 596 1466 a Fm(Reboot_tar)o(g)q(et)21 b(Pr)n(ocedure)596 |
| 1715 y Fb(reboot_target)p Ff(\(\);)596 2146 y Fm(T)-7 |
| b(ar)o(g)q(et_assemb)o(le)23 b(Pr)n(ocedure)596 2395 |
| y Fb(target_assemble)p Ff(\()p Fe(source)48 b(destfile)c(flags)p |
| Ff(\);)197 2785 y Fa(source)p Black Black 197 3092 a(destfile)p |
| Black Black 197 3399 a(flags)p Black Black 596 3831 a |
| Fm(T)-7 b(ar)o(g)q(et_compile)22 b(Pr)n(ocedure)596 4079 |
| y Fb(target_compile)p Ff(\()p Fe(source)48 b(destfile)c(type)g(options) |
| p Ff(\);)197 4469 y Fa(source)p Black Black 197 4777 |
| a(destfile)p Black Black 197 5084 a(type)p Black Black |
| Black 197 5585 a Fj(74)p Black eop |
| %%Page: 75 81 |
| 75 80 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 197 89 a Fa(options)p Black |
| Black 596 613 a Fn(T)-7 b(ar)o(g)q(et)23 b(Database)i(Pr)n(ocedures)596 |
| 850 y Fm(Boar)n(d_inf)n(o)d(Pr)n(ocedure)596 1098 y Fb(board_info)p |
| Ff(\()p Fe(machine)46 b(op)f(args)p Ff(\);)197 1488 y |
| Fa(machine)p Black Black 197 1795 a(op)p Black Black |
| 197 2102 a(args)p Black Black 596 2534 a Fm(Host_inf)n(o)22 |
| b(Pr)n(ocedure)596 2782 y Fb(host_info)p Ff(\()p Fe(op)47 |
| b(args)p Ff(\);)197 3173 y Fa(op)p Black Black 197 3480 |
| a(args)p Black Black 596 3911 a Fm(Set_boar)n(d_inf)n(o)23 |
| b(Pr)n(ocedure)596 4160 y Fb(set_board_info)p Ff(\()p |
| Fe(entry)54 b(value)p Ff(\);)197 4550 y Fa(entry)p Black |
| Black 197 4857 a(value)p Black Black Black 3601 5585 |
| a Fj(75)p Black eop |
| %%Page: 76 82 |
| 76 81 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(Set_curr)r(tar)o(g)q(et_inf)n |
| (o)i(Pr)n(ocedure)596 337 y Fb(set_currtarget_info)p |
| Ff(\()p Fe(entry)56 b(value)p Ff(\);)197 728 y Fa(entry)p |
| Black Black 197 1035 a(value)p Black Black 596 1466 a |
| Fm(T)-7 b(ar)o(g)q(et_inf)n(o)22 b(Pr)n(ocedure)596 1715 |
| y Fb(target_info)p Ff(\()p Fe(op)48 b(args)p Ff(\);)197 |
| 2105 y Fa(op)p Black Black 197 2412 a(args)p Black Black |
| 596 2844 a Fm(Unset_boar)n(d_inf)n(o)22 b(Pr)n(ocedure)596 |
| 3092 y Fb(unset_board_info)p Ff(\()p Fe(entry)6 b Ff(\);)197 |
| 3482 y Fa(entry)p Black Black 596 3914 a Fm(Unset_curr)r(tar)o(g)q |
| (et_inf)n(o)21 b(Pr)n(ocedure)596 4162 y Fb(unset_currtarget_info)q |
| Ff(\()p Fe(entry)6 b Ff(\);)197 4552 y Fa(entry)p Black |
| Black 596 4984 a Fm(Push_tar)o(g)q(et)22 b(Pr)n(ocedure)596 |
| 5117 y Fl(This)17 b(makes)g(the)g(tar)o(get)f(named)g |
| Fj(name)h Fl(be)g(the)g(curr)o(ent)f(tar)o(get)g(connection.)i(The)f |
| (value)f(of)h Fj(name)596 5208 y Fl(is)k(an)f(index)h(into)g(the)g(tar) |
| o(get_info)f(array)f(and)i(is)g(set)g(in)g(the)g(global)g(con\002g)g |
| (\002le.)596 5415 y Fb(push_target)p Ff(\()p Fe(name)p |
| Ff(\);)p Black 197 5585 a Fj(76)p Black eop |
| %%Page: 77 83 |
| 77 82 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 197 305 a Fa(name)p Black |
| Black 762 438 a Fl(The)g(name)h(of)g(the)g(tar)o(get)e(to)i(make)g |
| (curr)o(ent)f(connection.)596 737 y Fm(P)m(op_tar)o(g)q(et)h(Pr)n |
| (ocedure)596 869 y Fl(This)g(unsets)g(the)g(curr)o(ent)f(tar)o(get)g |
| (connection.)596 1076 y Fb(pop_target)p Ff(\(\);)596 |
| 1508 y Fm(List_tar)o(g)q(ets)i(Pr)n(ocedure)596 1641 |
| y Fl(This)f(lists)g(all)g(the)g(supported)f(tar)o(gets)g(for)h(this)g |
| (ar)o(chitectur)o(e.)596 1847 y Fb(list_targets)p Ff(\(\);)596 |
| 2279 y Fm(Push_host)h(Pr)n(ocedure)596 2412 y Fl(This)e(makes)f(the)h |
| (host)h(named)e Fj(name)g Fl(be)h(the)f(curr)o(ent)g(r)o(emote)g(host)i |
| (connection.)f(The)g(value)f(of)596 2503 y Fj(name)h |
| Fl(is)h(an)g(index)f(into)i(the)f(tar)o(get_info)f(array)f(and)h(is)i |
| (set)e(in)i(the)e(global)h(con\002g)h(\002le.)596 2710 |
| y Fb(push_host)p Ff(\()p Fe(name)p Ff(\);)197 3100 y |
| Fa(name)p Black Black 596 3532 a Fm(P)m(op_host)g(Pr)n(ocedure)596 |
| 3665 y Fl(This)f(unsets)g(the)g(curr)o(ent)f(host)i(connection.)596 |
| 3872 y Fb(pop_host)p Ff(\(\);)596 4303 y Fm(Compile)g(Pr)n(ocedure)596 |
| 4436 y Fl(This)h(invokes)h(the)f(compiler)g(as)g(set)g(by)g(CC)f(to)h |
| (compile)h(the)f(\002le)g Ff(file)p Fl(.)f(The)h(default)f(options)596 |
| 4527 y(for)e(many)i(cr)o(oss)e(compilation)i(tar)o(gets)e(ar)o(e)g |
| Fj(guessed)h Fl(by)g(DejaGnu,)h(and)e(these)h(options)i(can)d(be)596 |
| 4619 y(added)25 b(to)j(by)f(passing)g(in)h(mor)o(e)f(parameters)e(as)i |
| (ar)o(guments)g(to)g Fk(compile)p Fl(.)f(Optionally)-9 |
| b(,)27 b(this)596 4710 y(will)g(also)f(use)h(the)f(value)g(of)g(the)h |
| Fj(c\003ags)f Fl(\002eld)g(in)h(the)f(tar)o(get)g(con\002g)h(array)-9 |
| b(.)25 b(If)h(the)g(host)h(is)g(not)596 4801 y(the)d(same)f(as)h(the)g |
| (build)g(machines,)h(then)f(then)h(compiler)f(is)g(r)o(un)h(on)f(the)h |
| (r)o(emote)e(host)i(using)596 4893 y Fk(execute_anywhere)p |
| Fl(.)596 5099 y Fb(compile)p Ff(\()p Fe(file)p Ff(\);)p |
| Black 3601 5585 a Fj(77)p Black eop |
| %%Page: 78 84 |
| 78 83 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 89 a Fa(file)p Black |
| Black 596 521 a Fm(Ar)n(c)o(hive)k(Pr)n(ocedure)596 654 |
| y Fl(This)k(pr)o(oduces)g(an)g(ar)o(chive)f(\002le.)h(Any)g(parameters) |
| f(passed)h(to)h Fk(archive)e Fl(ar)o(e)f(used)i(in)h(addi-)596 |
| 745 y(tion)24 b(to)g(the)g(default)e(\003ags.)i(Optionally)-9 |
| b(,)24 b(this)g(will)h(also)f(use)f(the)h(value)f(of)h(the)f |
| Fj(ar\003ags)h Fl(\002eld)f(in)596 836 y(the)k(tar)o(get)f(con\002g)i |
| (array)-9 b(.)25 b(If)i(the)g(host)h(is)g(not)f(the)h(same)e(as)h(the)h |
| (build)f(machines,)g(then)g(then)596 928 y(ar)o(chiver)19 |
| b(is)i(r)o(un)g(on)h(the)f(r)o(emote)f(host)i(using)f |
| Fk(execute_anywhere)p Fl(.)596 1134 y Fb(archive)p Ff(\()p |
| Fe(file)p Ff(\);)197 1525 y Fa(file)p Black Black 596 |
| 1956 a Fm(Ranlib)h(Pr)n(ocedure)596 2089 y Fl(This)28 |
| b(generates)f(an)h(index)g(for)g(the)g(ar)o(chive)f(\002le)h(for)g |
| (systems)h(that)f(ar)o(en't)f(POSIX)h(yet.)g(Any)596 |
| 2180 y(parameters)19 b(passed)h(to)h Fk(ranlib)e Fl(ar)o(e)h(used)g(in) |
| h(for)g(the)g(\003ags.)596 2387 y Fb(ranlib)p Ff(\()p |
| Fe(file)p Ff(\);)197 2777 y Fa(file)p Black Black 596 |
| 3209 a Fm(Ex)o(ecute_an)n(ywhere)j(Pr)n(ocedure)596 3342 |
| y Fl(This)i(executes)f(the)h Fj(cmdline)f Fl(on)i(the)e(pr)o(oper)g |
| (host.)i(This)f(should)h(be)e(used)g(as)h(a)f(r)o(eplacement)596 |
| 3433 y(for)30 b(the)i(T)-9 b(cl)30 b(command)i Fk(exec)d |
| Fl(as)i(this)h(version)f(utilizes)h(the)f(tar)o(get)f(con\002g)i(info)f |
| (to)h(execute)596 3525 y(this)23 b(command)g(on)g(the)g(build)g |
| (machine)f(or)h(a)f(r)o(emote)g(host.)i(All)e(con\002g)i(information)f |
| (for)g(the)596 3616 y(r)o(emote)j(host)i(must)g(be)f(setup)g(to)g(have) |
| g(this)h(command)f(work.)h(If)e(this)i(is)g(a)e(canadian)g(cr)o(oss,) |
| 596 3707 y(\(wher)o(e)c(we)h(test)g(a)g(cr)o(oss)g(compiler)h(that)f(r) |
| o(uns)h(on)g(a)f(dif)o(fer)o(ent)e(host)j(then)g(wher)o(e)f(DejaGnu)h |
| (is)596 3799 y(r)o(unning\))d(then)f(a)g(connection)i(is)e(made)f(to)i |
| (the)f(r)o(emote)g(host)h(and)f(the)g(command)h(is)f(executed)596 |
| 3890 y(ther)o(e.)26 b(It)i(r)o(eturns)f(either)g(REMOTERROR)i(\(for)e |
| (an)g(err)o(or\))g(or)g(the)h(output)g(pr)o(oduced)e(when)596 |
| 3981 y(the)d(command)g(was)g(executed.)e(This)j(is)f(used)g(for)f(r)o |
| (unning)j(the)e(tool)h(to)f(be)g(tested,)f(not)h(a)g(test)596 |
| 4072 y(case.)596 4279 y Fb(execute_anywhere)p Ff(\()p |
| Fe(cmdline)p Ff(\);)197 4669 y Fa(cmdline)p Black Black |
| Black 197 5585 a Fj(78)p Black eop |
| %%Page: 79 85 |
| 79 84 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fn(Platf)n(orm)25 |
| b(Dependant)g(Pr)n(ocedures)596 226 y Fl(Each)18 b(combination)h(of)g |
| (tar)o(get)e(and)i(tool)g(r)o(equir)o(es)f(some)h(tar)o(get-dependent)d |
| (pr)o(ocedur)o(es.)h(The)596 317 y(names)23 b(of)g(these)g(pr)o(ocedur) |
| o(es)e(have)h(a)h(common)h(form:)f(the)g(tool)h(name,)f(followed)g(by)g |
| (an)g(un-)596 409 y(derbar)18 b Fj(_)p Fl(,)g(and)h(\002nally)h(a)f |
| (suf)o(\002x)g(describing)h(the)g(pr)o(ocedur)o(e's)d(purpose.)i(For)h |
| (example,)f(a)g(pr)o(o-)596 500 y(cedur)o(e)g(to)i(extract)f(the)g |
| (version)i(fr)o(om)e(GDB)h(is)g(called)f(gdb_version.)596 |
| 633 y Fk(runtest)33 b Fl(itself)j(calls)f(only)h(two)g(of)f(these)h(pr) |
| o(ocedur)o(es,)d(${tool}_exit)i(and)g(${tool}_version;)596 |
| 724 y(these)20 b(pr)o(ocedur)o(es)f(use)i(no)h(ar)o(guments.)596 |
| 857 y(The)h(other)g(two)h(pr)o(ocedur)o(es,)d(${tool}_start)h(and)h |
| (${tool}_load},)f(ar)o(e)g(only)i(called)e(by)h(the)h(test)596 |
| 948 y(suites)30 b(themselves)h(\(or)f(by)h(testsuite-speci\002c)f |
| (initialization)h(code\);)e(they)i(may)f(take)g(ar)o(gu-)596 |
| 1040 y(ments)21 b(or)g(not,)g(depending)g(on)g(the)g(conventions)h |
| (used)f(within)h(each)e(testsuite.)596 1173 y(The)26 |
| b(usual)g(convention)h(for)f(r)o(eturn)f(codes)h(fr)o(om)g(any)g(of)g |
| (these)g(pr)o(ocedur)o(es)f(\(although)h(it)h(is)596 |
| 1264 y(not)20 b(r)o(equir)o(ed)f(by)h Fk(runtest)p Fl(\))e(is)i(to)g(r) |
| o(eturn)g Fj(0)f Fl(if)h(the)g(pr)o(ocedur)o(e)e(succeeded,)g |
| Fj(1)i Fl(if)f(it)i(failed,)d(and)i Fj(-1)596 1355 y |
| Fl(if)g(ther)o(e)g(was)h(a)f(communication)i(err)o(or)-6 |
| b(.)596 1592 y Fm(${tool}_star)r(t)22 b(Pr)n(ocedure)596 |
| 1725 y Fl(Starts)i(a)g(particular)g(tool.)i(For)f(an)g(interactive)f |
| (tool,)i Ff(${tool}_start)c Fl(starts)j(and)g(initializes)596 |
| 1816 y(the)20 b(tool,)g(leaving)g(the)h(tool)g(up)f(and)f(r)o(unning)j |
| (for)d(the)i(test)f(cases;)f(an)h(example)f(is)i Ff(gdb_start)p |
| Fl(,)596 1907 y(the)g(start)g(function)h(for)f(GDB.)h(For)f(a)g(batch)g |
| (oriented)g(tool,)h Ff(${tool}_start)d Fl(is)j(optional;)g(the)596 |
| 1999 y(r)o(ecommended)c(convention)i(is)f(to)g(let)g |
| Ff(${tool}_start)e Fl(r)o(un)j(the)f(tool,)g(leaving)g(the)g(output)g |
| (in)596 2090 y(a)h(variable)g(called)g Ff(comp_output)p |
| Fl(.)g(T)-8 b(est)21 b(scripts)g(can)g(then)h(analyze)e |
| Ff($comp_output)f Fl(to)j(deter)o(-)596 2181 y(mine)g(the)g(test)h(r)o |
| (esults.)e(An)h(example)g(of)g(this)h(second)f(kind)g(of)h(start)e |
| (function)i(is)g Ff(gcc_start)p Fl(,)596 2273 y(the)d(start)h(function) |
| g(for)g(GCC.)596 2405 y(DejaGnu)84 b(itself)h(does)f(not)h(call)f |
| Ff(${tool}_start)p Fl(.)e(The)i(initialization)h(module)596 |
| 2497 y Ff(${tool}_init.exp)94 b Fl(must)j(call)g Ff(${tool}_start)e |
| Fl(for)h(interactive)g(tools;)i(for)596 2588 y(batch-oriented)41 |
| b(tools,)j(each)e(individual)g(test)h(script)f(calls)g |
| Ff(${tool}_start)f Fl(\(or)h(makes)596 2679 y(other)21 |
| b(arrangements)f(to)h(r)o(un)g(the)g(tool\).)596 2886 |
| y Fb(${tool}_start)p Ff(\(\);)596 3318 y Fm(${tool}_load)h(Pr)n |
| (ocedure)596 3451 y Fl(Loads)c(something)j(into)f(a)f(tool.)h(For)f(an) |
| g(interactive)g(tool,)h(this)g(conditions)g(the)g(tool)g(for)f(a)g(par) |
| o(-)596 3542 y(ticular)e(test)g(case;)g(for)g(example,)g |
| Ff(gdb_load)f Fl(loads)i(a)f(new)h(executable)e(\002le)i(into)g(the)g |
| (debugger)-6 b(.)596 3633 y(For)25 b(batch)g(oriented)h(tools,)g |
| Ff(${tool}_load)d Fl(may)j(do)f(nothing---though,)i(for)e(example,)g |
| (the)596 3725 y(GCC)30 b(support)h(uses)g Ff(gcc_load)e |
| Fl(to)i(load)f(and)h(r)o(un)g(a)f(binary)g(on)h(the)g(tar)o(get)f |
| (envir)o(onment.)596 3816 y(Conventionally)-9 b(,)19 |
| b Ff(${tool}_load)d Fl(leaves)i(the)h(output)g(of)f(any)h(pr)o(ogram)e |
| (it)i(r)o(uns)g(in)g(a)f(variable)596 3907 y(called)h($exec_output.)f |
| (W)-6 b(riting)21 b Ff(${tool}_load)d Fl(can)i(be)f(the)h(most)h |
| (complex)g(part)e(of)h(extend-)596 3999 y(ing)f(DejaGnu)h(to)f(a)f(new) |
| i(tool)f(or)g(a)g(new)g(tar)o(get,)f(if)g(it)h(r)o(equir)o(es)f(much)i |
| (communication)g(coding)596 4090 y(or)g(\002le)h(downloading.)h(T)-8 |
| b(est)21 b(scripts)g(call)f Ff(${tool}_load)p Fl(.)596 |
| 4297 y Fb(${tool}_load)p Ff(\(\);)596 4728 y Fm(${tool}_e)o(xit)i(Pr)n |
| (ocedure)596 4861 y Fl(Cleans)d(up)h(\(if)g(necessary\))f(befor)o(e)g |
| (DejaGnu)i(exits.)f(For)g(interactive)g(tools,)h(this)g(usually)f(ends) |
| 596 4953 y(the)c(interactive)g(session.)i(Y)-8 b(ou)17 |
| b(can)g(also)g(use)f Ff(${tool}_exit)f Fl(to)i(r)o(emove)f(any)g |
| (temporary)h(\002les)596 5044 y(left)j(over)g(fr)o(om)h(the)g(tests.)g |
| Fk(runtest)e Fl(calls)h Ff(${tool}_exit)p Fl(.)596 5251 |
| y Fb(${tool}_exit)p Ff(\(\);)p Black 3601 5585 a Fj(79)p |
| Black eop |
| %%Page: 80 86 |
| 80 85 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(${tool}_ver)o(sion)j(Pr)n |
| (ocedure)596 222 y Fl(Prints)f(the)h(version)g(label)e(and)h(number)h |
| (for)f(${tool}.)f(This)i(is)g(called)e(by)i(the)f(DejaGnu)h(pr)o(oce-) |
| 596 313 y(dur)o(e)d(that)h(prints)h(the)g(\002nal)g(summary)g(r)o |
| (eport.)e(The)h(output)h(should)h(consist)f(of)g(the)g(full)f(path)596 |
| 405 y(name)f(used)h(for)f(the)h(tested)f(tool,)i(and)e(its)h(version)h |
| (number)-6 b(.)596 611 y Fb(${tool}_version)p Ff(\(\);)596 |
| 1135 y Fn(Utility)27 b(Pr)n(ocedures)596 1372 y Fm(Getdir)o(s)22 |
| b(Pr)n(ocedure)596 1505 y Fl(Returns)d(a)f(list)h(of)g(all)f(the)h(dir) |
| o(ectories)e(in)i(the)g(single)g(dir)o(ectory)f(a)g(single)i(dir)o |
| (ectory)d(that)i(match)596 1596 y(an)h(optional)i(pattern.)596 |
| 1803 y Fb(getdirs)p Ff(\()p Fe(rootdir)48 b(pattern)p |
| Ff(\);)197 2193 y Fa(args)p Black Black 197 2500 a(pattern)p |
| Black Black 762 2633 a Fl(If)17 b(you)i(do)g(not)f(specify)g |
| Fa(pattern)p Fl(,)f Ff(Getdirs)g Fl(assumes)i(a)e(default)h(pattern)f |
| (of)h Fj(*)q Fl(.)h(Y)-8 b(ou)19 b(may)762 2724 y(use)h(the)h(common)h |
| (shell)g(wildcar)o(d)d(characters)g(in)j(the)e(pattern.)g(If)h(no)g |
| (dir)o(ectories)f(match)762 2816 y(the)g(pattern,)g(then)i(a)e(NULL)g |
| (string)h(is)g(r)o(eturned)596 3114 y Fm(Find)h(Pr)n(ocedure)596 |
| 3247 y Fl(Sear)o(ch)g(for)i(\002les)h(whose)g(names)g(match)f |
| Fj(pattern)g Fl(\(using)h(shell)g(wildcar)o(d)e(characters)g(for)h |
| (\002le-)596 3339 y(name)j(expansion\).)h(Sear)o(ch)e(subdir)o |
| (ectories)h(r)o(ecursively)-9 b(,)26 b(starting)i(at)f |
| Fj(r)o(ootdir)p Fl(.)g(The)g(r)o(esult)h(is)596 3430 |
| y(the)c(list)i(of)f(\002les)g(whose)g(names)g(match;)g(if)f(no)i |
| (\002les)f(match,)g(the)g(r)o(esult)f(is)h(empty)-9 b(.)25 |
| b(Filenames)596 3521 y(in)19 b(the)h(r)o(esult)f(include)g(all)g |
| (intervening)h(subdir)o(ectory)f(names.)g(If)g(no)h(\002les)g(match)f |
| (the)h(pattern,)596 3613 y(then)h(a)f(NULL)g(string)h(is)g(r)o |
| (eturned.)596 3819 y Fb(find)p Ff(\()p Fe(rootdir)47 |
| b(pattern)p Ff(\);)197 4209 y Fa(rootdir)p Black Black |
| 762 4342 a Fl(The)20 b(top)h(level)g(dir)o(ectory)f(to)h(sear)o(ch)f |
| (the)h(sear)o(ch)e(fr)o(om.)197 4517 y Fa(pattern)p Black |
| Black 762 4649 a Fl(A)h(csh)h("glob")g(style)g(r)o(egular)f(expr)o |
| (ession)g(r)o(eprsenting)h(the)g(\002les)g(to)g(\002nd.)596 |
| 4948 y Fm(Whic)o(h)i(Pr)n(ocedure)596 5081 y Fl(Sear)o(ches)18 |
| b(the)j(execution)g(path)f(for)h(an)f(executable)f(\002le)i |
| Fj(binary)p Fl(,)g(like)g(the)f(the)h(BSD)f Fk(which)g |
| Fl(util-)596 5173 y(ity)-9 b(.)16 b(This)h(pr)o(ocedur)o(e)d(uses)j |
| (the)f(shell)h(envir)o(onment)g(variable)e Fj(P)-11 b(A)-5 |
| b(TH)r Fl(.)16 b(It)h(r)o(eturns)e Fj(0)h Fl(if)h(the)f(binary)596 |
| 5264 y(is)i(not)g(in)h(the)f(path,)f(or)h(if)g(ther)o(e)f(is)h(no)h |
| Fj(P)-11 b(A)-5 b(TH)19 b Fl(envir)o(onment)g(variable.)d(If)i |
| Fk(binary)f Fl(is)h(in)g(the)g(path,)596 5355 y(it)i(r)o(eturns)h(the)g |
| (full)f(path)h(to)g Fk(binary)p Fl(.)p Black 197 5585 |
| a Fj(80)p Black eop |
| %%Page: 81 87 |
| 81 86 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fb(which)p Ff(\()p |
| Fe(file)p Ff(\);)197 479 y Fa(binary)p Black Black 762 |
| 612 a Fl(The)g(executable)g(pr)o(ogram)g(or)h(shell)g(script)g(to)g |
| (look)h(for)-6 b(.)596 911 y Fm(Grep)22 b(Pr)n(ocedure)596 |
| 1044 y Fl(Sear)o(ch)f(the)h(\002le)h(called)f Ff(filename)g |
| Fl(\(a)f(fully)i(speci\002ed)g(path\))f(for)g(lines)i(that)e(contain)i |
| (a)e(match)596 1135 y(for)f(r)o(egular)f(expr)o(ession)h |
| Fj(r)o(egexp)p Fl(.)f(The)i(r)o(esult)f(is)g(a)g(list)h(of)g(all)f(the) |
| h(lines)g(that)f(match.)g(If)g(no)h(lines)596 1226 y(match,)17 |
| b(the)h(r)o(esult)g(is)g(an)g(empty)g(string.)g(Specify)f |
| Fj(r)o(egexp)g Fl(using)i(the)f(standar)o(d)e(r)o(egular)h(expr)o(es-) |
| 596 1318 y(sion)k(style)g(used)g(by)g(the)g(Unix)f(utility)i(pr)o |
| (ogram)e(gr)o(ep.)596 1451 y(Use)i(the)i(optional)g(thir)o(d)f(ar)o |
| (gument)g Fj(line)h Fl(to)g(start)f(lines)h(in)g(the)f(r)o(esult)g |
| (with)h(the)g(line)g(number)596 1542 y(in)d Ff(filename)p |
| Fl(.)e(\(This)i(ar)o(gument)f(is)h(simply)h(an)e(option)i(\003ag;)f |
| (type)g(it)g(just)g(as)g(shown)h Ff(--line)p Fl(.\))596 |
| 1749 y Fb(grep)p Ff(\()p Fe(filename)44 b(regexp)g(--line)p |
| Ff(\);)197 2139 y Fa(filename)p Black Black 762 2272 |
| a Fl(The)20 b(\002le)h(to)g(sear)o(ch.)197 2446 y Fa(regexp)p |
| Black Black 762 2579 a Fl(The)d(Unix)h(style)f(r)o(egular)g(expr)o |
| (ession)g(\(as)g(used)g(by)h(the)f Fk(grep)h Fl(Unix)f(utility\))h(to)g |
| (sear)o(ch)f(for)-6 b(.)197 2753 y Fa(--line)p Black |
| Black 762 2886 a Fl(Pr)o(e\002x)20 b(the)g(line)i(number)f(to)g(each)f |
| (line)h(wher)o(e)f(the)h(r)o(egexp)f(matches.)596 3185 |
| y Fm(Prune)j(Pr)n(ocedure)596 3318 y Fl(Remove)16 b(elements)h(of)g |
| (the)f(T)-9 b(cl)16 b(list)h Fj(list)p Fl(.)g(Elements)f(ar)o(e)f |
| (\002elds)i(delimited)f(by)g(spaces.)g(The)g(r)o(esult)596 |
| 3409 y(is)25 b(a)g(copy)h(of)f(list,)h(without)h(any)e(elements)h(that) |
| g(match)f Fj(pattern)p Fl(.)g(Y)-8 b(ou)26 b(can)f(use)h(the)f(common) |
| 596 3500 y(shell)c(wildcar)o(d)e(characters)h(to)h(specify)f(the)h |
| (pattern.)596 3707 y Fb(prune)p Ff(\()p Fe(list)45 b(pattern)p |
| Ff(\);)197 4097 y Fa(list)p Black Black 762 4230 a Fl(A)27 |
| b(T)-9 b(cl)27 b(list)h(containing)g(the)g(original)g(data.)e(Commonly) |
| j(this)f(is)g(the)f(output)h(of)f(a)g(batch)762 4322 |
| y(executed)19 b(command,)i(like)g(r)o(unning)h(a)f(compiler)-6 |
| b(.)197 4496 y Fa(pattern)p Black Black 762 4629 a Fl(The)20 |
| b(csh)h(shell)h("glob")f(style)g(pattern)f(to)h(sear)o(ch)f(for)-6 |
| b(.)596 4928 y Fm(Sla)n(y)24 b(Pr)n(ocedure)596 5060 |
| y Fl(This)d(look)g(in)g(the)f(pr)o(ocess)g(table)g(for)g |
| Fj(name)h Fl(and)f(send)g(it)h(a)f(unix)h(SIGINT)-6 b(,)19 |
| b(killing)j(the)f(pr)o(ocess.)596 5152 y(This)g(will)g(only)g(work)g |
| (under)f(W)-5 b(indows)22 b(if)e(you)h(have)f(Cygwin)i(or)e(another)h |
| (Unix)f(subsystem)596 5243 y(for)g(W)-5 b(indows)22 b(installed.)596 |
| 5450 y Fb(slay)p Ff(\()p Fe(name)p Ff(\);)p Black 3601 |
| 5585 a Fj(81)p Black eop |
| %%Page: 82 88 |
| 82 87 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 305 a Fa(name)p Black |
| Black 762 438 a Fl(The)g(name)h(of)g(the)g(pr)o(ogram)f(to)h(kill.)596 |
| 737 y Fm(Absolute)h(Pr)n(ocedure)596 869 y Fl(This)f(pr)o(ocedur)o(e)e |
| (takes)h(the)h(r)o(elative)e Fj(path)p Fl(,)g(and)i(converts)g(it)g(to) |
| g(an)f(absolute)h(path.)596 1076 y Fb(absolute)p Ff(\()p |
| Fe(path)p Ff(\);)197 1466 y Fa(path)p Black Black 762 |
| 1599 a Fl(The)f(path)h(to)g(convert.)596 1898 y Fm(Psour)n(ce)j(Pr)n |
| (ocedure)596 2031 y Fl(This)17 b(sour)o(ces)g(the)g(\002le)g |
| Fj(\002lename)p Fl(,)g(and)g(traps)f(all)h(err)o(ors.)f(It)h(also)g |
| (ignor)o(es)g(all)g(extraneous)g(output.)596 2122 y(If)j(ther)o(e)g |
| (was)h(an)f(err)o(or)g(it)h(r)o(eturns)f(a)g Fj(1)p Fl(,)g(otherwise)i |
| (it)f(r)o(eturns)f(a)g Fj(0)p Fl(.)596 2329 y Fb(psource)p |
| Ff(\()p Fe(file)p Ff(\);)197 2719 y Fa(filename)p Black |
| Black 762 2852 a Fl(The)g(\002lename)h(to)g(T)-9 b(cl)21 |
| b(script)f(to)i(sour)o(ce.)596 3151 y Fm(Runtest_\002le_p)g(Pr)n |
| (ocedure)596 3284 y Fl(Sear)o(ch)31 b Fj(runtest)p Fl(s)j(for)f |
| Fj(testcase)g Fl(and)g(r)o(eturn)f Fj(1)h Fl(if)f(found,)h |
| Fj(0)g Fl(if)g(not.)h Fj(runtests)f Fl(is)h(a)f(list)g(of)g(two)596 |
| 3375 y(elements.)20 b(The)h(\002rst)g(is)g(a)g(copy)g(of)f(what)h(was)g |
| (on)g(the)g(right)g(side)g(of)g(the)g Fj(=)g Fl(if)596 |
| 3540 y Ff(foo.exp="...")596 3715 y Fl(")30 b(was)i(speci\002ed,)e(or)h |
| (an)g(empty)h(string)f(if)g(no)h(such)g(ar)o(gument)e(is)i(pr)o(esent.) |
| e(The)h(second)h(is)596 3806 y(the)25 b(pathname)g(of)g(the)g(curr)o |
| (ent)g(testcase)f(under)h(consideration.)h(This)g(is)f(used)g(by)g |
| (tools)i(like)596 3897 y(compilers)21 b(wher)o(e)f(each)g(testcase)g |
| (is)h(a)g(\002le.)596 4104 y Fb(runtest_file_p)p Ff(\()p |
| Fe(runtests)48 b(testcase)p Ff(\);)197 4494 y Fa(runtests)p |
| Black Black 762 4627 a Fl(The)20 b(list)i(of)e(patterns)h(to)g(compar)o |
| (e)f(against.)197 4801 y Fa(testcase)p Black Black 762 |
| 4934 a Fl(The)g(test)h(case)f(\002lename.)p Black 197 |
| 5585 a Fj(82)p Black eop |
| %%Page: 83 89 |
| 83 88 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Diff)i(Pr)n(ocedure)596 |
| 222 y Fl(Compar)o(es)g(the)i(two)h(\002les)f(and)f(r)o(eturns)g(a)h |
| Fj(1)f Fl(if)g(they)h(match,)g(or)g(a)f Fj(0)g Fl(if)h(they)g(don't.)g |
| (If)f(verbose)596 313 y(is)e(set,)f(then)h(it'll)h(print)f(the)g(dif)o |
| (fer)o(ences)d(to)j(the)g(scr)o(een.)596 520 y Fb(diff)p |
| Ff(\()p Fe(file_1)45 b(file_2)p Ff(\);)197 910 y Fa(file_1)p |
| Black Black 762 1043 a Fl(The)20 b(\002rst)h(\002le)g(to)g(compar)o(e.) |
| 197 1217 y Fa(file_2)p Black Black 762 1350 a Fl(The)f(second)h(\002le) |
| g(to)g(compar)o(e.)596 1649 y Fm(Seten)m(v)i(Pr)n(ocedure)596 |
| 1782 y Fl(Sets)d(the)h(envir)o(onment)g(variable)f Fj(var)g |
| Fl(to)h(the)g(value)f Fj(val)p Fl(.)596 1989 y Fb(setenv)p |
| Ff(\()p Fe(var)48 b(val)p Ff(\);)197 2379 y Fa(var)p |
| Black Black 762 2512 a Fl(The)20 b(envir)o(onment)i(variable)d(to)i |
| (set.)197 2686 y Fa(val)p Black Black 762 2819 a Fl(The)f(value)g(to)i |
| (set)e(the)h(variable)f(to.)596 3118 y Fm(unseten)m(v)i(Pr)n(ocedure) |
| 596 3251 y Fl(Unsets)e(the)h(envir)o(onment)h(variable)d |
| Fj(var)p Fl(.)596 3457 y Fb(unsetenv)p Ff(\()p Fe(var)s |
| Ff(\);)197 3847 y Fa(var)p Black Black 762 3980 a Fl(The)h(envir)o |
| (onment)i(variable)d(to)i(unset.)596 4279 y Fm(Geten)m(v)h(Pr)n |
| (ocedure)596 4412 y Fl(Returns)f(the)g(value)f(of)h Fj(var)f |
| Fl(in)h(the)g(envir)o(onment)h(if)e(it)h(exists,)g(otherwise)g(it)g(r)o |
| (eturns)g(NULL.)596 4619 y Fb(getenv)p Ff(\()p Fe(var)s |
| Ff(\);)197 5009 y Fa(var)p Black Black 762 5142 a Fl(The)f(envir)o |
| (onment)i(variable)d(to)i(get)g(the)g(value)f(of.)p Black |
| 3601 5585 a Fj(83)p Black eop |
| %%Page: 84 90 |
| 84 89 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(Prune_system_crud)j(Pr)n |
| (ocedure)596 222 y Fl(For)29 b(system)g Fj(system)p Fl(,)g(delete)f |
| (text)h(the)g(host)h(or)f(tar)o(get)f(operating)h(system)h(might)g |
| (issue)f(that)596 313 y(will)h(interfer)o(e)f(with)i(pattern)e |
| (matching)i(of)f(pr)o(ogram)g(output)g(in)h Fj(text)p |
| Fl(.)e(An)h(example)f(is)i(the)596 405 y(message)20 b(that)h(is)g |
| (printed)f(if)h(a)f(shar)o(ed)g(library)g(is)h(out)g(of)g(date.)596 |
| 611 y Fb(prune_system_crud)p Ff(\()p Fe(system)50 b(test)p |
| Ff(\);)197 1001 y Fa(system)p Black Black 762 1134 a |
| Fl(The)20 b(system)i(err)o(or)d(messages)i(to)h(look)f(for)g(to)g(scr)o |
| (een)f(out)h(.)197 1309 y Fa(text)p Black Black 762 1442 |
| a Fl(The)f(T)-9 b(cl)21 b(variable)e(containing)j(the)f(text.)596 |
| 1833 y Fn(Libgloss,)k(A)g(Free)f(BSP)596 1970 y Fl(Libgloss)f(is)g(a)g |
| (fr)o(ee)e Fj(BSP)h Fl(\(Boar)o(d)f(Support)i(Package\))e(commonly)k |
| (used)d(with)i(GCC)f(and)f(G++)596 2061 y(to)f(pr)o(oduce)e(a)i(fully)g |
| (linked)g(executable)e(image)i(for)f(an)h(embedded)e(systems.)596 |
| 2297 y Fm(Libgloss_link_\003a)o(gs)j(Pr)n(ocedure)596 |
| 2546 y Fb(libgloss_link_flags)p Ff(\()p Fe(args)p Ff(\);)197 |
| 2936 y Fa(args)p Black Black 596 3368 a Fm(Libgloss_inc)n(lude_\003a)o |
| (gs)g(Pr)n(ocedure)596 3616 y Fb(libgloss_include_flag)q(s)p |
| Ff(\()p Fe(args)p Ff(\);)197 4006 y Fa(args)p Black Black |
| 596 4438 a Fm(Ne)o(wlib_link_\003a)o(gs)g(Pr)n(ocedure)596 |
| 4686 y Fb(newlib_link_flags)p Ff(\()p Fe(args)p Ff(\);)197 |
| 5076 y Fa(args)p Black Black Black 197 5585 a Fj(84)p |
| Black eop |
| %%Page: 85 91 |
| 85 90 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Ne)o(wlib_inc)n(lude_\003a)o |
| (gs)i(Pr)n(ocedure)596 337 y Fb(newlib_include_flags)p |
| Ff(\()p Fe(args)p Ff(\);)197 728 y Fa(args)p Black Black |
| 596 1159 a Fm(Libio_inc)n(lude_\003a)o(gs)g(Pr)n(ocedure)596 |
| 1407 y Fb(libio_include_flags)p Ff(\()p Fe(args)p Ff(\);)197 |
| 1798 y Fa(args)p Black Black 596 2229 a Fm(Libio_link_\003a)o(gs)g(Pr)n |
| (ocedure)596 2478 y Fb(libio_link_flags)p Ff(\()p Fe(args)p |
| Ff(\);)197 2868 y Fa(args)p Black Black 596 3300 a Fm(G++_inc)n |
| (lude_\003a)o(gs)h(Pr)n(ocedure)596 3548 y Fb(g++_include_flags)p |
| Ff(\()p Fe(args)p Ff(\);)197 3938 y Fa(args)p Black Black |
| 596 4370 a Fm(G++_link_\003a)o(gs)g(Pr)n(ocedure)596 |
| 4618 y Fb(g++_link_flags)p Ff(\()p Fe(args)p Ff(\);)197 |
| 5008 y Fa(args)p Black Black Black 3601 5585 a Fj(85)p |
| Black eop |
| %%Page: 86 92 |
| 86 91 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(Libstdc++_inc)n(lude_\003a)o |
| (gs)j(Pr)n(ocedure)596 337 y Fb(libstdc++_include_fla)q(gs)q |
| Ff(\()p Fe(args)p Ff(\);)197 728 y Fa(args)p Black Black |
| 596 1159 a Fm(Libstdc++_link_\003a)o(gs)g(Pr)n(ocedure)596 |
| 1407 y Fb(libstdc++_link_flags)p Ff(\()p Fe(args)p Ff(\);)197 |
| 1798 y Fa(args)p Black Black 596 2229 a Fm(Get_m)n(ultilibs)f(Pr)n |
| (ocedure)596 2478 y Fb(get_multilibs)p Ff(\()p Fe(args)p |
| Ff(\);)197 2868 y Fa(args)p Black Black 596 3300 a Fm(Find_bin)o |
| (utils_pr)n(og)f(Pr)n(ocedure)596 3548 y Fb(find_binutils_prog)p |
| Ff(\()p Fe(name)p Ff(\);)197 3938 y Fa(name)p Black Black |
| 596 4370 a Fm(Find_gcc)h(Pr)n(ocedure)596 4618 y Fb(find_gcc)p |
| Ff(\(\);)p Black 197 5585 a Fj(86)p Black eop |
| %%Page: 87 93 |
| 87 92 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 596 89 a Fm(Find_gcj)i(Pr)n(ocedure)596 |
| 337 y Fb(find_gcj)p Ff(\(\);)596 769 y Fm(Find_g++)h(Pr)n(ocedure)596 |
| 1017 y Fb(find_g++)p Ff(\(\);)596 1449 y Fm(Find_g77)f(Pr)n(ocedure)596 |
| 1697 y Fb(find_g77)p Ff(\(\);)596 2129 y Fm(Pr)n(ocess_m)n |
| (ultilib_options)h(Pr)n(ocedure)596 2377 y Fb(process_multilib_opti)q |
| (on)q(s)p Ff(\()p Fe(args)p Ff(\);)197 2767 y Fa(args)p |
| Black Black 596 3199 a Fm(Ad)o(d_m)n(ultilib_option)e(Pr)n(ocedure)596 |
| 3447 y Fb(add_multilib_option)p Ff(\()p Fe(args)p Ff(\);)197 |
| 3838 y Fa(args)p Black Black 596 4269 a Fm(Find_gas)h(Pr)n(ocedure)596 |
| 4517 y Fb(find_gas)p Ff(\(\);)596 4949 y Fm(Find_ld)g(Pr)n(ocedure)596 |
| 5197 y Fb(find_ld)p Ff(\(\);)p Black 3601 5585 a Fj(87)p |
| Black eop |
| %%Page: 88 94 |
| 88 93 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(Build_wrapper)i(Pr)n(ocedure) |
| 596 337 y Fb(build_wrapper)p Ff(\()p Fe(gluefile)p Ff(\);)197 |
| 728 y Fa(gluefile)p Black Black 596 1159 a Fm(Winsup_inc)n(lude_\003a)o |
| (gs)h(Pr)n(ocedure)596 1407 y Fb(winsup_include_flags)p |
| Ff(\()p Fe(args)p Ff(\);)197 1798 y Fa(args)p Black Black |
| 596 2229 a Fm(Winsup_link_\003a)o(gs)g(Pr)n(ocedure)596 |
| 2478 y Fb(winsup_link_flags)p Ff(\()p Fe(args)p Ff(\);)197 |
| 2868 y Fa(args)p Black Black 596 3392 a Fn(Pr)n(ocedures)g(f)n(or)i |
| (deb)n(ug)o(ging)f(y)n(our)g(Tc)n(l)i(code)r(.)596 3529 |
| y Ff(lib/debugger.exp)p Fl(de\002nes)18 b(these)i(utility)i(pr)o |
| (ocedur)o(es:)596 3765 y Fm(Dumpv)n(ar)o(s)h(Pr)n(ocedure)596 |
| 3898 y Fl(This)32 b(takes)g(a)g(csh)h(style)f(r)o(egular)f(expr)o |
| (ession)h(\(glob)h(r)o(ules\))f(and)g(prints)g(the)h(values)f(of)g(the) |
| 596 3989 y(global)21 b(variable)e(names)i(that)g(match.)f(It)h(is)g |
| (abbr)o(eviated)d(as)j Fj(dv)p Fl(.)596 4196 y Fb(dumpvars)p |
| Ff(\()p Fe(vars)p Ff(\);)197 4586 y Fa(vars)p Black Black |
| 762 4719 a Fl(The)f(variables)g(to)h(dump.)596 5018 y |
| Fm(Dumplocals)h(Pr)n(ocedure)596 5151 y Fl(This)d(takes)f(a)g(csh)h |
| (style)g(r)o(egular)f(expr)o(ession)g(\(glob)h(r)o(ules\))f(and)g |
| (prints)i(the)e(values)h(of)f(the)h(local)596 5242 y(variable)g(names)i |
| (that)g(match.)f(It)h(is)g(abbr)o(eviated)d(as)j Fj(dl)p |
| Fl(.)596 5449 y Fb(dumplocals)p Ff(\()p Fe(args)p Ff(\);)p |
| Black 197 5585 a Fj(88)p Black eop |
| %%Page: 89 95 |
| 89 94 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 197 305 a Fa(args)p Black |
| Black 596 737 a Fm(Dumpr)n(ocs)i(Pr)n(ocedure)596 869 |
| y Fl(This)g(takes)f(a)h(csh)g(style)g(r)o(egular)f(expr)o(ession)g |
| (\(glob)h(r)o(ules\))g(and)g(prints)g(the)g(body)g(of)g(all)f(pr)o(ocs) |
| 596 961 y(that)f(match.)h(It)g(is)g(abbr)o(eviated)d(as)i |
| Fj(dp)p Fl(.)596 1168 y Fb(dumprocs)p Ff(\()p Fe(pattern)p |
| Ff(\);)197 1558 y Fa(pattern)p Black Black 762 1691 a |
| Fl(The)g(csh)h("glob")g(style)g(pattern)g(to)g(look)h(for)-6 |
| b(.)596 1989 y Fm(Dumpwatc)o(h)21 b(Pr)n(ocedure)596 |
| 2122 y Fl(This)j(takes)g(a)g(csh)g(style)h(r)o(egular)d(expr)o(ession)i |
| (\(glob)h(r)o(ules\))f(and)f(prints)i(all)f(the)g(watchpoints.)596 |
| 2214 y(It)c(is)h(abbr)o(eviated)e(as)h Fj(dw)p Fl(.)596 |
| 2420 y Fb(dumpwatch)p Ff(\()p Fe(pattern)p Ff(\);)197 |
| 2811 y Fa(pattern)p Black Black 762 2943 a Fl(The)g(csh)h("glob")g |
| (style)g(pattern)g(to)g(look)h(for)-6 b(.)596 3242 y |
| Fm(W)m(atc)o(harra)n(y)24 b(Pr)n(ocedure)596 3490 y Fb(watcharray)p |
| Ff(\()p Fe(element)46 b(type)p Ff(\);)197 3881 y Fa(type)p |
| Black Black 762 4014 a Fl(The)20 b(csh)h("glob")g(style)g(pattern)g(to) |
| g(look)h(for)-6 b(.)596 4312 y Fm(W)m(atc)o(hv)n(ar)23 |
| b(Pr)n(ocedure)596 4561 y Fb(watchvar)p Ff(\()p Fe(var)49 |
| b(type)p Ff(\);)p Black Black Black 3601 5585 a Fj(89)p |
| Black eop |
| %%Page: 90 96 |
| 90 95 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 596 89 a Fm(W)m(atc)o(hunset)i(Pr)n |
| (ocedure)596 222 y Fl(This)29 b(br)o(eaks)e(pr)o(ogram)h(execution)g |
| (when)i(the)e(variable)f(var)h(is)h(unset.)g(It)f(is)h(abbr)o(eviated)d |
| (as)596 313 y Fj(wu)p Fl(.)596 520 y Fb(watchunset)p |
| Ff(\()p Fe(arg)t Ff(\);)197 910 y Fa(args)p Black Black |
| 596 1342 a Fm(W)m(atc)o(hwrite)c(Pr)n(ocedure)596 1475 |
| y Fl(This)h(br)o(eaks)f(pr)o(ogram)h(execution)h(when)f(the)h(variable) |
| e(var)g(is)i(written.)f(It)h(is)f(abbr)o(eviated)e(as)596 |
| 1566 y Fj(ww)p Fl(.)596 1773 y Fb(watchwrite)p Ff(\()p |
| Fe(var)s Ff(\);)197 2163 y Fa(var)p Black Black 762 2296 |
| a Fl(The)f(variable)g(to)h(watch.)596 2595 y Fm(W)m(atc)o(hread)i(Pr)n |
| (ocedure)596 2728 y Fl(This)e(br)o(eaks)e(pr)o(ogram)h(execution)h |
| (when)h(the)f(variable)e(var)h(is)h(r)o(ead.)e(It)i(is)g(abbr)o |
| (eviated)d(as)j Fj(wr)p Fl(.)596 2934 y Fb(watchread)p |
| Ff(\()p Fe(var)s Ff(\);)197 3324 y Fa(var)p Black Black |
| 762 3457 a Fl(The)f(variable)g(to)h(watch.)596 3756 y |
| Fm(W)m(atc)o(hdel)h(Pr)n(ocedure)596 3889 y Fl(This)f(deletes)f(a)g |
| (the)h(watchpoint)h(fr)o(om)e(the)h(watch)g(list.)g(It)g(is)g(abbr)o |
| (eviated)d(as)i Fj(wd)p Fl(.)596 4096 y Fb(watchdel)p |
| Ff(\()p Fe(args)p Ff(\);)197 4486 y Fa(args)p Black Black |
| 596 4918 a Fm(Print)j(Pr)n(ocedure)596 5050 y Fl(This)e(prints)g(the)g |
| (value)f(of)h(the)g(variable)e Fa(var)s Fl(.)h(It)h(is)g(abbr)o |
| (eviated)d(as)j Fj(p)p Fl(.)596 5257 y Fb(print)p Ff(\()p |
| Fe(var)s Ff(\);)p Black 197 5585 a Fj(90)p Black eop |
| %%Page: 91 97 |
| 91 96 bop Black 0 TeXcolorgray Black 2994 -132 a Fj(Chapter)21 |
| b(7.)f(Refer)o(ence)p Black 197 89 a Fa(var)p Black Black |
| 596 521 a Fm(Quit)i(Pr)n(ocedure)596 654 y Fl(This)f(makes)g(r)o |
| (untest)g(exit.)f(It)h(is)g(abbr)o(eviated)d(as)j Fj(q)p |
| Fl(.)596 860 y Fb(quit)p Ff(\(\);)p Black Black 197 1776 |
| a Fi(File)28 b(Map)596 1918 y Fl(This)21 b(is)g(a)f(map)h(of)f(the)h |
| (\002les)g(in)h(DejaGnu.)p Black 596 2134 a Fg(\225)p |
| Black 43 w Fl(r)o(untest)p Black 596 2266 a Fg(\225)p |
| Black 43 w Fl(r)o(untest.exp)p Black 596 2399 a Fg(\225)p |
| Black 43 w Fl(stub-loader)-6 b(.c)p Black 596 2532 a |
| Fg(\225)p Black 43 w Fl(testglue.c)p Black 596 2665 a |
| Fg(\225)p Black 43 w Fl(con\002g)p Black 596 2798 a Fg(\225)p |
| Black 43 w Fl(baseboar)o(ds)p Black 596 2931 a Fg(\225)p |
| Black 43 w Fl(lib/debugger)g(.exp)p Black 596 3063 a |
| Fg(\225)p Black 43 w Fl(lib/dg.exp)p Black 596 3196 a |
| Fg(\225)p Black 43 w Fl(lib/framework.exp)p Black 596 |
| 3329 a Fg(\225)p Black 43 w Fl(lib/ftp.exp)p Black 596 |
| 3462 a Fg(\225)p Black 43 w Fl(lib/kermit.exp)p Black |
| 596 3595 a Fg(\225)p Black 43 w Fl(lib/libgloss.exp)p |
| Black 596 3728 a Fg(\225)p Black 43 w Fl(lib/mondfe.exp)p |
| Black 596 3860 a Fg(\225)p Black 43 w Fl(lib/r)o(emote.exp)p |
| Black 596 3993 a Fg(\225)p Black 43 w Fl(lib/rlogin.exp)p |
| Black 596 4126 a Fg(\225)p Black 43 w Fl(lib/rsh.exp)p |
| Black 596 4259 a Fg(\225)p Black 43 w Fl(lib/standar)o(d.exp)p |
| Black 596 4392 a Fg(\225)p Black 43 w Fl(lib/tar)o(get.exp)p |
| Black 596 4525 a Fg(\225)p Black 43 w Fl(lib/tar)o(getdb.exp)p |
| Black 596 4657 a Fg(\225)p Black 43 w Fl(lib/telnet.exp)p |
| Black 596 4790 a Fg(\225)p Black 43 w Fl(lib/tip.exp)p |
| Black 596 4923 a Fg(\225)p Black 43 w Fl(lib/util-defs.exp)p |
| Black 596 5056 a Fg(\225)p Black 43 w Fl(lib/utils.exp)p |
| Black 596 5189 a Fg(\225)p Black 43 w Fl(lib/xsh.exp)p |
| Black 596 5322 a Fg(\225)p Black 43 w Fl(lib/dejagnu.exp)p |
| Black 3601 5585 a Fj(91)p Black eop |
| %%Page: 92 98 |
| 92 97 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(7.)g(Refer)o(ence)p Black 197 89 a Fo(Notes)p Black |
| 596 236 a Fl(1.)p Black 69 w(http://www)-8 b(.gnu.or)o(g)p |
| Black 596 368 a(2.)p Black 69 w(http://www)g(.gnu.or)o(g/softwar)o |
| (e/dejagnu/)p Black 197 5585 a Fj(92)p Black eop |
| %%Page: 93 99 |
| 93 98 bop Black 0 TeXcolorgray Black Black 197 95 a Fp(Chapter)34 |
| b(8.)f(Unit)h(T)-7 b(esting)34 b(API)197 405 y Fi(C)27 |
| b(Unit)i(T)-6 b(esting)29 b(API)596 547 y Fl(All)19 b(of)g(the)h |
| (functions)g(that)f(take)g(a)g Fa(msg)k Fl(parameter)18 |
| b(use)h(a)g(C)g(char)g(*)h(that)f(is)h(the)f(message)h(to)f(be)596 |
| 638 y(dislayed.)g(Ther)o(e)h(curr)o(ently)g(is)i(no)f(support)g(for)g |
| (variable)e(length)j(ar)o(guments.)596 890 y Fn(P)m(ass)i(Function)596 |
| 1027 y Fl(This)d(prints)g(a)f(message)h(for)f(a)h(successful)g(test)f |
| (completion.)596 1234 y Fb(pass)p Ff(\()p Fe(msg)t Ff(\);)596 |
| 1674 y Fn(F)n(ail)25 b(Function)596 1811 y Fl(This)c(prints)g(a)f |
| (message)h(for)f(an)h(unsuccessful)g(test)g(completion.)596 |
| 2018 y Fb(fail)p Ff(\()p Fe(msg)t Ff(\);)596 2459 y Fn(Untested)k |
| (Function)596 2596 y Fl(This)c(prints)g(a)f(message)h(for)f(an)h(test)g |
| (case)f(that)h(isn't)g(r)o(un)h(for)e(some)h(technical)g(r)o(eason.)596 |
| 2803 y Fb(untested)p Ff(\()p Fe(msg)t Ff(\);)596 3244 |
| y Fn(Unresolved)i(Function)596 3381 y Fl(This)j(prints)h(a)f(message)g |
| (for)g(an)h(test)f(case)g(that)g(is)h(r)o(un,)f(but)h(ther)o(e)e(is)i |
| (no)g(clear)e(r)o(esult.)h(These)596 3472 y(output)21 |
| b(states)f(r)o(equir)o(e)g(a)g(human)h(to)h(look)f(over)g(the)g(r)o |
| (esults)f(to)h(determine)g(what)g(happened.)596 3679 |
| y Fb(unresolved)p Ff(\()p Fe(msg)t Ff(\);)596 4119 y |
| Fn(T)-7 b(otals)25 b(Function)596 4256 y Fl(This)c(prints)g(out)g(the)g |
| (total)g(numbers)g(of)g(all)f(the)h(test)g(state)g(outputs.)596 |
| 4463 y Fb(totals)p Ff(\(\);)197 4997 y Fi(C++)27 b(Unit)h(T)-6 |
| b(esting)29 b(API)596 5139 y Fl(All)21 b(of)g(the)g(methods)h(that)f |
| (take)g(a)f Fa(msg)26 b Fl(parameter)19 b(use)i(a)g(C)g(char)g(*)g(or)g |
| (STL)g(string,)g(that)g(is)h(the)596 5230 y(message)e(to)h(be)f |
| (dislayed.)g(Ther)o(e)g(curr)o(ently)g(is)h(no)g(support)g(for)f |
| (variable)f(length)i(ar)o(guments.)p Black 3601 5655 |
| a Fj(93)p Black eop |
| %%Page: 94 100 |
| 94 99 bop Black 0 TeXcolorgray Black 197 -132 a Fj(Chapter)20 |
| b(8.)g(Unit)h(T)-9 b(esting)20 b(API)p Black 596 89 a |
| Fn(P)m(ass)k(Method)596 226 y Fl(This)d(prints)g(a)f(message)h(for)f(a) |
| h(successful)g(test)f(completion.)596 433 y Fb(TestState::pass)p |
| Ff(\()p Fe(msg)t Ff(\);)596 874 y Fn(F)n(ail)25 b(Method)596 |
| 1011 y Fl(This)c(prints)g(a)f(message)h(for)f(an)h(unsuccessful)g(test) |
| g(completion.)596 1217 y Fb(TestState::fail)p Ff(\()p |
| Fe(msg)t Ff(\);)596 1658 y Fn(Untested)k(Method)596 1795 |
| y Fl(This)c(prints)g(a)f(message)h(for)f(an)h(test)g(case)f(that)h |
| (isn't)g(r)o(un)h(for)e(some)h(technical)g(r)o(eason.)596 |
| 2002 y Fb(TestState::untested)p Ff(\()p Fe(msg)t Ff(\);)596 |
| 2443 y Fn(Unresolved)i(Method)596 2580 y Fl(This)j(prints)h(a)f |
| (message)g(for)g(an)h(test)f(case)g(that)g(is)h(r)o(un,)f(but)h(ther)o |
| (e)e(is)i(no)g(clear)e(r)o(esult.)h(These)596 2671 y(output)21 |
| b(states)f(r)o(equir)o(e)g(a)g(human)h(to)h(look)f(over)g(the)g(r)o |
| (esults)f(to)h(determine)g(what)g(happened.)596 2878 |
| y Fb(TestState::unresolved)q Ff(\()p Fe(msg)t Ff(\);)596 |
| 3319 y Fn(T)-7 b(otals)25 b(Method)596 3456 y Fl(This)c(prints)g(out)g |
| (the)g(total)g(numbers)g(of)g(all)f(the)h(test)g(state)g(outputs.)596 |
| 3662 y Fb(TestState::totals)p Ff(\(\);)p Black 197 5585 |
| a Fj(94)p Black eop |
| %%Trailer |
| end |
| userdict /end-hook known{end-hook}if |
| %%EOF |