1. Abstract
2. Overview
2.1. What is DejaGnu ?
2.2. New In This Release
2.2.1. Windows Support
2.3. Design Goals
2.4. A POSIX conforming test framework
3. Getting DejaGnu up and running
3.1. Test your installation
3.1.1. Windows
3.1.2. Getting the source code for the calc example
3.2. Create a minimal project, e.g. calc
3.2.1. A simple project without the GNU autotools
3.2.2. Using autoconf/autoheader/automake
3.3. Our first automated tests
3.3.1. Running the test for the calc example
3.3.2. The various config files or how to avoid warnings
3.3.3. When trouble strikes
3.3.4. Testing "Hello world" locally
3.4. A first remote test
3.4.1. Setup telnet to your own host
3.4.2. A test case for login via telnet
3.4.3. Remote testing "Hello world"
3.4.4. Transferring files from/to the target
3.4.5. Preparing for crosscompilation
3.4.6. Remote testing of calc
3.4.7. Using Windows as host and vxWorks as target
4. Running Tests
4.1. Make check
4.2. Runtest
4.2.1. Output States
4.2.2. Invoking Runtest
4.2.3. Common Options
4.3. The files DejaGnu produces.
4.3.1. Summary File
4.3.2. Log File
4.3.3. Debug Log File
5. Customizing DejaGnu
5.1. Local Config File
5.2. Global Config File
5.3. Board Config File
5.4. Remote Host Testing
5.5. Config File Values
5.5.1. Command Line Option Variables
5.5.2. Personal Config File
6. Extending DejaGnu
6.1. Adding A New Testsuite
6.2. Adding A New Tool
6.3. Adding A New Target
6.4. Adding A New Board
6.5. Board Config File Values
6.6. Writing A Test Case
6.7. Debugging A Test Case
6.8. Adding A Test Case To A Testsuite.
6.9. Hints On Writing A Test Case
6.10. Special variables used by test cases.
7. Unit Testing
7.1. What Is Unit Testing ?
7.2. The dejagnu.h Header File
8. Reference
8.1. Obtaining DejaGnu
8.2. Installation
8.2.1. Configuring DejaGnu
8.2.2. Installing DejaGnu
8.3. Builtin Procedures
8.3.1. Core Internal Procedures
8.3.1.1. Mailfile Procedure
8.3.1.2. Openlogs Procedure
8.3.1.3. Closelogs Procedure
8.3.1.4. Isbuild Procedure
8.3.1.5. Isremote Procedure
8.3.1.6. is3way Procedure
8.3.1.7. Ishost Procedure
8.3.1.8. Istarget Procedure
8.3.1.9. Isnative Procedure
8.3.1.10. Unknown Procedure
8.3.1.11. Cloneoutput Procedure
8.3.1.12. Resetvars Procedure
8.3.1.13. Logandexit Procedure
8.3.1.14. Logsummary Procedure
8.3.1.15. Cleanup Procedure
8.3.1.16. Setupxfail Procedure
8.3.1.17. Recordtest Procedure
8.3.1.18. Pass Procedure
8.3.1.19. Fail Procedure
8.3.1.20. Xpass Procedure
8.3.1.21. Xfail Procedure
8.3.1.22. Setwarningthreshold Procedure
8.3.1.23. Getwarningthreshold Procedure
8.3.1.24. Warning Procedure
8.3.1.25. Perror Procedure
8.3.1.26. Note Procedure
8.3.1.27. Untested Procedure
8.3.1.28. Unresolved Procedure
8.3.1.29. Unsupported Procedure
8.3.1.30. Inittestcounts Procedure
8.3.1.31. Incrcount Procedure
8.3.1.32. transform Procedure
8.3.1.33. Checkconditionalxfail Procedure
8.3.1.34. Clearxfail Procedure
8.3.1.35. Verbose Procedure
8.3.1.36. Loadlib Procedure
8.3.2. Procedures For Remote Communication
8.3.2.1. Callremote Procedure
8.3.2.2. Checkforboardstatus Procedure
8.3.2.3. Fileonbuild Procedure
8.3.2.4. Fileonhost Procedure
8.3.2.5. Localexec Procedure
8.3.2.6. Remotebinary Procedure
8.3.2.7. Remoteclose Procedure
8.3.2.8. Remotedownload Procedure
8.3.2.9. Remoteexec Procedure
8.3.2.10. Remoteexpect Procedure
8.3.2.11. Remotefile Procedure
8.3.2.12. Remoteld Procedure
8.3.2.13. Remoteload Procedure
8.3.2.14. Remoteopen Procedure
8.3.2.15. Remotepopconn Procedure
8.3.2.16. Remotepushconn Procedure
8.3.2.17. Remoterawbinary Procedure
8.3.2.18. Remoterawclose Procedure
8.3.2.19. Remoterawfile Procedure
8.3.2.20. remoterawld Procedure
8.3.2.21. Remoterawload Procedure
8.3.2.22. Remoterawopen Procedure
8.3.2.23. Remoterawsend Procedure
8.3.2.24. Remoterawspawn Procedure
8.3.2.25. Remoterawtransmit Procedure
8.3.2.26. Remoterawwait Procedure
8.3.2.27. Remotereboot Procedure
8.3.2.28. Remotesend Procedure
8.3.2.29. Remotespawn Procedure
8.3.2.30. Remoteswapconn Procedure
8.3.2.31. Remotetransmit Procedure
8.3.2.32. Remoteupload Procedure
8.3.2.33. Remotewait Procedure
8.3.2.34. Standardclose Procedure
8.3.2.35. Standarddownload Procedure
8.3.2.36. Standardexec Procedure
8.3.2.37. Standardfile Procedure
8.3.2.38. Standardload Procedure
8.3.2.39. Standardreboot Procedure
8.3.2.40. Standardsend Procedure
8.3.2.41. Standardspawn Procedure
8.3.2.42. Standardtransmit Procedure
8.3.2.43. Standardupload Procedure
8.3.2.44. Standardwait Procedure
8.3.2.45. Unixcleanfilename Procedure
8.3.3. Procedures For Using Utilities to Connect
8.3.3.1. telnet Procedure
8.3.3.2. rsh Procedure
8.3.3.3. Tip Procedure
8.3.3.4. Kermit Procedure
8.3.3.5. kermitopen Procedure
8.3.3.6. Kermitcommand Procedure
8.3.3.7. Kermitsend Procedure
8.3.3.8. Kermittransmit Procedure
8.3.3.9. Telnetopen Procedure
8.3.3.10. Telnetbinary Procedure
8.3.3.11. Telnettransmit Procedure
8.3.3.12. Tipopen Procedure
8.3.3.13. Rloginopen Procedure
8.3.3.14. Rloginspawn Procedure
8.3.3.15. Rshopen Procedure
8.3.3.16. Rshdownload Procedure
8.3.3.17. Rshupload Procedure
8.3.3.18. Rshexec Procedure
8.3.3.19. Ftpopen Procedure
8.3.3.20. Ftpupload Procedure
8.3.3.21. Ftpdownload Procedure
8.3.3.22. Ftpclose Procedure
8.3.3.23. Tipdownload Procedure
8.3.4. Procedures For Target Boards
8.3.4.1. Defaultlink Procedure
8.3.4.2. Defaulttargetassemble Procedure
8.3.4.3. defaulttargetcompile Procedure
8.3.4.4. Popconfig Procedure
8.3.4.5. Prunewarnings Procedure
8.3.4.6. Pushbuild Procedure
8.3.4.7. pushconfig Procedure
8.3.4.8. Reboottarget Procedure
8.3.4.9. Targetassemble Procedure
8.3.4.10. Targetcompile Procedure
8.3.5. Target Database Procedures
8.3.5.1. Boardinfo Procedure
8.3.5.2. Hostinfo Procedure
8.3.5.3. Setboardinfo Procedure
8.3.5.4. Setcurrtargetinfo Procedure
8.3.5.5. Targetinfo Procedure
8.3.5.6. Unsetboardinfo Procedure
8.3.5.7. Unsetcurrtargetinfo Procedure
8.3.5.8. Pushtarget Procedure
8.3.5.9. Poptarget Procedure
8.3.5.10. Listtargets Procedure
8.3.5.11. Pushhost Procedure
8.3.5.12. Pophost Procedure
8.3.5.13. Compile Procedure
8.3.5.14. Archive Procedure
8.3.5.15. Ranlib Procedure
8.3.5.16. Executeanywhere Procedure
8.3.6. Platform Dependent Procedures
8.3.6.1. tool_start Procedure
8.3.6.2. tool_load Procedure
8.3.6.3. tool_exit Procedure
8.3.6.4. tool_version Procedure
8.3.7. Utility Procedures
8.3.7.1. Getdirs Procedure
8.3.7.2. Find Procedure
8.3.7.3. Which Procedure
8.3.7.4. Grep Procedure
8.3.7.5. Prune Procedure
8.3.7.6. Slay Procedure
8.3.7.7. Absolute Procedure
8.3.7.8. Psource Procedure
8.3.7.9. Runtestfilep Procedure
8.3.7.10. Diff Procedure
8.3.7.11. Setenv Procedure
8.3.7.12. unsetenv Procedure
8.3.7.13. Getenv Procedure
8.3.7.14. Prunesystemcrud Procedure
8.3.8. Libgloss, A Free BSP
8.3.8.1. Libglosslinkflags Procedure
8.3.8.2. Libglossincludeflags Procedure
8.3.8.3. Newliblinkflags Procedure
8.3.8.4. Newlibincludeflags Procedure
8.3.8.5. Libioincludeflags Procedure
8.3.8.6. Libiolinkflags Procedure
8.3.8.7. G++includeflags Procedure
8.3.8.8. G++linkflags Procedure
8.3.8.9. Libstdc++includeflags Procedure
8.3.8.10. Libstdc++linkflags Procedure
8.3.8.11. Getmultilibs Procedure
8.3.8.12. Findbinutilsprog Procedure
8.3.8.13. Findgcc Procedure
8.3.8.14. Findgcj Procedure
8.3.8.15. Findg++ Procedure
8.3.8.16. Findg77 Procedure
8.3.8.17. Processmultiliboptions Procedure
8.3.8.18. Addmultiliboption Procedure
8.3.8.19. Findgas Procedure
8.3.8.20. Findld Procedure
8.3.8.21. Buildwrapper Procedure
8.3.8.22. Winsupincludeflags Procedure
8.3.8.23. Winsuplinkflags Procedure
8.3.9. Procedures for debugging your Tcl code.
8.3.9.1. Dumpvars Procedure
8.3.9.2. Dumplocals Procedure
8.3.9.3. Dumprocs Procedure
8.3.9.4. Dumpwatch Procedure
8.3.9.5. Watcharray Procedure
8.3.9.6. Watchvar Procedure
8.3.9.7. Watchunset Procedure
8.3.9.8. Watchwrite Procedure
8.3.9.9. Watchread Procedure
8.3.9.10. Watchdel Procedure
8.3.9.11. Print Procedure
8.3.9.12. Quit Procedure
8.4. File Map
9. Unit Testing API
9.1. C Unit Testing API
9.1.1. Pass Function
9.1.2. Fail Function
9.1.3. Untested Function
9.1.4. Unresolved Function
9.1.5. Totals Function
9.2. C++ Unit Testing API
9.2.1. Pass Method
9.2.2. Fail Method
9.2.3. Untested Method
9.2.4. Unresolved Method
9.2.5. Totals Method