blob: 372bcf37ea3b6fe135ccc682d84daf939996a689 [file] [log] [blame]
%!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