1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
Examples
---------------------------
The Examples/dt directory contains a simple example that can be used to test your server and client configurations (localhost). The following commands were issued from Microsoft Windows but except the path syntax and the tcl shell command, Unix users should have no difficulty to understand what is done.
0) Setup your FTP, CVS and Dart server and client
Dart server: rename cgi-bin/Dart.pl (found in Dart/Source/Server/www/cgi-bin) to dart-dt.pl and $dropLocation and $destination depending on your server and directory tree. Example:
$dropLocation = "D:/src/ftp/server/incoming";
$destination = "D:/build/kitware/dt/Testing/HTML/TestingResults/Sites";
1) Prepare the build
Create a build directory, cd into it and run CMake
> cd D:\build\kitware
> mkdir dt
> cd dt
> cmake D:\src\kitware\Dart\Examples\dt
2) Open an Experimental dashboard
Call the DashboardManager.tcl script in the Dart source directory and specify both the current configuration script (DartConfiguration.tcl), the model (Experimental) and the command (DashboardStart). Note that a cvs update will be done against the latest sources (logged in update.tmp).
> tclsh83 d:\src\kitware\Dart\Source\Client\DashboardManager.tcl DartConfiguration.tcl Experimental DashboardStart
Making Testing/HTML/TestingResults/Dashboard/200110121849
Building Update.xml
Completed
3) Launch an Experimental build and submit it
Call the DashboardManager.tcl script in the Dart source directory and specify both the current configuration script (DartConfiguration.tcl), the model (Experimental) and the commands (Start, Build, Test, Submit... self-explanatory). Note that a cvs update is not done.
> tclsh83 d:\src\kitware\Dart\Source\Client\DashboardManager.tcl DartConfiguration.tcl Experimental Start Build Test Submit
Starting Experimental Build 200110121850
Build Experimental
Starting Build
Building
Build finished with status: 0
Starting XML generation
Parsing Build Log
0 Compiler Errors
0 Compiler Warnings
Writing XML
Finished Build
Test Experimental
Finding Tests
Found 1 tests
Running Tests
Testing completed
0 Tests Not Run -- 0.00%
0 Tests Failed -- 0.00%
1 Tests Passed -- 100.00%
Submit Experimental
FTP set to passive mode
Beginning Submission
Put Build.xml
If your computer is behind a firewall, make sure that you have set
the environment variables HTTP_PROXY and HTTP_PROXY_PORT.
Triggered <p>wonderland/WinNT-VC++60/200110121850/XML/Build.xml submissi
on successful.</p>
Put Test.xml
If your computer is behind a firewall, make sure that you have set
the environment variables HTTP_PROXY and HTTP_PROXY_PORT.
Triggered <p>wonderland/WinNT-VC++60/200110121850/XML/Test.xml submissio
n successful.</p>
4) Close the Experimental dashboard
Call the DashboardManager.tcl script in the Dart source directory and specify both the current configuration script (DartConfiguration.tcl), the model (Experimental) and the command (DashboardEnd). The web pages are created (all icons are copied if not found), in that case it was Testing/HTML/TestingResults/Dashboard/200110121849/Dashboard.html.
> tclsh83 d:\src\kitware\Dart\Source\Client\DashboardManager.tcl DartConfiguration.tcl Experimental DashboardEnd
Dashboard 200110121849
Building Update.html 1
NightlyBuild Testing/HTML/TestingResults/Sites/wonderland/WinNT-VC++60/200110121850
Building Build.html 1
Building Test.html 1
Dashboard 200110121849 -- Started Fri Oct 12 14:52:15 Eastern Daylight Time 2001
Building Dashboard.html 1
Building TestOverview.html 1
D:/build/kitware/dt/Testing/HTML/TestingResults/Dashboard
Dashboard 200110121849 -- Finished Fri Oct 12 14:52:19 Eastern Daylight Time 2001
At that point you can modify your sources, then go back to 3). You do not need to reopen the Dashboard.
Build a nightly dashboard in the same manner by replacing the Experimental model by the Nightly model. You can add as many Experimental build during the day (the DashboardEnd command on either model will create the page showing both the nightly and experimental builds).
IMPORTANT: in step 2) note that a cvs update will be done against the previous day's 23:00 repository snapshot ! If changes have been made in the meantime, they will be lost.
Basically you will set-up a cron-job to open a nightly dashboard every morning, and rollup that dashboard every hour to take the experimental builds into account (see READMe.INSTALL).
|